On Fri, 12 Jul 2002, Eliran wrote:
> I attached the log file, there is a gcc -o .... there but the file (the one > that should be compiled) dissapear when ./configure is done, so I have to > run configure and quickly copy the file. you don't have to do that. the full program's text is quoted in the 'config.log' file - that's how 'configure' always works. in your specific file, the program's text is at line 664-677, inclusive. however, the error message that occured when running the program is listed above the programs' text in the file, on line 660. here is the relevant few lines from your config.log: configure:8799: ./conftest /conftest: error while loading shared libraries: liblinc.so.1: cannot open shar ed object file: No such file or directory configure:8802: $? = 127 configure: program exited with status 127 configure: failed program was: as you see, 'configure' stores test programs in a file named 'conftest', and then tries to run them. this program failed, because it was linked with a library named 'liblinc.so.1', which could not have been located during runtime, by the dynamic linker-loader (ld.so). look at the command that 'configure' used to compile and link this program (line 657 in your config.log file): configure:8794: gcc -o conftest -g -O2 -I/usr/local/include/linc-1.0 -I/usr /local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include conftest.c -Wl, --export-dynamic -L/usr/local/lib -llinc -lgthread-2.0 -lpthread -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 >&5 (it got broken here, but the contents is the same). it _looks_ like it assumes your library 'liblinc.so.1' is located in /usr/local/lib (look at this string from the compilation command: -L/usr/local/lib -llinc ). apprently, ld.so, which is used to load any dynanmically linked application on your system, does not know it should look for this library during runtime in /usr/local/lib. several ways to overocme this problem: 1. add '/usr/local/lib' to the LD_LIBRARY_PATH environment variable. this will work temporarily in the window in which you define it, or permanently, if you define it in one of your session startup files (.profile, .bashrc. .cshrc, depending on the shell you're using). 2. add '/usr/local/lib' to the list of libraries in which 'ld.so' should look for libraries, regardless of the user's environment. this is done by _very carefully_ modifying '/etc/ld.so.conf', adding a line with this path at the _end_ of this file (unless you want libraries to be looked first in /usr/local/lib), and then running 'ldconfig -v'. be very carefull if/when you choose this approach, as you might break your system if you make a mistake. the could be other options as well. as you see, quite often, having problems while trying to compile a program has got nothing to do with that program specifically. hope this helps, -- guy "For world domination - press 1, or dial 0, and please hold, for the creator." -- nob o. dy ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]
