I've been having problems with libX11.  First it tries to build a binary
with the crosscompiler then execute it:

/bin/sh: ../src/util/makekeys: cannot execute binary file

I wrote a patch that fixes this... See below.

I'm still having a problem with libtool.  The last step of the build process
it does the following:
/bin/sh ../libtool --mode=link armv5l-softfloat-linux-uclibc-gcc ... -L 
/newroot/usr/lib ...
...(much more)... -lXau -lXdmcp -ldl

This calls the crosscompiler replacing -lXau and -lXdmcp with 
/usr/lib/libXau.so and
/usr/lib/libXdmcp.so INSTEAD of the crosscompiled ones in /newroot/usr/lib

Same thing even if I hardcode values in ../libtool for sys_lib_search_path_spec.
I also tried setting an LDPATH in /etc/env.d/05crosscompiler.

Am I missing something in /etc/ld.so.conf environment?

Thanks!
Dave Thomas

Here are the fixes:
Added to ebuild (is this right? comments? it seems to work):
src_unpack()
{
        x-modular_unpack_source
        x-modular_patch_source
        cd ${S}
        epatch /path/to/patchfile
        x-modular_reconf_source
}

patchfile:
--- src/util/Makefile.am        
+++ src/util/Makefile.am        
@@ -4,7 +4,8 @@
 
 makekeys_CFLAGS=$(X11_CFLAGS) $(BIGREQS_CFLAGS)
 
-#override CC = gcc
+#do not override CC, this is needed when using a crosscompiler since this 
executable is to be run on $build not $host
+CC = gcc
 LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 
 EXTRA_DIST = mkks.sh
--- src/util/Makefile.in
+++ src/util/Makefile.in
@@ -189,8 +189,9 @@
 
 makekeys_CFLAGS = $(X11_CFLAGS) $(BIGREQS_CFLAGS)
 
-#override CC = gcc
+#no, do not override CC, this is needed when using a crosscompiler since this 
executable is to be run on $build not $host
+CC = gcc
 LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@

__END__



-- 
[email protected] mailing list

Reply via email to