Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BLT installation failure

146 views
Skip to first unread message

maura.m...@gmail.com

unread,
Sep 13, 2006, 2:20:53 AM9/13/06
to
Our Linux Tcl/Tk installation script has been customized by the
following declarations:

INSTALLDIR=/home/mokhov/restricted/mars15

elif [ $OSTYPE = Linux ]; then
XINC=/usr/include
XLIB=/usr/X11R6/lib
INSTALLDIR=$INSTALLDIR/linux

Therefore our Tcl/Tk installation produces the following directories:

mauede@linux:/home/mokhov/restricted/mars15/linux> ll
total 2592
drwxr-xr-x 2 mauede users 96 2006-04-26 14:14 bin
drwxr-xr-x 3 mauede root 928 2006-05-15 16:15 include
drwxr-xr-x 4 mauede root 720 2006-05-15 16:18 lib
drwxr-xr-x 5 mauede users 120 2006-04-21 11:51 man

I downloaded blt2.4z source files and tried to install it according to
the guidelines written in the INSTALL text file. I made 3 attempts:
./configure --prefix=/home/mokhov/restricted/mars15/linux

./configure --prefix= /home/mokhov/restricted/mars15/linux
--with-tcl=/home/mokhov/restricted/mars15/linux/lib

./configure --prefix=/home/mokhov/restricted/mars15/linux
--with-tcl=/home/mokhov/restricted/mars15/linux/lib
--with-tk=/home/mokhov/restricted/mars15/linux/lib

In all cases the ./configure script generates no error but the
following "make" phase aborts
printing out the following error that I suspect may depend upon my
laptop architecture being 64-bit ... maybe some flag to instruct l
make (gcc) to generate 32-bit code is necessary ???

Many thanks,
maura

**********************************************************************************************************

mauede@linux:/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z> make
(cd src; make all)
make[1]: Entering directory
`/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z/src'
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltAlloc.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltArrayObj.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltBgexec.c
bltBgexec.c: In function `DestroyBackgroundInfo':
bltBgexec.c:1474: warning: cast to pointer from integer of different
size
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltChain.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltDebug.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltHash.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltList.c
bltList.c: In function `Blt_ListCreateNode':
bltList.c:172: warning: overflow in implicit constant conversion
bltList.c: In function `Blt_ListGetNode':
bltList.c:409: warning: overflow in implicit constant conversion
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltNsUtil.c
bltNsUtil.c: In function `Blt_CreateNsDeleteNotify':
bltNsUtil.c:547: warning: overflow in implicit constant conversion
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltParse.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltPool.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltSpline.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltSwitch.c
gcc -c -Wall -O6 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inc
lude bltTree.c
bltTree.c: In function `FreeNode':
bltTree.c:406: warning: cast to pointer from integer of different size
bltTree.c: In function `Blt_TreeCreateNode':
bltTree.c:839: warning: cast to pointer from integer of different size
bltTree.c: In function `Blt_TreeCreateNodeWithId':
bltTree.c:894: warning: cast to pointer from integer of different size
bltTree.c: In function `Blt_TreeGetNode':
bltTree.c:1000: warning: cast to pointer from integer of different size
bltTree.c: In function `ConvertValues':
bltTree.c:2690: error: `START_LOGSIZE' undeclared (first use in this
function)
bltTree.c:2690: error: (Each undeclared identifier is reported only
once
bltTree.c:2690: error: for each function it appears in.)
bltTree.c: In function `TreeCreateValue':
bltTree.c:2989: error: `MAX_LIST_VALUES' undeclared (first use in this
function)
make[1]: *** [bltTree.o] Error 1
make[1]: Leaving directory
`/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z/src'
make: *** [all] Error 2

Torsten Reincke

unread,
Sep 13, 2006, 7:59:09 AM9/13/06
to

maura.m...@gmail.com schrieb:

> In all cases the ./configure script generates no error

ok, so we can assume that the configure script found the correct
tclConfig.sh, tkConfig.sh, tcl.h, and tk.h files, not mixing versions
and such?

On my linux box here (SuSE 9.0, 32 bit) config reports:

Configuration results:

tcl.h found in /home/berg/tcl/distrib/tcl8.4.12/generic/
tk.h found in /home/berg/tcl/distrib/tk8.4.12/generic/
X11/Xlib.h found in /usr/X11R6/include
libtcl8.4 found in /usr/local/lib
libtk8.4 found in /usr/local/lib
libX11 found in /usr/X11R6/lib

I used:

./configure --with-tcl=/home/berg/tcl/distrib/tcl8.4.12/unix
--with-tk=/home/berg/tcl/distrib/tk8.4.12/unix
--with-tclincls=/home/berg/tcl/distrib/tcl8.4.12/generic/
--with-tkincls=/home/berg/tcl/distrib/tk8.4.12/generic/

The following make should NOT throw warnings for the compilation of ...

> bltTree.c: In function `FreeNode':

The first warnings I get are here:

gcc -c -Wall -O6 -I. -I. -I/home/berg/tcl/distrib/tk8.4.12/generic/
-I/home/berg/tcl/distrib/tcl8.4.12/generic/ -I/usr/X11R6/include
bltUnixPipe.c
bltUnixPipe.c: In function `SetupStdFile':
bltUnixPipe.c:316: warning: dereferencing type-punned pointer will
break strict-aliasing rules
bltUnixPipe.c: In function `FileForRedirect':
bltUnixPipe.c:553: warning: dereferencing type-punned pointer will
break strict-aliasing rules

The make proccess generates quite some more warnings, but should not
error.

This warning of yours

> bltBgexec.c: In function `DestroyBackgroundInfo':
> bltBgexec.c:1474: warning: cast to pointer from integer of different
> size

might be due to 64 bit, but I'm absolutely no expert here ...

The point were your error occurs is in bltTree.c and the offending
"START_LOGSIZE" bit is here (line 99):

#if (SIZEOF_VOID_P == 8)
#define RANDOM_INDEX(i) HashOneWord(mask, downshift, i)
#define BITSPERWORD 64
#else

#define START_LOGSIZE 5 /* Initial hash table size is 32. */
#define MAX_LIST_VALUES 20 /* Convert to hash table when node

So you seem to have SIZEOF_VOID_P unequal to 8 because then
START_LOGSIZE will not be defined. This however, will fail further down
the file because the ConvertValues procedure from line 2679 on uses
this definition.

Seems to me like a bug in BLT.

Hope this helps .. Torsten

Torsten Reincke

unread,
Sep 13, 2006, 8:39:15 AM9/13/06
to
Ha!

I just scanned throught the NEWS file contained in the sources and it
says:

tree
On 64-bit platforms, bltTree.c doesn't compile because of missing
macros START_LOGSIZE and MAX_LIST_VALUES. Thanks to Keith
W. Johnson <kwjo...@llnl.gov> for the bug report.

So it seems to be still unfixed.

Torsten

maura.m...@gmail.com

unread,
Sep 13, 2006, 11:19:16 AM9/13/06
to

OK. But I experienced the same nightmare when I installed MARS (whose
GUI I'm working on) on my laptop. It's a matter of instructing the BLT
installation procedure to generate 32-bit code. I cannot remember what
I did to overcome this problem.
My laptop has both 32-libraries (lib) and 64-libraries (lib64) . For
some reason it picks the 64-libraries by default.

mauede@linux:/usr> pwd
/usr
mauede@linux:/usr> ll
total 130
drwxr-xr-x 2 root root 52104 2006-09-09 23:27 bin
drwxr-xr-x 2 root root 96 2005-09-26 04:48 games
drwxr-xr-x 67 root root 9096 2006-09-09 23:25 include
drwxr-xr-x 72 root root 21776 2006-09-09 23:26 lib
drwxr-xr-x 68 root root 37616 2006-09-09 23:25 lib64
drwxr-xr-x 11 root root 264 2005-09-26 04:36 local
drwxr-xr-x 2 root root 10792 2006-07-05 03:25 sbin
drwxr-xr-x 122 root root 3288 2006-09-09 23:26 share
drwxr-xr-x 7 root root 280 2005-09-26 05:34 src
lrwxrwxrwx 1 root root 10 2005-09-26 04:36 tmp -> ../var/tmp
lrwxrwxrwx 1 root root 5 2005-09-26 04:46 X11 -> X11R6
drwxr-xr-x 9 root root 216 2005-09-26 04:41 X11R6
drwxr-xr-x 5 root root 120 2005-09-26 04:36 x86_64-suse-linux


In fact I tried re-installing by using:

env CFLAGS=-m32 ./configure --prefix=
/home/mokhov/restricted/mars15/linux

This time the installation went futher on but then it failed during the
link phase:

gcc -Wall -m32 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include -I/usr/X11R6/inclu
de
-Wl,-rpath,/home/mokhov/restricted/mars15/linux/lib:/usr/X11R6/lib64
-o bltwish \
-DTCLLIBPATH=\"/home/mokhov/restricted/mars15/linux/lib/tcl8.3\"
\
./bltUnixMain.c libBLT.a
-L/home/mokhov/restricted/mars15/linux/lib -ltk8.3 -ltcl8.
3 -L/usr/X11R6/lib64 -lX11 -lm -lnsl -ldl
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld:
skipping i ncompatible /usr/X11R6/lib64/libX11.so when
searching for -lX11
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld:
skipping i ncompatible /usr/X11R6/lib64/libX11.a when
searching for -lX11
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld:
cannot fin d -lX11
collect2: ld returned 1 exit status
make[1]: *** [bltwish] Error 1


make[1]: Leaving directory
`/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z/src'
make: *** [all] Error 2

Do you have any suggestion ?

Thanks,
Maura

maura.m...@gmail.com

unread,
Sep 13, 2006, 12:53:17 PM9/13/06
to

I do not know agaiinst which wall to bang my head ....
I tried the following installation but the result did not change:

--------------------------------------------------------------------------------------------------------------------------------
mauede@linux:/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z> env
CFLAGS=-m32 LDFLAGS=-L/usr/lib ./configure
--prefix=/home/mokhov/restricted/mars15/linux
--with-tclincls=/home/mokhov/restricted/mars15/linux/include
--with-tkincls=/home/mokhov/restricted/mars15/linux/include
--with-tcllibs=/home/mokhov/restricted/mars15/linux/lib
--x-includes=/usr/include --x-libraries=/usr/lib
---------------------------------------------------------------------------------------------------------------------------

The above command produces:

---------------------------------------------------------------------------------------------------------------------------
Configuration results:

tcl.h found in /home/mokhov/restricted/mars15/linux/include
tk.h found in /home/mokhov/restricted/mars15/linux/include
X11/Xlib.h found in /usr/include
libtcl8.3 found in /home/mokhov/restricted/mars15/linux/lib
libtk8.3 found in /home/mokhov/restricted/mars15/linux/lib
libX11 found in /usr/lib

Directories where BLT is to be installed:

"$prefix" is /home/mokhov/restricted/mars15/linux
"$exec_prefix" is /home/mokhov/restricted/mars15/linux

bltwish to be installed in ${exec_prefix}/bin
libBLT.a to be installed in
/home/mokhov/restricted/mars15/linux/lib
scripts to be installed in
/home/mokhov/restricted/mars15/linux/lib/blt2.4
manual pages to be installed in ${prefix}/man
------------------------------------------------------------------------------------------------------------------------------

But still the link phase fails:

-----------------------------------------------------------------------------------------------------------------------------


gcc -Wall -m32 -I. -I.
-I/home/mokhov/restricted/mars15/linux/include

-Wl,-rpath,/home/mokhov/restricted/mars15/linux/lib -o bltwish \

-DTCLLIBPATH=\"/home/mokhov/restricted/mars15/linux/lib/tcl8.3\" \
./bltUnixMain.c libBLT.a
-L/home/mokhov/restricted/mars15/linux/lib -ltk8.3 -ltcl8.3 -lX11 -lm
-lnsl -ldl
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld:
cannot find -lX11


collect2: ld returned 1 exit status

make[1]: *** [bltwish] Error 1


make[1]: Leaving directory
`/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z/src'
make: *** [all] Error 2

------------------------------------------------------------------------------------------------------------------------------

I experienced the same problems (same error messages) when I
firstinstalled Tcl/Tk 3.8.2 on my laptop. I can oly state that what
made me make progress with the installation of Tcl?tk 8.3.2 were the
following flags:

#CCOPT="-V -verbose=all -g"
CCOPT="-m32 -O" # -V -verbose=all"
LINKOPT="-m32 -rdynamic"

But as you know that installation is old-fashioned and does not use a
"configure" style but rather a script....
Is there any way to tell the linker to use the 32-bit dynamic mode with
the modern "configure" style ? I thooght the configure options I used
(see above command) would drive the compiler and linker to include the
32-bit libraries that are there (installed) ....

Many thanks,
--
Maura E.M

Shaun Deacon

unread,
Sep 13, 2006, 1:46:33 PM9/13/06
to
Maura,

There is a workaround...
If you make the following edits to bltTree.c, the compilation should
pass without errors (although still with warnings) - I had the same
issue for 64-bit RedHat Enterprise3...

Before :

#if (SIZEOF_VOID_P == 8)
#define RANDOM_INDEX(i) HashOneWord(mask, downshift, i)
#define BITSPERWORD 64
#else
#define START_LOGSIZE 5

#define MAX_LIST_VALUES 20
#define RANDOM_INDEX(i) \
(((((long) (i))*1103515245) >> downshift) & mask)
#define BITSPERWORD 32
#endif

After :

#define START_LOGSIZE 5
#define MAX_LIST_VALUES 20

#if (SIZEOF_VOID_P == 8)
#define RANDOM_INDEX(i) HashOneWord(mask, downshift, i)
#define BITSPERWORD 64
#else

#define RANDOM_INDEX(i) \
(((((long) (i))*1103515245) >> downshift) & mask)
#define BITSPERWORD 32
#endif

I haven't noticed any problems with use of BLT after making these
changes.

HTH,
Shaun

maura.m...@gmail.com

unread,
Sep 14, 2006, 7:31:14 AM9/14/06
to


I'm trying ti get a 32-bit code generated on a 64-bit machine.
Here is the result of my last attempts:

mauede@linux:/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z> env
CFLAGS=-m32 LDFLAGS=-L/usr/X11R6/lib ./configure
--prefix=/home/mokhov/restricted/mars15/linux
--with-tcl=/home/mokhov/restricted/mars15/linux/lib
--with-tk=/home/mokhov/restricted/mars15/linux/lib
--x-includes=/usr/X11/include --x-libraries=/usr/X11/lib
--with-tclincls=/home/mokhov/restricted/mars15/linux/include
--with-tkincls=/home/mokhov/restricted/mars15/linux/include
-with-tcllibs=/home/mokhov/restricted/mars15/linux/lib


It seems to go a little bit further. But now it cannot recognize any
Tcl or Tk proc:


kButton.o(.text+0x2dc5):tkButton.c: undefined reference to
`Tcl_TraceVar'
tkButton.o(.text+0x2dee):tkButton.c: undefined reference to
`Tcl_GetVar'
tkButton.o(.text+0x2e9a):tkButton.c: undefined reference to
`Tcl_DoWhenIdle'
tkButton.o(.text+0x2f16): In function `ButtonImageProc':
tkButton.c: undefined reference to `Tcl_DoWhenIdle'
tkButton.o(.text+0x2f8d): In function `ButtonSelectImageProc':
tkButton.c: undefined reference to `Tcl_DoWhenIdle'
tkButton.o(.text+0x2fbd): In function `Blt_ButtonInit':
tkButton.c: undefined reference to `Tk_GetUid'
tkButton.o(.text+0x2fd1):tkButton.c: undefined reference to `Tk_GetUid'
tkButton.o(.text+0x2fe5):tkButton.c: undefined reference to `Tk_GetUid'
tkFrame.o(.text+0xb5): In function `TkCreateFrame':
tkFrame.c: undefined reference to `Tcl_AppendResult'
tkFrame.o(.text+0x2cd):tkFrame.c: undefined reference to
`Tk_MainWindow'
tkFrame.o(.text+0x2fb):tkFrame.c: undefined reference to
`Tk_CreateWindowFromPath'
tkFrame.o(.text+0x349):tkFrame.c: undefined reference to
`TkCreateMainWindow'
tkFrame.o(.text+0x37c):tkFrame.c: undefined reference to `Tk_GetOption'
tkFrame.o(.text+0x3b7):tkFrame.c: undefined reference to `Tk_SetClass'
tkFrame.o(.text+0x3dc):tkFrame.c: undefined reference to `Tk_GetOption'
tkFrame.o(.text+0x3fe):tkFrame.c: undefined reference to `TkpUseWindow'
tkFrame.o(.text+0x42c):tkFrame.c: undefined reference to `Tk_GetOption'
tkFrame.o(.text+0x454):tkFrame.c: undefined reference to `Tk_GetOption'
tkFrame.o(.text+0x499):tkFrame.c: undefined reference to `Tk_GetVisual'
tkFrame.o(.text+0x4c7):tkFrame.c: undefined reference to
`Tk_SetWindowVisual'
tkFrame.o(.text+0x4e6):tkFrame.c: undefined reference to
`Tk_GetColormap'
tkFrame.o(.text+0x506):tkFrame.c: undefined reference to
`Tk_SetWindowColormap'
tkFrame.o(.text+0x527):tkFrame.c: undefined reference to
`Tk_GeometryRequest'
tkFrame.o(.text+0x58a):tkFrame.c: undefined reference to
`Tcl_CreateCommand'
tkFrame.o(.text+0x693):tkFrame.c: undefined reference to
`TkSetClassProcs'
tkFrame.o(.text+0x6cc):tkFrame.c: undefined reference to
`Tk_CreateEventHandler'
tkFrame.o(.text+0x722):tkFrame.c: undefined reference to
`TkpMakeContainer'
tkFrame.o(.text+0x74b):tkFrame.c: undefined reference to
`Tcl_AppendResult'
tkFrame.o(.text+0x76f):tkFrame.c: undefined reference to
`Tcl_DoWhenIdle'
tkFrame.o(.text+0x78c):tkFrame.c: undefined reference to
`Tcl_SetResult'
tkFrame.o(.text+0x7a6):tkFrame.c: undefined reference to
`Tk_DestroyWindow'
tkFrame.o(.text+0x806): In function `FrameWidgetCmd':
tkFrame.c: undefined reference to `Tcl_AppendResult'
tkFrame.o(.text+0x81d):tkFrame.c: undefined reference to `Tcl_Preserve'
tkFrame.o(.text+0x8b1):tkFrame.c: undefined reference to
`Tcl_AppendResult'
tkFrame.o(.text+0x8f8):tkFrame.c: undefined reference to
`Tk_ConfigureValue'
tkFrame.o(.text+0x97a):tkFrame.c: undefined reference to
`Tk_ConfigureInfo'
tkFrame.o(.text+0x9c3):tkFrame.c: undefined reference to
`Tk_ConfigureInfo'
tkFrame.o(.text+0xbde):tkFrame.c: undefined reference to
`Tcl_AppendResult'
tkFrame.o(.text+0xc57):tkFrame.c: undefined reference to
`Tcl_AppendResult'
tkFrame.o(.text+0xc69):tkFrame.c: undefined reference to `Tcl_Release'
tkFrame.o(.text+0xcba): In function `DestroyFrame':
tkFrame.c: undefined reference to `Tk_FreeOptions'
tkFrame.o(.text+0xcf2):tkFrame.c: undefined reference to
`Tk_FreeColormap'
tkFrame.o(.text+0xd4a): In function `TileChangedProc':
tkFrame.c: undefined reference to `Tcl_DoWhenIdle'
tkFrame.o(.text+0xdf7): In function `ConfigureFrame':
tkFrame.c: undefined reference to `Tk_ConfigureWidget'
tkFrame.o(.text+0xe9e):tkFrame.c: undefined reference to
`TkSetWindowMenuBar'
tkFrame.o(.text+0xebe):tkFrame.c: undefined reference to
`Tk_SetBackgroundFromBorder'
tkFrame.o(.text+0xed5):tkFrame.c: undefined reference to
`Tk_SetWindowBackgroundPixmap'
tkFrame.o(.text+0xf05):tkFrame.c: undefined reference to
`Tk_SetInternalBorder'
tkFrame.o(.text+0xf3a):tkFrame.c: undefined reference to
`Tk_GeometryRequest'
tkFrame.o(.text+0xf84):tkFrame.c: undefined reference to
`Tcl_DoWhenIdle'
tkFrame.o(.text+0x1187): In function `DisplayFrame':
tkFrame.c: undefined reference to `Tk_GCForColor'
tkFrame.o(.text+0x11a4):tkFrame.c: undefined reference to
`Tk_GCForColor'
tkFrame.o(.text+0x11cd):tkFrame.c: undefined reference to
`Tk_DrawFocusHighlight'
tkFrame.o(.text+0x124b): In function `FrameEventProc':
tkFrame.c: undefined reference to `TkSetWindowMenuBar'
tkFrame.o(.text+0x1296):tkFrame.c: undefined reference to
`Tk_DeleteEventHandler'
tkFrame.o(.text+0x12b7):tkFrame.c: undefined reference to
`Tcl_DeleteCommandFromToken'
tkFrame.o(.text+0x12d9):tkFrame.c: undefined reference to
`Tcl_CancelIdleCall'
tkFrame.o(.text+0x12ee):tkFrame.c: undefined reference to
`Tcl_CancelIdleCall'
tkFrame.o(.text+0x1303):tkFrame.c: undefined reference to
`Tcl_EventuallyFree'
tkFrame.o(.text+0x137f):tkFrame.c: undefined reference to
`TkpSetMainMenubar'
tkFrame.o(.text+0x13ab):tkFrame.c: undefined reference to
`Tcl_DoWhenIdle'
tkFrame.o(.text+0x140a): In function `FrameCmdDeletedProc':
tkFrame.c: undefined reference to `TkSetWindowMenuBar'
tkFrame.o(.text+0x1441):tkFrame.c: undefined reference to
`Tk_DestroyWindow'
tkFrame.o(.text+0x146a): In function `MapFrame':
tkFrame.c: undefined reference to `Tcl_Preserve'
tkFrame.o(.text+0x1476):tkFrame.c: undefined reference to
`Tcl_DoOneEvent'
tkFrame.o(.text+0x148f):tkFrame.c: undefined reference to `Tcl_Release'
tkFrame.o(.text+0x149e):tkFrame.c: undefined reference to
`Tk_MapWindow'
tkFrame.o(.text+0x14a9):tkFrame.c: undefined reference to `Tcl_Release'
bltScrollbar.o(.text+0x44): In function `ScrollbarCmd':
bltScrollbar.c: undefined reference to `Tcl_AppendResult'
bltScrollbar.o(.text+0x5b):bltScrollbar.c: undefined reference to
`Tk_MainWindow'
bltScrollbar.o(.text+0x80):bltScrollbar.c: undefined reference to
`Tk_CreateWindowFromPath'
bltScrollbar.o(.text+0xf7):bltScrollbar.c: undefined reference to
`Tcl_CreateCommand'
bltScrollbar.o(.text+0x28e):bltScrollbar.c: undefined reference to
`Tk_SetClass'
bltScrollbar.o(.text+0x2b4):bltScrollbar.c: undefined reference to
`Tk_CreateEventHandler'
bltScrollbar.o(.text+0x307):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0x31d):bltScrollbar.c: undefined reference to
`Tk_DestroyWindow'
bltScrollbar.o(.text+0x38b): In function `ScrollbarWidgetCmd':
bltScrollbar.c: undefined reference to `Tcl_AppendResult'
bltScrollbar.o(.text+0x3a8):bltScrollbar.c: undefined reference to
`Tcl_Preserve'
bltScrollbar.o(.text+0x46c):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0x48e):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0x4b0):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0x4eb):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x662):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x6a6):bltScrollbar.c: undefined reference to
`Tk_ConfigureValue'
bltScrollbar.o(.text+0x738):bltScrollbar.c: undefined reference to
`Tk_ConfigureInfo'
bltScrollbar.o(.text+0x788):bltScrollbar.c: undefined reference to
`Tk_ConfigureInfo'
bltScrollbar.o(.text+0x83e):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x864):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x88d):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x9cd):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x9f3):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0xa1c):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0xb7c):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xbf0):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0xc31):bltScrollbar.c: undefined reference to
`Tcl_PrintDouble'
bltScrollbar.o(.text+0xc56):bltScrollbar.c: undefined reference to
`Tcl_PrintDouble'
bltScrollbar.o(.text+0xc87):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0xcf8):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xd6c):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0xd92):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0xdbb):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0xe45):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xe67):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xe89):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xeab):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xecd):bltScrollbar.c: undefined reference to
`Tcl_SetResult'
bltScrollbar.o(.text+0xf36):bltScrollbar.c: undefined reference to
`Tcl_GetDouble'
bltScrollbar.o(.text+0xf60):bltScrollbar.c: undefined reference to
`Tcl_GetDouble'
bltScrollbar.o(.text+0x1086):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x10c3):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x1100):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x112a):bltScrollbar.c: undefined reference to
`Tcl_GetInt'
bltScrollbar.o(.text+0x126c):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x12c9):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x12d9):bltScrollbar.c: undefined reference to
`Tcl_Release'
bltScrollbar.o(.text+0x12f5):bltScrollbar.c: undefined reference to
`Tcl_Release'
bltScrollbar.o(.text+0x1347): In function `DestroyScrollbar':
bltScrollbar.c: undefined reference to `Tk_FreeGC'
bltScrollbar.o(.text+0x1368):bltScrollbar.c: undefined reference to
`Tk_FreeGC'
bltScrollbar.o(.text+0x13c9):bltScrollbar.c: undefined reference to
`Tk_FreeOptions'
bltScrollbar.o(.text+0x144f): In function `ConfigureScrollbar':
bltScrollbar.c: undefined reference to `Tk_ConfigureWidget'
bltScrollbar.o(.text+0x14ff):bltScrollbar.c: undefined reference to
`Tcl_AppendResult'
bltScrollbar.o(.text+0x15a7):bltScrollbar.c: undefined reference to
`Tk_SetBackgroundFromBorder'
bltScrollbar.o(.text+0x15ce):bltScrollbar.c: undefined reference to
`Tk_GetGC'
bltScrollbar.o(.text+0x15f2):bltScrollbar.c: undefined reference to
`Tk_FreeGC'
bltScrollbar.o(.text+0x1627):bltScrollbar.c: undefined reference to
`Tk_GetGC'
bltScrollbar.o(.text+0x171b): In function `DisplayScrollbar':
bltScrollbar.c: undefined reference to `Tk_GetPixmap'
bltScrollbar.o(.text+0x174c):bltScrollbar.c: undefined reference to
`Tk_GCForColor'
bltScrollbar.o(.text+0x1766):bltScrollbar.c: undefined reference to
`Tk_GCForColor'
bltScrollbar.o(.text+0x178c):bltScrollbar.c: undefined reference to
`Tk_DrawFocusHighlight'
bltScrollbar.o(.text+0x18ee):bltScrollbar.c: undefined reference to
`XFillRectangle'
bltScrollbar.o(.text+0x2095):bltScrollbar.c: undefined reference to
`XCopyArea'
bltScrollbar.o(.text+0x20aa):bltScrollbar.c: undefined reference to
`Tk_FreePixmap'
bltScrollbar.o(.text+0x2127): In function `ScrollbarEventProc':
bltScrollbar.c: undefined reference to `Tcl_DeleteCommandFromToken'
bltScrollbar.o(.text+0x214c):bltScrollbar.c: undefined reference to
`Tcl_CancelIdleCall'
bltScrollbar.o(.text+0x2161):bltScrollbar.c: undefined reference to
`Tcl_EventuallyFree'
bltScrollbar.o(.text+0x223c): In function `ScrollbarCmdDeletedProc':
bltScrollbar.c: undefined reference to `Tk_DestroyWindow'
bltScrollbar.o(.text+0x241a): In function `ComputeScrollbarGeometry':
bltScrollbar.c: undefined reference to `Tk_GeometryRequest'
bltScrollbar.o(.text+0x2453):bltScrollbar.c: undefined reference to
`Tk_GeometryRequest'
bltScrollbar.o(.text+0x246a):bltScrollbar.c: undefined reference to
`Tk_SetInternalBorder'
bltScrollbar.o(.text+0x25c6): In function `EventuallyRedraw':
bltScrollbar.c: undefined reference to `Tcl_DoWhenIdle'
bltTed.o(.text+0x48): In function `EventuallyRedraw':
bltTed.c: undefined reference to `Tcl_DoWhenIdle'
bltTed.o(.text+0x97): In function `EventuallyRedrawEntry':
bltTed.c: undefined reference to `Tcl_DoWhenIdle'
bltTed.o(.text+0x11b): In function `EntryEventProc':
bltTed.c: undefined reference to `Tcl_CancelIdleCall'
bltTed.o(.text+0x130):bltTed.c: undefined reference to
`Tcl_EventuallyFree'
bltTed.o(.text+0x1b5): In function `TedEventProc':
bltTed.c: undefined reference to `Tcl_CancelIdleCall'
bltTed.o(.text+0x1ca):bltTed.c: undefined reference to
`Tcl_EventuallyFree'
bltTed.o(.text+0x21e): In function `CreateGrid':
bltTed.c: undefined reference to `Tk_CreateWindow'
bltTed.o(.text+0x248):bltTed.c: undefined reference to `Tk_SetClass'
bltTed.o(.text+0x26c):bltTed.c: undefined reference to
`Tk_CreateEventHandler'
bltTed.o(.text+0x29b):bltTed.c: undefined reference to
`Tk_MoveResizeWindow'
bltTed.o(.text+0x2b6):bltTed.c: undefined reference to
`Tk_RestackWindow'
bltTed.o(.text+0x2c1):bltTed.c: undefined reference to `Tk_MapWindow'
bltTed.o(.text+0x33e): In function `CreateEventWindow':
bltTed.c: undefined reference to `Tk_CreateWindow'
bltTed.o(.text+0x366):bltTed.c: undefined reference to
`Tk_ResizeWindow'
bltTed.o(.text+0x3df):bltTed.c: undefined reference to
`Tk_CreateWindow'
bltTed.o(.text+0x42b):bltTed.c: undefined reference to
`Tk_MoveResizeWindow'
bltTed.o(.text+0x47c):bltTed.c: undefined reference to
`Tk_RestackWindow'
bltTed.o(.text+0x487):bltTed.c: undefined reference to `Tk_MapWindow'
bltTed.o(.text+0x59c): In function `CreateEntry':
bltTed.c: undefined reference to `Tk_CreateWindow'
bltTed.o(.text+0x5dc):bltTed.c: undefined reference to `Tk_SetClass'
bltTed.o(.text+0x603):bltTed.c: undefined reference to
`Tk_CreateEventHandler'
bltTed.o(.text+0x85d): In function `DisplayEntry':
bltTed.c: undefined reference to `Tk_MoveResizeWindow'
bltTed.o(.text+0x878):bltTed.c: undefined reference to
`Tk_RestackWindow'
bltTed.o(.text+0x8ba):bltTed.c: undefined reference to `XFillRectangle'
bltTed.o(.text+0x92d):bltTed.c: undefined reference to `XFillRectangle'
bltTed.o(.text+0x977):bltTed.c: undefined reference to `XDrawRectangle'
bltTed.o(.text+0x9fc): In function `FindEditor':
bltTed.c: undefined reference to `Tcl_AppendResult'
bltTed.o(.text+0xbdb): In function `DestroyTed':
bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xc02):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xc29):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xc50):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xcc9): In function `ConfigureTed':
bltTed.c: undefined reference to `Tk_ConfigureWidget'
bltTed.o(.text+0xd0a):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0xd34):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xd55):bltTed.c: undefined reference to `Tk_FontId'
bltTed.o(.text+0xe4a):bltTed.c: undefined reference to `XSetDashes'
bltTed.o(.text+0xe87):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0xeb1):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xf16):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0xf40):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0xfa5):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0xfcf):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0x100f):bltTed.c: undefined reference to `Tk_FontId'
bltTed.o(.text+0x102e):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0x1095):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0x10bf):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0x10fc):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0x1126):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0x118b):bltTed.c: undefined reference to `Tk_GetGC'
bltTed.o(.text+0x11b5):bltTed.c: undefined reference to `Tk_FreeGC'
bltTed.o(.text+0x11e8):bltTed.c: undefined reference to
`Tk_DefineCursor'
bltTed.o(.text+0x11f8):bltTed.c: undefined reference to
`Tk_UndefineCursor'
bltTed.o(.text+0x2277): In function `DisplayTed':
bltTed.c: undefined reference to `Tk_ResizeWindow'
bltTed.o(.text+0x2299):bltTed.c: undefined reference to
`Tk_ResizeWindow'
bltTed.o(.text+0x22c4):bltTed.c: undefined reference to `Tk_MoveWindow'
bltTed.o(.text+0x2381):bltTed.c: undefined reference to `Tk_GetPixmap'
bltTed.o(.text+0x23cf):bltTed.c: undefined reference to
`XFillRectangle'
bltTed.o(.text+0x24d8):bltTed.c: undefined reference to
`XFillRectangles'
bltTed.o(.text+0x2518):bltTed.c: undefined reference to
`XFillRectangles'
bltTed.o(.text+0x254c):bltTed.c: undefined reference to
`XFillRectangles'
bltTed.o(.text+0x258b):bltTed.c: undefined reference to
`XFillRectangles'
bltTed.o(.text+0x25ca):bltTed.c: undefined reference to
`XFillRectangles'
bltTed.o(.text+0x2609):bltTed.c: undefined reference to `XDrawSegments'
bltTed.o(.text+0x26ce):bltTed.c: undefined reference to `XCopyArea'
bltTed.o(.text+0x26e3):bltTed.c: undefined reference to `Tk_FreePixmap'
bltTed.o(.text+0x274a): In function `DrawEditor':
bltTed.c: undefined reference to `Tcl_DoWhenIdle'
bltTed.o(.text+0x2794): In function `DestroyEditor':
bltTed.c: undefined reference to `Tcl_CancelIdleCall'
bltTed.o(.text+0x27a9):bltTed.c: undefined reference to
`Tcl_EventuallyFree'
bltTed.o(.text+0x288e): In function `EditOp':
bltTed.c: undefined reference to `Tcl_CancelIdleCall'
bltTed.o(.text+0x28a3):bltTed.c: undefined reference to
`Tcl_EventuallyFree'
bltTed.o(.text+0x28dd):bltTed.c: undefined reference to
`Tcl_DoWhenIdle'
bltTed.o(.text+0x2991): In function `CgetOp':
bltTed.c: undefined reference to `Tk_ConfigureValue'
bltTed.o(.text+0x2a1e): In function `ConfigureOp':
bltTed.c: undefined reference to `Tk_ConfigureInfo'
bltTed.o(.text+0x2a66):bltTed.c: undefined reference to
`Tk_ConfigureInfo'
bltTed.o(.text+0x2ad7): In function `SelectOp':
bltTed.c: undefined reference to `Tk_MainWindow'
bltTed.o(.text+0x2ed3): In function `RepOp':
bltTed.c: undefined reference to `Tk_MainWindow'
bltTed.o(.text+0x2eee):bltTed.c: undefined reference to
`Tk_NameToWindow'
bltTed.o(.text+0x2fd0):bltTed.c: undefined reference to
`Tcl_CancelIdleCall'
bltTed.o(.text+0x2fe5):bltTed.c: undefined reference to
`Tcl_EventuallyFree'
bltTed.o(.text+0x301f):bltTed.c: undefined reference to
`Tcl_DoWhenIdle'
bltTed.o(.text+0x3118): In function `GetTableInterpData':
bltTed.c: undefined reference to `Tcl_GetAssocData'
bltAlloc.o(.data.rel+0x0): undefined reference to `TclpAlloc'
bltAlloc.o(.data.rel+0x4): undefined reference to `TclpFree'
bltAlloc.o(.data.rel+0x8): undefined reference to `TclpRealloc'
bltVecMath.o(.data.rel+0x14): undefined reference to `acos'
bltVecMath.o(.data.rel+0x20): undefined reference to `asin'
bltVecMath.o(.data.rel+0x2c): undefined reference to `atan'
bltVecMath.o(.data.rel+0x44): undefined reference to `ceil'
bltVecMath.o(.data.rel+0x50): undefined reference to `cos'
bltVecMath.o(.data.rel+0x5c): undefined reference to `cosh'
bltVecMath.o(.data.rel+0x68): undefined reference to `exp'
bltVecMath.o(.data.rel+0x74): undefined reference to `floor'
bltVecMath.o(.data.rel+0x98): undefined reference to `log'
bltVecMath.o(.data.rel+0xa4): undefined reference to `log10'
bltVecMath.o(.data.rel+0x140): undefined reference to `sin'
bltVecMath.o(.data.rel+0x14c): undefined reference to `sinh'
bltVecMath.o(.data.rel+0x170): undefined reference to `sqrt'
bltVecMath.o(.data.rel+0x188): undefined reference to `tan'
bltVecMath.o(.data.rel+0x194): undefined reference to `tanh'


collect2: ld returned 1 exit status

make[2]: *** [libBLT24.so] Error 1
make[2]: Leaving directory
`/home/mokhov/restricted/mars15/Blt-Dir/blt2.4z/src/shared'
make[1]: *** [build_shared] Error 2

Shaun Deacon

unread,
Sep 14, 2006, 12:54:10 PM9/14/06
to
Hi Maura,

I'm sorry I don't know how to fix your problem here...but what you are
attempting may not be possible anyway. Jeff Hobbs states the following
in an old thread regarding 64-bit compilation of Tcl/Tk :

> Tcl builds fine for 64-bit Linux x86_64 systems (we have some,
> we build it). The trick is to build locally, as the gcc
> toolchain defaults to 64-bit builds on a 64-bit Linux machine
> (no need for --enable-64bit, no special gcc flags).

> Also, the 32-bit builds should work just fine as well. What
> won't work is the cross-compile type builds - building a
> 64-bit build on a 32-bit gcc or vice versa.

> This differs from "big iron" systems because they default to
> 32-bit builds, even on 64-bit capable platforms.

So trying to build a 32-bit system on a 64-bit platform with gcc may be
problematic.
BTW, why do you need to do this ? Why don't you just build the default
64-bit system on this platform ?

cheers,
Shaun

maura.m...@gmail.com

unread,
Sep 15, 2006, 4:21:25 AM9/15/06
to

Actually I did install Tcl/Tk 8.3.2 on my 64-bit laptop as a32-bit
executable successfully about 4 months ago. The reason why I cannot
use the 64-bit istallation is that this is MARS GUI .
MARS is a Monte Carlo Radiation Transport code that includes some other
code (MCNPX) which has not been ported to 64-bit architectures yet.
So I'm stuck with 32-bit.

What drives me crazy now is that by hokk and by crook I got the 32-bit
Blt generated on my laptop with no error message.
All the Blt libraries and include files have been generated in the
proper place as directed by the --prefix option.
I modified my main Tcl proc as follows:

set blt_available 1
if {[catch {package require BLT} err]} {
# BLT is not available, reason is in $err
puts "\n Blt extensio not available. Error_code: $err \n"
set blt_available 0
}
if {[catch {Blt_Init} interp] != 0} {
puts "\n Blt cannot be used !\n"
return TCL_ERROR;
}

When I launch MARS GUI I get an iconified window and the following
error message:

Blt extensio not available. Error_code: couldn't load file
"/home/mokhov/restricted/mars15/linux/lib/libBLT24.so":
/home/mokhov/restricted/mars15/linux/lib/libBLT24.so: undefined
symbol: Tk_CanvasTagsParseProc


Blt cannot be used !


I print out " Blt cannot be used !" as the Blt Init returns ERROR.
I cannot figure out why it states that it cannot load the file
/home/mokhov/restricted/mars15/linux/lib/libBLT24.so
since such s library does get created (see below the list of the lib
directory) ... maybe the access rights are not correct ?

mauede@linux:/home/mokhov/restricted/mars15/linux/lib> ll
total 10101
drwxr-xr-x 4 mauede users 576 2006-09-15 02:46 blt2.4
-rw-r--r-- 1 root root 1392412 2006-09-15 02:46 libBLT24.a
-rwxr-xr-x 1 root root 1214933 2006-09-15 02:46 libBLT24.so
lrwxrwxrwx 1 root root 10 2006-09-15 02:46 libBLT.a ->
libBLT24.a
-rw-r--r-- 1 root root 261272 2006-09-15 02:46 libBLTlite24.a
-rwxr-xr-x 1 root root 238132 2006-09-15 02:46 libBLTlite24.so
lrwxrwxrwx 1 root root 14 2006-09-15 02:46 libBLTlite.a ->
libBLTlite24.a
-rw-r--r-- 1 mauede users 60820 2006-04-21 11:21 libm15blb_linux.a
-rw-r--r-- 1 mauede users 2338842 2006-04-21 11:17 libm15cem03_linux.a
-rw-r--r-- 1 mauede users 660354 2006-05-15 16:14 libm15eve_linux.a
-rw-r--r-- 1 mauede users 138540 2006-04-21 11:20 libm15ext_linux.a
-rw-r--r-- 1 mauede users 41578 2006-05-15 16:16 libm15fems_linux.a
-rw-r--r-- 1 mauede users 49514 2006-05-12 05:39 libm15gui_linux.a
-rw-r--r-- 1 mauede users 1664276 2006-05-15 16:17 libm15linux.a
-rw-r--r-- 1 mauede users 32968 2006-04-21 11:22 libm15mpino_linux.a
-rw-r--r-- 1 mauede users 49882 2006-05-15 16:14 libm15treem_linux.a
-rw-r--r-- 1 mauede users 40918 2006-05-15 16:16 libm15trneu_linux.a
-rw-r--r-- 1 mauede users 71220 2006-05-15 16:16
libm15trneu-mcnp_linux.a
-r-xr-xr-x 1 mauede users 866620 2006-04-26 14:09 libtcl8.3.a
-rw-r--r-- 1 mauede users 1992 2006-04-26 14:09 libtclstub8.3.a
-r-xr-xr-x 1 mauede users 1152866 2006-04-26 14:10 libtk8.3.a
-rw-r--r-- 1 mauede users 3652 2006-04-26 14:10 libtkstub8.3.a
drwxr-xr-x 8 mauede users 512 2006-04-26 14:09 tcl8.3
-rw-r--r-- 1 mauede users 6970 2006-04-26 14:09 tclConfig.sh
drwxr-xr-x 4 mauede users 896 2006-04-26 14:10 tk8.3
-rw-r--r-- 1 mauede users 3617 2006-04-26 14:10 tkConfig.sh

Thanks,
maura

Koen Danckaert

unread,
Sep 15, 2006, 9:33:24 AM9/15/06
to
> When I launch MARS GUI I get an iconified window and the following
> error message:
>
> Blt extensio not available. Error_code: couldn't load file
> "/home/mokhov/restricted/mars15/linux/lib/libBLT24.so":
> /home/mokhov/restricted/mars15/linux/lib/libBLT24.so: undefined
> symbol: Tk_CanvasTagsParseProc

Is this MARS GUI a wish script, or is it a compiled program which includes Tcl/Tk ?

Do you get the same error when you simply start wish, and do a "package require BLT" ?

Koen

maura.m...@gmail.com

unread,
Sep 15, 2006, 11:42:44 AM9/15/06
to

MARS GUI is generated by two modules: a Tcl/Tk 8.3.2 module plus a C
module that implements
some application specific new Tlc commands.
Then the GUI is linked to the rest of Fortran and C code that make up
this Monte carlo code.

I tried to launch wish and in its command line "package require BLT"
... it works !
But I have the native Blt (that comes with Linux/SuSE) installed in the
proper system files... therefore in this case I'm afraid it called the
"system default" Blt rather than the newly installed Blt. Maybe I
should uninstall the "system default" Blt and try again... ?

Thanks,
Maura

Koen Danckaert

unread,
Sep 15, 2006, 12:13:45 PM9/15/06
to
> MARS GUI is generated by two modules: a Tcl/Tk 8.3.2 module plus a C
> module that implements
> some application specific new Tlc commands.
> Then the GUI is linked to the rest of Fortran and C code that make up
> this Monte carlo code.

It's probably some linking problem then. Maybe adding "-rdynamic" to the link command of your main program could help.

> I tried to launch wish and in its command line "package require BLT"
> ... it works !
> But I have the native Blt (that comes with Linux/SuSE) installed in the
> proper system files... therefore in this case I'm afraid it called the
> "system default" Blt rather than the newly installed Blt. Maybe I
> should uninstall the "system default" Blt and try again... ?

Try loading the .so file directly from wish (just for testing): type
"load /home/mokhov/restricted/mars15/linux/lib/libBLT24.so"

Koen

maura.m...@gmail.com

unread,
Sep 15, 2006, 1:19:37 PM9/15/06
to

Koen Danckaert wrote:
> > MARS GUI is generated by two modules: a Tcl/Tk 8.3.2 module plus a C
> > module that implements
> > some application specific new Tlc commands.
> > Then the GUI is linked to the rest of Fortran and C code that make up
> > this Monte carlo code.
>
> It's probably some linking problem then. Maybe adding "-rdynamic" to the link command of your main program could help.

you mean the GNUMakefile that creates MARS executable or the Makefile
(run first) that creates Tcl/Tk 8.3.2 ? The latter one does contain
such an option already:

CCOPT="-m32 -O" # -V -verbose=all"
LINKOPT="-m32 -rdynamic"

>


> > I tried to launch wish and in its command line "package require BLT"
> > ... it works !
> > But I have the native Blt (that comes with Linux/SuSE) installed in the
> > proper system files... therefore in this case I'm afraid it called the
> > "system default" Blt rather than the newly installed Blt. Maybe I
> > should uninstall the "system default" Blt and try again... ?
>
> Try loading the .so file directly from wish (just for testing): type
> "load /home/mokhov/restricted/mars15/linux/lib/libBLT24.so"
>

The result is amazing:
if I launch the newly created bltwish and try to load that library I
get the same error printed out by the GUI. But if I launch "Tcl/Tk
8.3.2 wish" then it seeme to load it:

mauede@linux:/home/mokhov/restricted/mars15/linux/bin> ./bltwish
% load /home/mokhov/restricted/mars15/linux/lib/libBLT24.so


couldn't load file
"/home/mokhov/restricted/mars15/linux/lib/libBLT24.so":
/home/mokhov/restricted/mars15/linux/lib/libBLT24.so: undefined symbol:
Tk_CanvasTagsParseProc

% exit
mauede@linux:/home/mokhov/restricted/mars15/linux/bin> DAT
mauede@linux:/home/mokhov/restricted/mars15/dat> ./Wish
% load /home/mokhov/restricted/mars15/linux/lib/libBLT24.so
%

Where:
lrwxrwxrwx 1 mauede users 48 2006-06-15 16:56 Wish ->
/home/mokhov/restricted/mars15/linux/bin/wish8.3

I am sppechless ...
Thanks,
maura

> Koen

Koen Danckaert

unread,
Sep 18, 2006, 3:51:49 AM9/18/06
to
>>> MARS GUI is generated by two modules: a Tcl/Tk 8.3.2 module plus a C
>>> module that implements
>>> some application specific new Tlc commands.
>>> Then the GUI is linked to the rest of Fortran and C code that make up
>>> this Monte carlo code.
>> It's probably some linking problem then. Maybe adding "-rdynamic" to the link command of your main program could help.
>
> you mean the GNUMakefile that creates MARS executable or the Makefile
> (run first) that creates Tcl/Tk 8.3.2 ? The latter one does contain
> such an option already:
>
> CCOPT="-m32 -O" # -V -verbose=all"
> LINKOPT="-m32 -rdynamic"
>

No, I mean the Makefile that creates the MARS executable.

Koen

0 new messages