Hi, I'm trying to cross-compile DirecfFB 1.2.3 as a shared library, and I'm almost a newbie of cross-compilation. When I run 'make' I get this error:
/opt/arc-uclibc-candidate8/bin/arc-linux-uclibc-gcc -shared .libs/arena.o .libs/call.o .libs/conf.o .libs/fusion.o .libs/hash.o .libs/lock.o .libs/object.o .libs/property.o .libs/reactor.o .libs/ref.o .libs/shmalloc.o .libs/vector.o -Wl,--whole-archive shm/.libs/libfusion_shm.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/home/piero/vixs/DirectFB-1.2.3/lib/direct/.libs -Wl,--rpath -Wl,/opt/arc-uclibc-candidate8/lib ../direct/.libs/libdirect.so -ldl -lpthread -Wl,-soname -Wl,libfusion-1.2.so.0 -o .libs/libfusion-1.2.so.0.3.0 ../direct/.libs/libdirect.so: In function `__init': (.init+0x4): multiple definition of `__init' /home/piero/bin/arc-uclibc-candidate8/bin/../lib/gcc/arc-linux-uclibc/4.2.1/crti.o:(.init+0x4): first defined here ../direct/.libs/libdirect.so: In function `__fini': (.fini+0x4): multiple definition of `__fini' /home/piero/bin/arc-uclibc-candidate8/bin/../lib/gcc/arc-linux-uclibc/4.2.1/crti.o:(.fini+0x4): first defined here /home/piero/bin/arc-uclibc-candidate8/bin/../lib/gcc/arc-linux-uclibc/4.2.1/../../../../arc-linux-uclibc/bin/ld: warning: cannot find entry symbol __start; defaulting to 00013a0c collect2: ld returned 1 exit status I can see that, once into lib/fusion, 'make' tries to link ../direct/.libs/libdirect.so (symbolic link to ../direct/.libs/libdirect-1.2.so.0.3.0) against crti.o, which causes the error. I would try to modify the link command, but looking at the Makefile I can't see where that parameter comes from (it should be included into LDFLAGS somewhere...) These are my settings: ARC_PREFIX=/opt/arc-uclibc-devel export CC=$ARC_PREFIX/bin/arc-linux-uclibc-gcc export CXX=$ARC_PREFIX/bin/arc-linux-uclibc-g++ export AR=$ARC_PREFIX/bin/arc-linux-uclibc-ar export LD=$ARC_PREFIX/bin/arc-linux-uclibc-ld export RANLIB=$ARC_PREFIX/bin/arc-linux-uclibc-ranlib export PREFIX=$ARC_PREFIX ./configure --host=arc-linux-uclibc --prefix=$PREFIX --libdir=$PREFIX/lib --includedir=$PREFIX/include --with-gfxdrivers=none --with-inputdrivers=keyboard,linuxinput,lirc,ps2mouse,serialmouse --enable-fbdev --disable-osx --disable-x11 --disable-vnc --disable-sdl --disable-debug --disable-static --enable-shared --disable-multi Any help is appreciated! Thank you, Piero _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev