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]

Reply via email to