Am 08.11.2010 06:01, schrieb Nick Allgood: > A netbsd friend of mine gave me some information that may help you > understand it better.. see below: > > your build will typically have something like: cc -o myproc > -I/path/to/headers -L/path/to/libs -lspecialLibrary myfile.c > netbsd requires something more, for runtime linking, which is often > manfested as: > cc -o myprog ... -W,-R/path/to/libs > (running from memory here)... > the "-W," is a flag passed to linker, and linker requires this runtime > link path... > it's diff't than Linux (in requireing it). > programs w/o it will claim to compile and link properly, but won't in > fact run...
I am no NetBSD expert, but your friend is at least partially wrong. In GNUstep we use gcc in a two step process. First the source code (Objective-C) files get converted into machine code and in a finally step we link these files together into the executable, or in this case the library. It is that second phase where something seems to go wrong. I already noticed in my previous mail that NetBSD seems to use an extra "-R" command, what I did not see is that this requires a prefix of "-Wl," to have it passed on to the linker. We are definitely getting this wrong. But the way we get the freetype linker options is this call: freetype-config --libs and it should return the right command options, but obviously it doesn't. On the other hand the command line you reported already contains plenty of "-Wl,-R" options. Perhaps it is only the order that is wrong? Could you please try to following (all in one line and executed in the back Source directory)? gcc -shared -rdynamic -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -Wl,-R/usr/X11R6/lib -L/usr/X11R6/lib -o ./libgnustep-back-019.bundle/./libgnustep-back-019 ./obj/libgnustep-back-019.obj/GSBackend.m.o ./gsc/obj/subproject.o ./x11/obj/subproject.o ./art/obj/subproject.o -L/root/GNUstep/Library/Libraries -L/usr/GNUstep/Local/Library/Libraries -L/usr/GNUstep/System/Library/Libraries -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lart_lgpl_2 -lm -Wl,-R/usr/X11R7/lib -L/usr/X11R7/lib -lfreetype -lz -lXmu -lXt -lXext -lX11 -lGL -lgnustep-gui -lgnustep-base -lpthread -lobjc -lm Still I don't believe that this is the real issue. I still would like to know whether /usr/lib64/libfreetype.so.6 exports FTC_Manager_New or not. _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
