On Fri, 2006-04-21 at 18:00 -0500, Maura Edeweiss Monville wrote:
I'd like to point to your attention that the Tcl/Tk libraries are still the stumbling block at installing a Monte Carlo code which uses both the CERN library and (unfortunately) a Tcl/Tk based GUI. I would like to emphasize that the SAME installation (same scripts, same Makefiles, same Tcl/Tk procedure) is actually working in a Japan research center on a Linux x86_64 cluster running Red Hat and provided with an earlier version of the gcc compiler (verion 3.3.4).
On my laptop provided with the same x86_64 processor, a later gcc version (3.3.5) the SAME installation fails when I run the overall GNUmakefile that should create the Monte Carlo executable. I'm pasting the errors I get showing that the linker, for some reason that only a SuSE guru can probably explain, does not link the RIGHT Tcl/Tk library file stating it is incompatible ! Why ? Please, notice everything was recompiled on my laptop with the option m32 placd in every Makefile ... just as in the japanese installation.
mauede@linux:/home/mokhov/restricted/mars15> make g77 -m32 -static -L/home/mauede/cernlib.32-2005-ifh.de/2005/lib -L/home/mokhov/restricted/mars15/linux/lib -L/home/mokhov/restricted/mcnp4c/linux/lib -L/home/mokhov/restricted/mars15/linux/lib -L/home/mokhov/restricted/mars15/linux/lib -o rmars-bnab-fems-linux marsmain.o m1505.o -lm15gui_linux -lm15linux -lm15fems_linux -lm15trneu_linux -lm15treem_linux -lm15eve_linux -lm15cem03_linux -lm15ext_linux -lm15blb_linux -lm15mpino_linux -lm15linux -lpacklib -ltk8.3 -ltcl8.3 -L/usr/X11R6/lib -lX11 -ldl -lnsl -lpthread /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/mokhov/restricted/mars15/linux/lib/libm15gui_linux.a when searching for -lm15gui_linux /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/mokhov/restricted/mars15/linux/lib/libm15gui_linux.a when searching for -lm15gui_linux /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /home/mokhov/restricted/mars15/linux/lib/libm15gui_linux.a when searching for -lm15gui_linux /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lm15gui_linux collect2: ld returned 1 exit status make: *** [rmars-bnab-fems-linux] Error 1
Someone keeps asking me why I do not replace the Tcl/Tk procedure with the Tcl/Tk that comes with SuSE or with a more recent one. The reason is that the provided Tcl/Tk procedure creates and places some Tcl/Tk libraries (".a" files for instance the one that is not linked) and some Tcl/Tk includes (.h files). If someone kindly tells me HOW to reproduce the same Tcl/Tk structure by using another Tcl/Tk distribution I'll be glad to give it a try. I do not know how to do that from what comes with SuSE DVD or is downloaded from any website.
The problem has, it seems to me, nothing to do with Tcl. It seems to be that it is because you are trying to link with files compiled somewhere else. I guess that is what -lm15gui_linux is, right? Do you have the source for all this? If not, you may be SOL. If so, then you should recompile everything on the target platform.
Unluckily I cannot attach any file that would better explain the situation as it would be cut off by the SuSE mail server. By the way, even using the command linux32 before running the Tcl/Tk procedure generates the same results ! Nothing changes.
Thank you in advance to everyone who can explain to me what is wrong with SuSE... I might switch to Red Hat if thsi makes my life less miserable ...
Nothing is wrong with SUSE. The problem is with the libm15gui_linux you have picked up somewhere. Could you explain exactly where that file came from? How it was compiled? Again, do you have the sources for making it? -- Roger