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

Reply via email to