LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Error when compiling programs : diagnostic tools and ressources (https://www.linuxquestions.org/questions/linux-newbie-8/error-when-compiling-programs-diagnostic-tools-and-ressources-285568/)

HamsterViolent 02-02-2005 09:06 PM

Error when compiling programs : diagnostic tools and ressources
 
Can someone help me investigating error messages when compiling programs. I really don't know where to start, what should I read or learn to be autonomous in investigating those issues. Here are some examples :

I am trying to install OPENOBEX and OBEXFTP.
OPENOBEX installs properly. But for OBEXFTP I get this error :
obexftpd.o(.text+0x1bc): In function `start_server':
Code:

/home/denis/downloads/obexftp-0.10.6/apps/obexftpd.c:116: undefined reference to `OBEX_ServerAccept'
I also have a compiling error when I try to compile OPENOBEX-APPS or 3DDESKTOP.

I Googgled for answers and I have seen similar questions from other users with no answers.

I am running Fedora Core 3 and managed to install nvidia drivers, otherwise, my system is clean and I followed a standard install.

foo_bar_foo 02-02-2005 10:49 PM

ok these things can be difficult but not impossible to solve
this symbol one would assume is supposed to in the OPENOBEX library
because i don't know what the lib is called i assume libopenobex.so
so find it and do
objdump -T libopenobex.so | grep OBEX_ServerAccept
this will show you if the symbol is in the library or not
to look at all the symbols just leave off the pipe to grep
if this returns nothing then your lbrary is possibly not the right version for your software
try to find what version you need
start with the INSTALL file ond the README file in the OBEXFTP package for info
or just try to upgrade to the latest OPENOBEX ?

another thing that happens sometimes but not likely here but worth checking out is the symbol OBEX_ServerAccept
may not be in the libopenobex.so but is in a lib linked to libopenobex.so
so do
ldd libopenobex.so
to see all the other libs linked to libopenobex.so
you can run the objdump command on them if you like looking for OBEX_ServerAccept

if the symbol "IS" in the library or anotherone then the compiler command in the Makefile that is attempting the link may be bad
for your version of gcc or libtool or automake or something

possibly the lib (or one linked to it) is not included with an -l flag like -lopenobex after obexftpd.o so the linker can rundown the symbol

sometimes when a link fails it is the final step in building the software and you can copy the last long gcc command and fix it and paste it back to the command line and get the build to finish properly
or possibly alter the Makefile -- either the top level one or the one in the ./apps directory


All times are GMT -5. The time now is 10:43 AM.