On Sun, 12 Aug 2007 23:29:16 +0200 Julien Cristau <[EMAIL PROTECTED]> wrote:
> > Which is preferable: > > 1. Require GNU make to cross-build, or > > 2. Hardcode gcc into a series of *manual* make rules in src/utils/ > > 3. find a different way to generate the makekeys output > > ? > > > Whatever can be accepted upstream. Which means that 1 is not an option. What is the problem with keeping a patch in Debian that is not intended for upstream? > > OK, it means the patch can't go upstream but if debian/rules can > > arrange to add the patch (via quilt) only when cross-building, I'd be > > happy with that. > > > I'm not really interested in a patch which can't go upstream. Then it looks like I'll have to maintain an Emdebian patch instead. There has to be a sane way to cross-build the Debian package - the upstream code cross-builds for others. (See OpenEmbedded.) That is why I would be happy for this to be a Debian-only solution - there appears to be something wrong with the Debian build that can work with the raw upstream code. (i.e. I disagree with the 'upstream' tag on this bug.) True, if a solution is found that also works upstream then that would benefit everyone but that is not sufficient cause to refuse to fix the Debian package, IMHO. > Does the attached debdiff fix your build (on top of experimental's > 2:1.1.3-1)? NO. (Gee, another 6 dependencies - that's just what I needed for an embedded X11 system.) :-( The package in experimental does not even get passed configure because the new dependencies are also borked. checking for X11... configure: error: Package requirements (xextproto xtrans xcb-xlib >= 0.9.92) were not met: Package pthread-stubs was not found in the pkg-config search path. Perhaps you should add the directory containing `pthread-stubs.pc' to the PKG_CONFIG_PATH environment variable Package 'pthread-stubs', required by 'XCB', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables X11_CFLAGS and X11_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. (apt-cross reports the installation status of foo-arm-cross in each case) $ apt-cross -v -i libxcb1-dev checking libxcb1-dev dependencies . . . libxcb1-dev depends on libxcb1, installed (1.0-3) : OK libxcb1-dev depends on libpthread-stubs0-dev, installed (0.1-2) : OK libxcb1-dev depends on libxau-dev, installed (1) : OK libxcb1-dev depends on libxdmcp-dev, installed (1) : OK One package to install. Installing: libxcb1-dev libxcb1-dev-arm-cross (1.0-3) is already installed. $ dpkg -l 'libpthread*' | grep arm ii libpthread-stubs0-arm-cross 0.1-2 pthread stubs not provided by native libc (f ii libpthread-stubs0-dev-arm-cross 0.1-2 pthread stubs not provided by native libc, d $ dpkg -L libpthread-stubs0-dev /. /usr /usr/share /usr/share/doc /usr/share/doc/libpthread-stubs0-dev /usr/share/doc/libpthread-stubs0-dev/README /usr/share/doc/libpthread-stubs0-dev/copyright /usr/share/doc/libpthread-stubs0-dev/changelog.Debian.gz /usr/share/pkgconfig /usr/share/pkgconfig/pthread-stubs.pc That should be /usr/lib/pkgconfig/pthread-stubs.pc Forcing the file into the correct location at least allows the build to continue to the inevitable makekeys failure: make[3]: Entering directory `/opt/emdebian/trunk/l/libx11/branches/upstream/libx11-1.1.3/obj-x86_64-linux-gnu/src/util' arm-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../src -I../../include/X11 -I../../../src/util -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -Wall -g -O2 -MT makekeys-makekeys.o -MD -MP -MF .deps/makekeys-makekeys.Tpo -c -o makekeys-makekeys.o `test -f 'makekeys.c' || echo '../../../src/util/'`makekeys.c mv -f .deps/makekeys-makekeys.Tpo .deps/makekeys-makekeys.Po /bin/sh ../../libtool --tag=CC --mode=link arm-linux-gnu-gcc -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -Wall -g -O2 -o makekeys makekeys-makekeys.o -ldl mkdir .libs arm-linux-gnu-gcc -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -I/usr/arm-linux-gnu/include -Wall -g -O2 -o makekeys makekeys-makekeys.o -ldl make[3]: Leaving directory `/opt/emdebian/trunk/l/libx11/branches/upstream/libx11-1.1.3/obj-x86_64-linux-gnu/src/util' ../src/util/makekeys < /usr/arm-linux-gnu/include/X11/keysymdef.h > ks_tables_h /bin/sh: ../src/util/makekeys: cannot execute binary file make[2]: *** [ks_tables.h] Error 126 make[2]: Leaving directory `/opt/emdebian/trunk/l/libx11/branches/upstream/libx11-1.1.3/obj-x86_64-linux-gnu/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/emdebian/trunk/l/libx11/branches/upstream/libx11-1.1.3/obj-x86_64-linux-gnu' make: *** [build-stamp] Error 2 make: Leaving directory `/opt/emdebian/trunk/l/libx11/branches/upstream/libx11-1.1.3' I'm not sure why you thought this would work because the debdiff contained no changes that would have resulted in the src/utils/Makefile using gcc in place of arm-linux-gnu-gcc because the critical variables are defined BEFORE CC_FOR_BUILD is even specified. THAT is why I had to use override. What are you using to build at your end? What is it that makes you think that this can be solved without 'override' ? -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
pgprTweXWI5jy.pgp
Description: PGP signature