I'm new to programming/linux and trying to install BLT2.4, which is needed for another program that will be installed later. First, I successfully installed tcl8.3 tk8.3 and their dev counterparts on my 64-bit Ubuntu machine. I then tried configuring BLT2.4y with the command:

./configure --with-tcl=/usr/lib/tcl8.3 --with-tk=/usr/lib/tk8.3

and get several messages like this when I make:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux gnu/4.7/../../../../lib/libtk8.3.so when searching for -ltk8.3
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../libtk8.3.a when searching for -ltk8.3
/usr/bin/ld: skipping incompatible /usr/lib/libtk8.3.so when searching for -ltk8.3
/usr/bin/ld: skipping incompatible /usr/lib/libtk8.3.a when searching for -ltk8.3
/usr/bin/ld: cannot find -ltk8.3

I get the same kind of messages for ltcl8.3. After hours of searching and trying different fixes (using symlinks, installing multilib, etc.), I've had no success.

It might have something to do with the makefile, which is generated automatically from makefile.in after configure. I've tried suggestions like "CFLAGS=-m32" makefile changes but no dice. This is my makefile right after configure:

CC =        gcc
CFLAGS =    -O6 
DEF_BLTINIT =   -DBLT_LIBRARY=\"$(scriptdir)\"
SHLIB_LD_FLAGS = -rdynamic 
SHLIB_LD_LIBS =  -ltk8.3 -ltcl8.3 -lX11 -lm -lnsl  
SHLIB_LD =  cc -pipe -shared

prefix =    /usr
exec_prefix =   /usr
libdir =    $(exec_prefix)/lib
bindir =    $(exec_prefix)/bin
srcdir =    ./..

instdirs =  $(exec_prefix) $(libdir) 

scriptdir = /usr/lib/blt2.4

LIBS =       -ltk8.3 -ltcl8.3 -lX11 -lm -lnsl  
TCL_ONLY_LIBS = -ltcl8.3 -lm -lnsl 

What changes (if any) should I make to the makefile/makefile.in, linking, etc so this will compile? Just wanted to mention again that I am generally new to linux/programming in general. Any suggestions to resolve this is greatly appreciated.

  • You might want to include which program it is you want to install after this one. – Richard Aug 4 '13 at 17:25
  • The program to install after this is a device process simulator called FLOOPS. It will use blt2.4 for graphs and plots. – user2649108 Aug 4 '13 at 18:18

I recommend installing the blt package from the repositories. It will install all by itself, without any problems. There is also a blt-dev package if you need that. Checking the repositories for the program you need is always a good idea, to ensure compatibility with other Ubuntu programs.

If you still want to go ahead with this manual compile+install, then I don't have any suggestions for you. I prefer the path of least resistance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.