porting finch to uClinux
jblanton at masaka.cs.ohiou.edu
Tue Jun 12 12:04:53 EDT 2007
Bill Fassler wrote:
> I did seem to get past purple-client-example by disabling dbus, but I still fail in the examples and this type of failure also explains why I believe the build is still trying to link to host machine libraries instead of target libraries.
> make: Entering directory `/home/project/elf_flat/uClinux-dist/pidgin-2.0.0/libpurple/example'
> /bin/sh ../../libtool --silent --tag=CC --mode=link bfin-uclinux-gcc -Wl,-elf2flt -g -g -O2 -o nullclient -export-dynamic nullclient.o -Wl,--export-dynamic -pthread -L/usr/local/lib -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -lz -lm ../../libpurple/libpurple.la -lnsl -lresolv
> /usr/local/lib/libgobject-2.0.so: could not read symbols: File in wrong format
> collect2: ld returned 1 exit status
Yeah, so ... pkg-config is the sucks for cross-compiling, it seems.
You do, in fact, have to futz with the search path options and such
to force it to use your cross-compile-local libraries instead of
your native libraries, even though you used --host in configure
(because pkg-config does not have any way to specify the build
target architecture, as far as I can see). You'll need to set
PKG_CONFIG_PATH to point to the directory in which all of your
blackfin-related .pc files are located, and probably to be safe you
should set PKG_CONFIG_LIBDIR as well since it's always searched. I
don't see any way to force DATADIR, but you really want to change it
too; it looks like pkg-config is just not smart enough to handle
Basically, if you're missing the correct .pc files, I suspect that
you'll find that pidgin (finch) will still try to link with your
native libraries. However, if you set the PKG_CONFIG_PATH
correctly, it *should* use that first and link against the blackfin
Hope this helps,
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 189 bytes
Desc: Digital signature
More information about the Devel