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 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. |
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. |