For Programmers: Free Programming Magazines  


Home > Archive > Clipper > November 2006 > Blinker error 1183









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Blinker error 1183
crockett.gary@azdeq.gov

2006-03-29, 6:55 pm

Hello all,

I'm a long-time Clipper programmer. I have a large (to me) application
- over 563,000 lines of code in over 800 .prg files.

I added a "bit of code" the other day. It works fine in my "test"
environment, where I compile, link and run each group of .prg files
individually. But when I move it into my "production" environment,
where ALL the programs are re-compiled and linked, I get the following
error:

BLINKER : 1183 : too many entries in symbol names table

The Norton Guide (thanks Dave Pearson!) for my Blinker v.6 says:

Errors 1180-87 indicate a Blinker internal size limit has been exceeded
for the specified table. If you receive one of these messages, first
upgrade your version of Blinker to the most current for the largest
internal table size. If upgrading does not remedy the problem, please
contact Blinker technical support with your serial number and exact
details of the circumstances causing the error.

I'm leary about paying $175 to upgrade to Blinker 7.0, without a
guarantee of solving the problem. I've spent a couple of days, trying
to "consolidate" my variable names in the offending program - i.e.
eliminating uncommon variable names, and standardizing on fewer more
common ones. So far, no success.

Q. 1) I am presuming that "symbol names" means LOCAL and STATIC
variable names. Is that correct? Or, is it counting PRIVATE and
PUBLIC variables, too? (I don't have very many of those, thank
goodness!)

Q. 2) Can I find out how many "too many" is? i.e. how far over the
limit am I? If so, how?

Q. 3) Is there a Blinker compile switch that will make the table
larger?

Thanks for any and all help and suggestions. It's been a while since
I've visited ya'll here. It's good to be back.

Gary

AUGE_OHR

2006-03-29, 6:55 pm

hi,

what OS, what version of Cl*pper ?
show us your *.RMK / *.LNK file for more information please

greetings by OHR
Jimmy


crockett.gary@azdeq.gov

2006-03-30, 6:55 pm


AUGE_OHR wrote:
> hi,
>
> what OS, what version of Cl*pper ?
> show us your *.RMK / *.LNK file for more information please
>
> greetings by OHR
> Jimmy


Jimmy,

Thanks for helping. I'm running Win XP Professional, Service Pack 2,
on a Dell Optiplex SX260 with 2 GB RAM.

I'm running Clipper 5.2e. I'm linking with Phil Barnett's PBMake.
Here's the .MAK file...

// The target you are creating
TARGET=RMS.EXE

// Causes the target to relink if older than the lib
files
// (Files will be verified)
LIB=\DEV\LIBS50\ADEQ.LIB

// The linker script for the TARGET
LINKFILE=RMS.LNK

// The linker you are using
LINKER=BLINKER

// This calls your editor when an error occurs
// ONERROR= <compiler> <editor> <lineswitch>
ONERROR=CLIPPER b
// leaving <lineswitch> blank - will only work this way

// The include files you depend on
INCLUDE=\dev\nlc\source\bindery.ch
INCLUDE=\dev\clipper5\include\box.ch
INCLUDE=\dev\clipper5\include\common.ch
INCLUDE=\dev\clipper5\include\custom.ch
INCLUDE=\dev\clipper5\include\inkey.ch
INCLUDE=\dev\clipper5\include\setcurs.ch
INCLUDE=\dev\six3\include\sixnsx.ch

// Where the object code will go
OBJDIR=

// Where the source code resides
SRCDIR=

================== Section 1 ====================

// The compiler flags for this section
FLAG1= /dPROD /ES2 /L /M /N /Q /W

// The source files to compile (no extensions)
// Multiple sources per PROG1= line is OK
PROG1= RMS RMS01 RMS02 RMS03 RMS04
PROG1= RMS05 RMS06 RMS07 RMS08 RMS09
PROG1= RMS10 RMS11 RMS12 RMS13 RMS14
PROG1= RMS15 RMS16 RMS17 RMS18 RMS19
PROG1= RMS20 RMS22 RMS23 RMS24
PROG1= RMS25 RMS26 RMS27 RMS28 RMS29
PROG1= RMS30 RMS31 RMS32 RMS33 RMS34
PROG1= RMS35 RMS36 RMS37 RMS38

....and here's my .LNK file...

BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE ALIGNMENT 128

OUTPUT rms53

BLINKER EXECUTABLE CLIPPER X20;F59
BLINKER EXECUTABLE SERIAL REINDEERFLOTILLA
BLINKER EXECUTABLE EXTENDED
BLINKER PROCEDURE DEPTH 70

BEGINAREA
FILE rms
FILE rms01
FILE rms02
FILE rms03
FILE rms04
FILE rms05
FILE rms06
FILE rms07
FILE rms08
FILE rms09
FILE rms10
FILE rms11
FILE rms12
FILE rms13
FILE rms14
FILE rms15
FILE rms16
FILE rms17
FILE rms18
FILE rms19
FILE rms20
FILE rms22
FILE rms23
FILE rms24
FILE rms25
FILE rms26
FILE rms27
FILE rms28
FILE rms29
FILE rms30
FILE rms31
FILE rms32
FILE rms33
FILE rms34
FILE rms35
FILE rms36
FILE rms37
FILE rms38

FILE air\ar100
FILE air\ar200
FILE air\ar300
FILE air\ar500
FILE air\ar600
FILE air\ar700
FILE air\ar900
FILE air\arxxx

FILE app\ap100
FILE app\ap200
FILE app\ap300
FILE app\ap600
FILE app\ap700
FILE app\ap900

FILE cd\cd100.obj
FILE cd\cd200.obj
FILE cd\cd300.obj
FILE cd\cd600.obj
FILE cd\cd700.obj
FILE cd\cd900.obj

FILE cr\cr100.obj
FILE cr\cr200.obj
FILE cr\cr300.obj
FILE cr\cr400.obj
FILE cr\cr500.obj
FILE cr\cr900.obj

FILE dp\dp100
FILE dp\dp600
FILE dp\dp900

FILE hw\hw100
FILE hw\hw200
FILE hw\hw300
FILE hw\hw400
FILE hw\hw500
FILE hw\hw600
FILE hw\hw700
FILE hw\hw900

FILE ib\ib100
FILE ib\ib200
FILE ib\ib300
FILE ib\ib600
FILE ib\ib700
FILE ib\ib900

FILE id\id100
FILE id\id200
FILE id\id300
FILE id\id600
FILE id\id700
FILE id\id900

FILE lf\lf100
FILE lf\lf200
FILE lf\lf300
FILE lf\lf400
FILE lf\lf500
FILE lf\lf600
FILE lf\lf700
FILE lf\lf900

FILE na\na100
FILE na\na200
FILE na\na210
FILE na\na300
FILE na\na400
FILE na\na500
FILE na\na600
FILE na\na700
FILE na\na900

FILE oc\oc100
FILE oc\oc200
FILE oc\oc300
FILE oc\oc400
FILE oc\oc500
FILE oc\oc600
FILE oc\oc700
FILE oc\oc800
FILE oc\oc900

FILE sd\sd100
FILE sd\sd200
FILE sd\sd600
FILE sd\sd700
FILE sd\sd900

FILE sw\sw100
FILE sw\sw200
FILE sw\sw500
FILE sw\sw600
FILE sw\sw700
FILE sw\sw900

FILE uo\uo100.obj
FILE uo\uo200.obj
FILE uo\uo500.obj
FILE uo\uo600.obj
FILE uo\uo700.obj
FILE uo\uo900.obj

FILE vr\vr100
FILE vr\vr200
FILE vr\vr220
FILE vr\vr300
FILE vr\vr600
FILE vr\vr700
FILE vr\vr900

FILE ust\us100
FILE ust\us200
FILE ust\us300
FILE ust\us400
FILE ust\us600
FILE ust\us700
FILE ust\us900

FILE wm\wm100
FILE wm\wm200
FILE wm\wm300
FILE wm\wm600
FILE wm\wm700
FILE wm\wm900

LIB d:\dev\libs50\adeq.lib # ADEQ's Clipper library

#
# The following are here for ALLKEY() substitutions
#
FILE d:\dev\clipper5\source\sys\getsys.obj # GetSys modifications
FILE d:\dev\multi102\menuto.obj # MENU TO substitution
FILE d:\dev\multi102\achoice.obj # ACHOICE() substitution

LIB d:\dev\esc40\clipper\esc40a.lib # Escape! version 4.0 library
LIB d:\dev\oslib\lib\oslib.lib # OSLib library
LIB d:\dev\nanforum\nanfor.lib # Nantucket Forum's library
FILE d:\dev\six3\obj\sixnsx.obj # SuccessWare RDD drvr (make
NSX dflt)
@d:\dev\novlib33\lib\novlibcl.lnk # Blinker's NOVLIB Novell
library

FILE d:\dev\libs50\getcomst.obj # Functions provided by Dirk
Lesko
FILE d:\dev\libs50\_getcoms.obj # President of FUNCky, Inc.

ENDAREA

BEGINAREA

ALLOCATE D:\DEV\SIX3\LIB\SIX3.LIB

ENDAREA

MODULE swdbf1
MODULE cdxcore
MODULE nsxcore
MODULE nsxasm1
MODULE ntx1
MODULE swutil3

LIB d:\dev\funcky\lib\FUNCky52
LIB d:\dev\funcky\lib\FUNCkyvm # FUNCky's Libraries
LIB d:\dev\funcky\lib\FUNCky2x

FILE d:\dev\nlc\XVM.obj

FILE d:\dev\nlc\ASUPP386.obj

FILE d:\dev\nlc\c52\CHECK52S.obj

SEARCH d:\dev\nlc\exo\NL1B.lib

LIB d:\dev\nlc\NETLIB4.lib

LIB d:\dev\nlc\c52\NL152.lib
LIB d:\dev\nlc\c52\NLEXT52.lib
LIB d:\dev\nlc\c52\HORIZ52.lib

SEARCH d:\dev\blinker6\lib\BLXCLP52.LIB # Blinker's Protected Mode Lib
for Clipper 5.2

LIB Clipper
LIB Extend # default order per David Lyons CA Tech support
LIB Terminal

LIB d:\dev\abee\pscript2\lib\clip52\c52.lib # Abee Lab's PageScript

LIB d:\dev\medcl\lib\medntx52 # Mediator library files
LIB d:\dev\medcl\lib\medsql52
LIB d:\dev\medcl\lib\medqb

FILE d:\dev\medcl\lib\noautlog.obj # Stops auto-login to Mediator

Again, thanks for any help you can offer.

Gary

Dave P

2006-03-30, 6:55 pm

looks what u have is a main.prg
when u compile this.....
it also compiles lots of other prgs

Break ur app down too Smaller Pieces
for instance common code into 1 or 2 prgs
Add/Edit stuff 1 or 2 prgs

then Relink

Most of your prg's shoulbe Compiled /m/n

Get Rid of all the publics you can
Make all the privates too local

example:
clipper prg1 /m/n

or editobj.bat //like a clip file
in editobj.bat
prg1,prg2,prg3 ...would make editobj.obj

you just have too break it down into Smaller Chunks

Dave P



<crockett.gary@azdeq.gov> wrote in message
news:1143655017.207811.98640@z34g2000cwc.googlegroups.com...
> Hello all,
>
> I'm a long-time Clipper programmer. I have a large (to me) application
> - over 563,000 lines of code in over 800 .prg files.
>
> I added a "bit of code" the other day. It works fine in my "test"
> environment, where I compile, link and run each group of .prg files
> individually. But when I move it into my "production" environment,
> where ALL the programs are re-compiled and linked, I get the following
> error:
>
> BLINKER : 1183 : too many entries in symbol names table
>
> The Norton Guide (thanks Dave Pearson!) for my Blinker v.6 says:
>
> Errors 1180-87 indicate a Blinker internal size limit has been exceeded
> for the specified table. If you receive one of these messages, first
> upgrade your version of Blinker to the most current for the largest
> internal table size. If upgrading does not remedy the problem, please
> contact Blinker technical support with your serial number and exact
> details of the circumstances causing the error.
>
> I'm leary about paying $175 to upgrade to Blinker 7.0, without a
> guarantee of solving the problem. I've spent a couple of days, trying
> to "consolidate" my variable names in the offending program - i.e.
> eliminating uncommon variable names, and standardizing on fewer more
> common ones. So far, no success.
>
> Q. 1) I am presuming that "symbol names" means LOCAL and STATIC
> variable names. Is that correct? Or, is it counting PRIVATE and
> PUBLIC variables, too? (I don't have very many of those, thank
> goodness!)
>
> Q. 2) Can I find out how many "too many" is? i.e. how far over the
> limit am I? If so, how?
>
> Q. 3) Is there a Blinker compile switch that will make the table
> larger?
>
> Thanks for any and all help and suggestions. It's been a while since
> I've visited ya'll here. It's good to be back.
>
> Gary
>



crockett.gary@azdeq.gov

2006-03-30, 6:55 pm

Dave P,

Thanks for responding. But, back to my original 3 questions...

Q. 1) I am presuming that "symbol names" means LOCAL and STATIC
variable names. Is that correct? Or, is it counting PRIVATE and
PUBLIC variables, too? (I don't have very many of those, thank
goodness!)

Q. 2) Can I find out how many "too many" is? i.e. how far over the
limit am I? If so, how?

Q. 3) Is there a Blinker compile switch that will make the table
larger?

Can you answer any of these? I have *very* few PRIVATE or PUBLIC
variables. I don't think that's the problem. Concerning the "program
in question", it has no PRIVATE or PUBLIC variables. So, in this case,
I didn't add to the count. I have numerous STATIC variables. Should I
cut down on those? If so, how many? How far over the limit am I?

Thanks for any help you can give.

Gary

Dave P

2006-03-31, 9:55 pm

the exe has a symbol table....
can be function names, variables public, local static

check out blinker alignment...... also there is a sample link bellow... i
use blinker 7

you can send me ur code and rmk, clp, prg, includes, etc
I helped another person with a app with like over 1,000.prgs
I had too build all new Clp Files....I personally dont use rmk, or clp
files....

you have too break it up into parts
dave
#....... MULTI PURPOS LINK FILE
#...... FOR OVERLAYING AND PROTECTED MODE
BLINKER INCREMENTAL OFF
#BLINKER OVERLAY OPSIZE 64
BLINKER PROCEDURE DEPTH 50
#BLINKER OVERLAY FIXED
#BLINKER OVERLAY UMB ON
#BLINKER OVERLAY PAGEFRAME ON
BLINKER EXECUTABLE CLIPPER F161;R0;E2048
# BLINKER CACHE XMS 50%,1024
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE SERIAL 3.1
#BLINKER MESSAGE DUPLICATES
#BLINKER DEMONSTRATION MINUTES 30
#........protected Mode Stuff

BLINKER EXECUTABLE EXTENDED
blinker executable compress 1
#BLINKER EXTMEM BLOCK 1024

# highly recommended with BL3.3 (not avail in BL3.2)
blinker host passup off

#DUAL....BLINKER LIBS
SEARCH BLXRATEX
SEARCH BLXCLP52

#.....Client Server Protected Mode
#SEARCH AXSBCOMM // BLINKER EXTENDED
#.....When Overlaying
#SEARCH AXSCOMM // WHEN OVERLAYING
#SEARCH DBFAXS
#CLIENT SERVER RDD
#FI DBFNTXAX
@null
stack 8192
#map s,a
mod achoice from null
# exe file name OUTPUT mngr

# main startup file FI MAIN
#telepaty FI TP_IDLE
FI CM52
# all items i did'nt ever want linked i place in file called ->@NULL

#SEARCH TPROOT52
#below is for telepaty
#SEARCH TPBLX52
#defbegin
#segment TPUDATA class 'FAR_DATA' fixed
#segment TPUDATA_CONST class 'FAR_DATA' fixed
#segment TPUDATA_BSS class 'FAR_DATA' fixed
#defend
#below forces dbfntx not too be linke
MOD DBFNTX FROM NUL
BEGINAREA
# fi mcareca
# outsys files
ALLOCATE DVS,EXTEND,CM52,CMX52

#telepaty search tpovl52
ENDAREA
SEARCH CLIPPER
LIB TERMINAL




<crockett.gary@azdeq.gov> wrote in message
news:1143739614.762335.113900@t31g2000cwb.googlegroups.com...
> Dave P,
>
> Thanks for responding. But, back to my original 3 questions...
>
> Q. 1) I am presuming that "symbol names" means LOCAL and STATIC
> variable names. Is that correct? Or, is it counting PRIVATE and
> PUBLIC variables, too? (I don't have very many of those, thank
> goodness!)
>
> Q. 2) Can I find out how many "too many" is? i.e. how far over the
> limit am I? If so, how?
>
> Q. 3) Is there a Blinker compile switch that will make the table
> larger?
>
> Can you answer any of these? I have *very* few PRIVATE or PUBLIC
> variables. I don't think that's the problem. Concerning the "program
> in question", it has no PRIVATE or PUBLIC variables. So, in this case,
> I didn't add to the count. I have numerous STATIC variables. Should I
> cut down on those? If so, how many? How far over the limit am I?
>
> Thanks for any help you can give.
>
> Gary
>



Marcos Augusto

2006-11-09, 1:07 pm

Gary,

I solved this problem breaking the linking process in two steps:
1) First I create a Blinker DLL (DOS DLL)
2) Then I create an EXE that use that DLL

Linking process (and LNKs) become more complicated, but really solved my problem. My app became 20% bigger and the problem was gone.

Marcos

quote:
Originally posted by crockett.gary@azdeq.gov
Hello all,

I'm a long-time Clipper programmer. I have a large (to me) application
- over 563,000 lines of code in over 800 .prg files.

.....

BLINKER : 1183 : too many entries in symbol names table

.....


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com