* [gentoo-embedded] Problem cross compiling modular X
@ 2006-07-06 11:05 Ryan Baldwin
2006-07-06 12:02 ` Ryan Baldwin
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Ryan Baldwin @ 2006-07-06 11:05 UTC (permalink / raw
To: gentoo-embedded
[-- Attachment #1: Type: text/plain, Size: 10411 bytes --]
Hi,
I have been trying to develop an embedded system using gentoo that can be
cross compiled. I have succeeded in building a busybox/uclibc based system
and PXE booting. I am now trying to emerge xorg-server but get the following
error:
./include/X11/Xauth.h:48:31: X11/Xfuncproto.h: No such file or
directory
./include/X11/Xauth.h:49:27: X11/Xfuncs.h: No such file or directory
In file included from AuDispose.c:33:
./include/X11/Xauth.h:62: error: syntax error before "char"
./include/X11/Xauth.h:69: error: syntax error before "char"
./include/X11/Xauth.h:73: warning: function declaration isn't a
prototype
./include/X11/Xauth.h:76: error: syntax error before "char"
./include/X11/Xauth.h:77: warning: function declaration isn't a
prototype
./include/X11/Xauth.h:85: error: syntax error before "char"
./include/X11/Xauth.h:86: warning: function declaration isn't a
prototype
./include/X11/Xauth.h:96: error: syntax error before "_Xconst"
./include/X11/Xauth.h:109: warning: function declaration isn't a
prototype
./include/X11/Xauth.h:119: error: syntax error before "_Xconst"
./include/X11/Xauth.h:129: warning: function declaration isn't a
prototype
In file included from AuDispose.c:34:
/usr/i686-pc-linux-uclibc/usr/include/stdlib.h:97: error: syntax error
before "typedef"
AuDispose.c: In function `XauDisposeAuth':
AuDispose.c:45: warning: implicit declaration of function `bzero'
AuDispose.c:45: warning: nested extern declaration of `bzero'
make[1]: *** [AuDispose.lo] Error 1
make[1]: Leaving directory
`/var/tmp/portage/libXau-1.0.1/work/libXau-1.0.1'
make: *** [all] Error 2
!!! ERROR: x11-libs/libXau-1.0.1 failed.
Call stack:
ebuild.sh, line 1539: Called dyn_compile
ebuild.sh, line 939: Called src_compile
ebuild.sh, line 1248: Called x-modular_src_compile
x-modular.eclass, line 327: Called x-modular_src_make
x-modular.eclass, line 322: Called die
Prior to this it has just successfully emerged xproto which has installed
the header file that this package is not picking up. Also I can emerge
xorg-server in the host environment with problems.
During its configure it spits out
./configure --prefix=/usr --host=i686-pc-linux-uclibc
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr
--datadir=/usr/share --build=i686-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-uclibc-strip... i686-pc-linux-uclibc-strip
checking whether to enable maintainer-specific portions of
Makefiles... no
checking for i686-pc-linux-uclibc-gcc... i686-pc-linux-uclibc-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... yes
Here I am trying to compile on a host i686-pc-linux-gnu for a target
i686-pc-linux-uclibc. Is this right - from my understanding(not the best)
should have --host=i686-pc-linux-glibs -target= target i686-pc-linux-uclibc.
Anyhow to continue.
My procedure for building this system involves first setting up a chroot env
with a fresh portage and then using crossdev to build a toolchain and then
emerge to build. This is the script I use to build the chroot environment:
RBCONFDIR=${RBTHEROOT}/conf/${1}
RBMEDIADIR=${RBTHEROOT}/media
RBBUILDROOT=${RBTHEROOT}/${1}_chroot
. ${RBCONFDIR}/conf
echo "Config Dir: ${RBCONFDIR}"
echo "Making build root: ${RBBUILDROOT}"
mkdir ${RBBUILDROOT}
cd ${RBBUILDROOT}
echo "Extracting files to build root."
tar xjpf ${RBMEDIADIR}/stage3-i686-2006.0.tar.bz2
tar xjf ${RBMEDIADIR}/portage-20060703.tar.bz2 -C ${RBBUILDROOT}/usr
echo "Copying distfiles"
cp ${RBMEDIADIR}/distfiles/* ${RBBUILDROOT}/usr/portage/distfiles/
echo "Putting in place host make.conf"
cp ${RBTHEROOT}/conf/make.conf ${RBBUILDROOT}/etc/
echo "Copying DNS info"
cp -L /etc/resolv.conf ${RBBUILDROOT}/etc/resolv.conf
echo "Mounting proc filesystem"
mount -t proc none ${RBBUILDROOT}/proc
echo "Mounting dev filesystem"
mount -o bind /dev ${RBBUILDROOT}/dev
echo "Copying phase 2 build files"
mkdir ${RBBUILDROOT}/p2build
cp -r ${RBCONFDIR} ${RBBUILDROOT}/p2build/conf
cp -r ${RBTHEROOT}/build_target/* ${RBBUILDROOT}/p2build/
echo "Entering chroot"
chroot ${RBBUILDROOT} bash /p2build/build-target
The preeceeding script source this . ${RBCONFDIR}/conf:
MY_TARGET_ARCH=x86
MY_TARGET_KERNEL_ARCH=i386
MY_TARGET_CHOST=i686-pc-linux-uclibc
MY_TARGET_CFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
MY_TARGET_USE="-* x86 mmx ssl theora threads tiff doc usb vcd vorbis
wifi win32codecs wmf xml2 xpm xv xvid bzlib ncurses pam zlib avi crypt
divx4linux ftp gd gif gmp gphoto2 gtk gtk2 imlib avi live matroska mpeg
oggvorbis real theora xanim jpeg libwww mpeg msn opengl pdflib
png quicktime dri firebird flac gstreamer java kdeenablefinal libedit mikmod
mmap mng mp3 ogg sdl pdflib bash-completion bitmap-font truetype-fonts
spell tiff truetype usb xmms X a52 aac qt kde dvd dvdr dlloader alsa cdr
nvidia nptl nptlonly pic"
MY_TARGET_INPUT_DEVICES="keyboard mouse"
MY_TARGET_VIDEO_CARDS="nvidia"
This all works OK. The last line enters the chroot env and executes the
following script:
echo "Syncing source tree"
#emerge --sync
emerge xorg-server # This works so it builds ok in the host.
echo "Merging cross dev"
emerge -v crossdev
echo "Fixing overlay"
echo "PORTDIR_OVERLAY=\"/usr/local/portage\"" >> /etc/make.conf
mkdir /usr/local/portage
. /p2build/conf/conf
echo "Creating cross toolchain: ${MY_TARGET_CHOST}"
crossdev --binutils 2.16.1-r2 --gcc 3.4.5-r1 --libc 0.9.29 --kernel
2.6.17 -t $MY_TARGET_CHOST
mkdir -p /tmp/target
echo "sys-apps/baselayout-lite -*" >> /etc/portage/package.keywords
PRET=
echo "Creating kernel"
mkdir /tmp/kernel
echo "sys-kernel/vanilla-sources ~x86" >>
/etc/portage/package.keywords
ROOT="/tmp/kernel" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE}" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v --nodeps vanilla-sources
cp -f /p2build/conf/.config /tmp/kernel/usr/src/linux/
cd /tmp/kernel/usr/src/linux/
ROOT="/tmp/kernel" \
CROSS_COMPILE="${MY_TARGET_CHOST}-" \
ARCH="$MY_TARGET_KERNEL_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE}" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
make bzImage
cd /
echo "Creating rootfs"
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE} make-symlinks" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v busybox
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE}" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v baselayout-lite
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE}" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v cross-${MY_TARGET_CHOST}/uclibc
cp /tmp/target/bin/busybox /bin/busybox
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE} make-symlinks" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v busybox
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE} make-symlinks" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v busybox
And this all works ok too. I can then use the built kernel and rootfs and
PXE boot it. The problem then comes when trying to emerge xorg-server. I do
the following:
ROOT="/tmp/target" \
ARCH="$MY_TARGET_ARCH" \
CHOST="$MY_TARGET_CHOST" \
CBUILD="i686-pc-linux-gnu" \
CFLAGS="$MY_TARGET_CFLAGS" \
CXXFLAGS="$MY_TARGET_CFLAGS" \
INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
USE="${MY_TARGET_USE} cross -doc" \
CONFIG_PROTECT="-* ${ROOT}/etc" \
emerge $PRET -v xorg-server
and after emerging a few packages I get the error. Any help would be greatly
appreciates.
Thanks
Ryan
[-- Attachment #2: Type: text/html, Size: 55180 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 11:05 [gentoo-embedded] Problem cross compiling modular X Ryan Baldwin
@ 2006-07-06 12:02 ` Ryan Baldwin
2006-07-06 14:37 ` Ryan Baldwin
2006-08-24 19:17 ` Enrico Weigelt
2006-07-10 10:41 ` Peter S. Mazinger
2006-07-14 20:21 ` [gentoo-embedded] Problem cross compiling modular X Chuck Robey
2 siblings, 2 replies; 16+ messages in thread
From: Ryan Baldwin @ 2006-07-06 12:02 UTC (permalink / raw
To: gentoo-embedded
Hi,
Since sending my last post I have found:
cp -r /tmp/target/usr/include/X11
/usr/i686-pc-linux-uclibc/sys-include/
'fools' it into building. Does anyone know a 'proper' way of getting this
working ?
This then leads onto the next problem emerge'ing 'libX11'.
'checking whether malloc(0) returns NULL... configure: error: cannot
run test program while cross compiling'.
I'm quite new to cross compiling. I can see what the problem is - configure
cant run any programs in the target environment to fill out config.guess -
because its running on the host. Is there any well known way of working
around this other then trying to manually write a config.guess for the
packages that can't configure themselves for the target environment?
Thanks
Ryan
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 12:02 ` Ryan Baldwin
@ 2006-07-06 14:37 ` Ryan Baldwin
2006-07-06 19:21 ` Mike Frysinger
2006-08-24 19:19 ` Enrico Weigelt
2006-08-24 19:17 ` Enrico Weigelt
1 sibling, 2 replies; 16+ messages in thread
From: Ryan Baldwin @ 2006-07-06 14:37 UTC (permalink / raw
To: gentoo-embedded
Hi,
>This then leads onto the next problem emerge'ing 'libX11'.
>
> 'checking whether malloc(0) returns NULL... configure: error: cannot
>run test program while cross compiling'.
>
>I'm quite new to cross compiling. I can see what the problem is - configure
>cant run any programs in the target environment to fill out config.guess -
>because its running on the host. Is there any well known way of working
>around this other then trying to manually write a config.guess for the
>packages that can't configure themselves for the target environment?
I have resolved this problem I think by referring to the Xorg cross
compilation guide. It seems I need to pass --enable-malloc0returnsnull to
configure, set CC_FOR_BUILD and apply a few patches.
This appears to indicate though that cross compiling Xorg is not really
supported under gentoo? Presumably this would be done when the 'cross' USE
flag is set otherwise? Is this the case or am I missing something obvious ?
>Since sending my last post I have found:
>
> cp -r /tmp/target/usr/include/X11
>/usr/i686-pc-linux-uclibc/sys-include/
>
>'fools' it into building. Does anyone know a 'proper' way of getting this
>working ?
This though despite much searching I can't seem to find out what I
should(the proper way) do to make these header files available to the cross
compiler ?
Thanks
Ryan
--
gentoo-embedded@gentoo.org mailing list
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 14:37 ` Ryan Baldwin
@ 2006-07-06 19:21 ` Mike Frysinger
2006-08-24 19:19 ` Enrico Weigelt
1 sibling, 0 replies; 16+ messages in thread
From: Mike Frysinger @ 2006-07-06 19:21 UTC (permalink / raw
To: gentoo-embedded; +Cc: Ryan Baldwin
[-- Attachment #1: Type: text/plain, Size: 470 bytes --]
On Thursday 06 July 2006 10:37, Ryan Baldwin wrote:
> This appears to indicate though that cross compiling Xorg is not really
> supported under gentoo?
that all depends on whether you setup your build environment properly
in an ideal world:
- only RDEPEND stuff goes into /tmp/target/
- only DEPEND stuff goes into /usr/$CTARGET/
so to address the issue, you could do:
ROOT=/usr/$CTARGET/ emerge <X header packages>
ROOT=/tmp/target/ emerge <X server/etc...>
-mike
[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 11:05 [gentoo-embedded] Problem cross compiling modular X Ryan Baldwin
2006-07-06 12:02 ` Ryan Baldwin
@ 2006-07-10 10:41 ` Peter S. Mazinger
2006-07-10 11:01 ` Ryan Baldwin
2006-07-14 20:21 ` [gentoo-embedded] Problem cross compiling modular X Chuck Robey
2 siblings, 1 reply; 16+ messages in thread
From: Peter S. Mazinger @ 2006-07-10 10:41 UTC (permalink / raw
To: gentoo-embedded
On Thu, 6 Jul 2006, Ryan Baldwin wrote:
> ./configure --prefix=/usr --host=i686-pc-linux-uclibc
> --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
> --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr
> --datadir=/usr/share --build=i686-pc-linux-gnu
why are you at all cross-compiling, you have the same arch, use simply an
uClibc chroot
Peter
--
Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [gentoo-embedded] Problem cross compiling modular X
2006-07-10 10:41 ` Peter S. Mazinger
@ 2006-07-10 11:01 ` Ryan Baldwin
2006-07-10 17:44 ` [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up nick thompson
0 siblings, 1 reply; 16+ messages in thread
From: Ryan Baldwin @ 2006-07-10 11:01 UTC (permalink / raw
To: gentoo-embedded
Hi,
Thanks for your replies people.
>why are you at all cross-compiling, you have the same arch, use simply an
>uClibc chroot
Ultimately I want target other arch's, probably ARM. For the time being
though I happen to be targeting the same arch.
After the previous reply -
>that all depends on whether you setup your build environment properly
>in an ideal world:
> - only RDEPEND stuff goes into /tmp/target/
> - only DEPEND stuff goes into /usr/$CTARGET/
>so to address the issue, you could do:
>ROOT=/usr/$CTARGET/ emerge <X header packages> ROOT=/tmp/target/ emerge <X
>server/etc...> -mike
I ended up finding a lot more stuff that has helped me immensely and I am
now getting quite close to my first objective.
Something that continues to baffle me though is that on this mailing list
people have referred to cross compiling modular X and having got it up and
running.
I can't see how this can be done without setting up a portage overlay and
modifying the ebuilds for several of the packages under x11-libs/(at least)
to take the steps detailed in http://wiki.x.org/wiki/CrossCompilingXorg . So
far I have created modified ebuilds in my overlay dir to pass
--enable-malloc0returnsnull to ./configure where required and to set
CC_FOR_BUILD and apply the patches from that page. This has then allowed me
to cross compile those packages.
What baffles me is that from what I read on this list perhaps I shouldn't
need to do this, is there a portage overlay available somewhere that does
this already? If so I cant find it. If anyone could give many any clused
with regard to this, or let me know the steps they take to cross compile
modular X then that would be a great help.
Thanks
Ryan
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up
2006-07-10 11:01 ` Ryan Baldwin
@ 2006-07-10 17:44 ` nick thompson
2006-07-11 12:37 ` Ned Ludd
0 siblings, 1 reply; 16+ messages in thread
From: nick thompson @ 2006-07-10 17:44 UTC (permalink / raw
To: gentoo-embedded
hi all,
I have a nslu2 (non-turbo, "slug") and I have everything up to date
except gcc freezes when untarring the tar.bz2, and I have let it sit for
hours and hours, even overnight, and it sure seems frozen to me. Anyone
seen this?
Nick
"All unix, all the time."
http://npt.ath.cx
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up
2006-07-10 17:44 ` [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up nick thompson
@ 2006-07-11 12:37 ` Ned Ludd
2006-07-14 3:40 ` nick thompson
0 siblings, 1 reply; 16+ messages in thread
From: Ned Ludd @ 2006-07-11 12:37 UTC (permalink / raw
To: gentoo-embedded
You should of started a new thread for this vs hijacking a sub thread of
somebody else's.
On Mon, 2006-07-10 at 12:44 -0500, nick thompson wrote:
> hi all,
> I have a nslu2 (non-turbo, "slug") and I have everything up to date
> except gcc freezes when untarring the tar.bz2, and I have let it sit for
> hours and hours, even overnight, and it sure seems frozen to me. Anyone
> seen this?
Yes I have in the exact same spot. Sadly I never found a solution for
that problem. Seems to me that the kernel hates on large file i/o.
Perhaps try unpacking it elsewhere and net mounting it.
or.. build a cross native compiler for armeb.
good luck.
> Nick
>
> "All unix, all the time."
>
> http://npt.ath.cx
--
Ned Ludd <solar@gentoo.org>
Gentoo Linux
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up
2006-07-11 12:37 ` Ned Ludd
@ 2006-07-14 3:40 ` nick thompson
2006-07-15 2:39 ` Mike Frysinger
0 siblings, 1 reply; 16+ messages in thread
From: nick thompson @ 2006-07-14 3:40 UTC (permalink / raw
To: gentoo-embedded
Ned Ludd wrote:
> You should of started a new thread for this vs hijacking a sub thread of
> somebody else's.
>
Ned,
I apologize, I am confused, I though I started a new thread? That is
how it is in my email... I apologize, I did not mean to cause any
trouble at all. Can you explain to me what you mean (Sorry, just
confused... I do believe I edited a message but i deleted everything
except the gentoo-embedded address. Does that screw things up somehow?
Anyway, I do apologize, I did not mean to cause trouble.
> On Mon, 2006-07-10 at 12:44 -0500, nick thompson wrote:
>> hi all,
>> I have a nslu2 (non-turbo, "slug") and I have everything up to date
>> except gcc freezes when untarring the tar.bz2, and I have let it sit for
>> hours and hours, even overnight, and it sure seems frozen to me. Anyone
>> seen this?
>
> Yes I have in the exact same spot. Sadly I never found a solution for
> that problem. Seems to me that the kernel hates on large file i/o.
> Perhaps try unpacking it elsewhere and net mounting it.
>
> or.. build a cross native compiler for armeb.
>
>
> good luck.
>
Wow. So you have the same problem, that is the only package that
currently does not compile? Ok then I do believe I am completely up to
date. (well as much as I can be.., since gcc freezes.) Anyway, another
message to follow...
Nick
"All unix, all the time."
http://npt.ath.cx
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 11:05 [gentoo-embedded] Problem cross compiling modular X Ryan Baldwin
2006-07-06 12:02 ` Ryan Baldwin
2006-07-10 10:41 ` Peter S. Mazinger
@ 2006-07-14 20:21 ` Chuck Robey
2 siblings, 0 replies; 16+ messages in thread
From: Chuck Robey @ 2006-07-14 20:21 UTC (permalink / raw
To: gentoo-embedded
Ryan Baldwin wrote:
> Hi,
>
> I have been trying to develop an embedded system using gentoo that can
> be cross compiled. I have succeeded in building a busybox/uclibc based
> system and PXE booting. I am now trying to emerge xorg-server but get
> the following error:
>
> ./include/X11/Xauth.h:48:31: X11/Xfuncproto.h: No such file or directory
>
> ./include/X11/Xauth.h:49:27: X11/Xfuncs.h: No such file or directory
>
> In file included from AuDispose.c:33:
>
> ./include/X11/Xauth.h:62: error: syntax error before "char"
>
> ./include/X11/Xauth.h:69: error: syntax error before "char"
>
> ./include/X11/Xauth.h:73: warning: function declaration isn't a prototype
>
> ./include/X11/Xauth.h:76: error: syntax error before "char"
>
> ./include/X11/Xauth.h:77: warning: function declaration isn't a prototype
>
> ./include/X11/Xauth.h:85: error: syntax error before "char"
>
> ./include/X11/Xauth.h:86: warning: function declaration isn't a prototype
>
> ./include/X11/Xauth.h:96: error: syntax error before "_Xconst"
>
> ./include/X11/Xauth.h:109: warning: function declaration isn't a prototype
>
> ./include/X11/Xauth.h:119: error: syntax error before "_Xconst"
>
> ./include/X11/Xauth.h:129: warning: function declaration isn't a prototype
>
> In file included from AuDispose.c:34:
>
> /usr/i686-pc-linux-uclibc/usr/include/stdlib.h:97: error: syntax error
> before "typedef"
>
> AuDispose.c: In function `XauDisposeAuth':
>
> AuDispose.c:45: warning: implicit declaration of function `bzero'
>
> AuDispose.c:45: warning: nested extern declaration of `bzero'
>
> make[1]: *** [AuDispose.lo] Error 1
>
> make[1]: Leaving directory
> `/var/tmp/portage/libXau-1.0.1/work/libXau-1.0.1'
>
> make: *** [all] Error 2
>
> !!! ERROR: x11-libs/libXau-1.0.1 failed.
>
> Call stack:
>
> ebuild.sh, line 1539: Called dyn_compile
>
> ebuild.sh, line 939: Called src_compile
>
> ebuild.sh, line 1248: Called x-modular_src_compile
>
> x-modular.eclass, line 327: Called x-modular_src_make
>
> x-modular.eclass, line 322: Called die
>
>
>
> Prior to this it has just successfully emerged xproto which has
> installed the header file that this package is not picking up. Also I
> can emerge xorg-server in the host environment with problems.
>
> During its configure it spits out
>
>
>
> ./configure --prefix=/usr --host=i686-pc-linux-uclibc
> --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
> --sysconfdir=/etc --localstatedir=/var/lib --prefix=/usr
> --datadir=/usr/share --build=i686-pc-linux-gnu
>
> checking for a BSD-compatible install... /bin/install -c
>
> checking whether build environment is sane... yes
>
> checking for gawk... gawk
>
> checking whether make sets $(MAKE)... yes
>
> checking for i686-pc-linux-uclibc-strip... i686-pc-linux-uclibc-strip
>
> checking whether to enable maintainer-specific portions of Makefiles... no
>
> checking for i686-pc-linux-uclibc-gcc... i686-pc-linux-uclibc-gcc
>
> checking for C compiler default output file name... a.out
>
> checking whether the C compiler works... yes
>
> checking whether we are cross compiling... yes
>
>
>
>
> Here I am trying to compile on a host i686-pc-linux-gnu for a target
> i686-pc-linux-uclibc. Is this right – from my understanding(not the
> best) should have --host=i686-pc-linux-glibs –target= target
> i686-pc-linux-uclibc. Anyhow to continue.
>
> My procedure for building this system involves first setting up a
> chroot env with a fresh portage and then using crossdev to build a
> toolchain and then emerge to build. This is the script I use to build
> the chroot environment:
>
>
>
>
>
> RBCONFDIR=${RBTHEROOT}/conf/${1}
>
> RBMEDIADIR=${RBTHEROOT}/media
>
> RBBUILDROOT=${RBTHEROOT}/${1}_chroot
>
> . ${RBCONFDIR}/conf
>
> echo "Config Dir: ${RBCONFDIR}"
>
> echo "Making build root: ${RBBUILDROOT}"
>
> mkdir ${RBBUILDROOT}
>
> cd ${RBBUILDROOT}
>
> echo "Extracting files to build root."
>
> tar xjpf ${RBMEDIADIR}/stage3-i686-2006.0.tar.bz2
>
> tar xjf ${RBMEDIADIR}/portage-20060703.tar.bz2 -C ${RBBUILDROOT}/usr
>
> echo "Copying distfiles"
>
> cp ${RBMEDIADIR}/distfiles/* ${RBBUILDROOT}/usr/portage/distfiles/
>
> echo "Putting in place host make.conf"
>
> cp ${RBTHEROOT}/conf/make.conf ${RBBUILDROOT}/etc/
>
> echo "Copying DNS info"
>
> cp -L /etc/resolv.conf ${RBBUILDROOT}/etc/resolv.conf
>
> echo "Mounting proc filesystem"
>
> mount -t proc none ${RBBUILDROOT}/proc
>
> echo "Mounting dev filesystem"
>
> mount -o bind /dev ${RBBUILDROOT}/dev
>
> echo "Copying phase 2 build files"
>
> mkdir ${RBBUILDROOT}/p2build
>
> cp -r ${RBCONFDIR} ${RBBUILDROOT}/p2build/conf
>
> cp -r ${RBTHEROOT}/build_target/* ${RBBUILDROOT}/p2build/
>
> echo "Entering chroot"
>
> chroot ${RBBUILDROOT} bash /p2build/build-target
>
>
>
> The preeceeding script source this . ${RBCONFDIR}/conf:
>
>
>
> MY_TARGET_ARCH=x86
>
> MY_TARGET_KERNEL_ARCH=i386
>
> MY_TARGET_CHOST=i686-pc-linux-uclibc
>
> MY_TARGET_CFLAGS="-Os -march=pentium4 -pipe -fomit-frame-pointer"
>
> MY_TARGET_USE="-* x86 mmx ssl theora threads tiff doc usb vcd vorbis
> wifi win32codecs wmf xml2 xpm xv xvid bzlib ncurses pam zlib avi crypt
> divx4linux ftp gd gif gmp gphoto2 gtk gtk2 imlib avi live matroska
> mpeg oggvorbis real theora xanim jpeg libwww mpeg msn opengl pdflib
> png quicktime dri firebird flac gstreamer java kdeenablefinal libedit
> mikmod mmap mng mp3 ogg sdl pdflib bash-completion bitmap-font
> truetype-fonts spell tiff truetype usb xmms X a52 aac qt kde dvd dvdr
> dlloader alsa cdr nvidia nptl nptlonly pic"
>
> MY_TARGET_INPUT_DEVICES="keyboard mouse"
>
> MY_TARGET_VIDEO_CARDS="nvidia"
>
>
>
>
> This all works OK. The last line enters the chroot env and executes
> the following script:
>
>
>
>
> echo "Syncing source tree"
>
> #emerge --sync
>
> emerge xorg-server # This works so it builds ok in the host.
>
>
> echo "Merging cross dev"
>
> emerge -v crossdev
>
> echo "Fixing overlay"
>
> echo "PORTDIR_OVERLAY=\"/usr/local/portage\"" >> /etc/make.conf
>
> mkdir /usr/local/portage
>
> . /p2build/conf/conf
>
> echo "Creating cross toolchain: ${MY_TARGET_CHOST}"
>
> crossdev --binutils 2.16.1-r2 --gcc 3.4.5-r1 --libc 0.9.29 --kernel
> 2.6.17 -t $MY_TARGET_CHOST
>
> mkdir -p /tmp/target
>
> echo "sys-apps/baselayout-lite -*" >> /etc/portage/package.keywords
>
> PRET=
>
> echo "Creating kernel"
>
> mkdir /tmp/kernel
>
> echo "sys-kernel/vanilla-sources ~x86" >> /etc/portage/package.keywords
>
> ROOT="/tmp/kernel" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE}" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v --nodeps vanilla-sources
>
> cp -f /p2build/conf/.config /tmp/kernel/usr/src/linux/
>
> cd /tmp/kernel/usr/src/linux/
>
> ROOT="/tmp/kernel" \
>
> CROSS_COMPILE="${MY_TARGET_CHOST}-" \
>
> ARCH="$MY_TARGET_KERNEL_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE}" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> make bzImage
>
> cd /
>
> echo "Creating rootfs"
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE} make-symlinks" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v busybox
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE}" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v baselayout-lite
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE}" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v cross-${MY_TARGET_CHOST}/uclibc
>
> cp /tmp/target/bin/busybox /bin/busybox
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE} make-symlinks" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v busybox
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE} make-symlinks" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v busybox
>
>
>
> And this all works ok too. I can then use the built kernel and rootfs
> and PXE boot it. The problem then comes when trying to emerge
> xorg-server. I do the following:
>
>
>
> ROOT="/tmp/target" \
>
> ARCH="$MY_TARGET_ARCH" \
>
> CHOST="$MY_TARGET_CHOST" \
>
> CBUILD="i686-pc-linux-gnu" \
>
> CFLAGS="$MY_TARGET_CFLAGS" \
>
> CXXFLAGS="$MY_TARGET_CFLAGS" \
>
> INPUT_DEVICES="$MY_TARGET_INPUT_DEVICES" \
>
> VIDEO_CARDS="$MY_TARGET_VIDEO_CARDS" \
>
> USE="${MY_TARGET_USE} cross -doc" \
>
> CONFIG_PROTECT="-* ${ROOT}/etc" \
>
> emerge $PRET -v xorg-server
>
> and after emerging a few packages I get the error. Any help would be
> greatly appreciates.
>
> Thanks
>
> Ryan
>
>
>
Wow, this is fantastic! Can I take alook?
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up
2006-07-14 3:40 ` nick thompson
@ 2006-07-15 2:39 ` Mike Frysinger
0 siblings, 0 replies; 16+ messages in thread
From: Mike Frysinger @ 2006-07-15 2:39 UTC (permalink / raw
To: gentoo-embedded; +Cc: nick thompson
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
On Thursday 13 July 2006 23:40, nick thompson wrote:
> Ned Ludd wrote:
> > You should of started a new thread for this vs hijacking a sub thread of
> > somebody else's.
>
> I apologize, I am confused, I though I started a new thread?
you probably hit reply all and then just changed the subject ... that isnt how
it works with e-mail clients though
-mike
[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 12:02 ` Ryan Baldwin
2006-07-06 14:37 ` Ryan Baldwin
@ 2006-08-24 19:17 ` Enrico Weigelt
2006-08-25 3:39 ` Mike Frysinger
1 sibling, 1 reply; 16+ messages in thread
From: Enrico Weigelt @ 2006-08-24 19:17 UTC (permalink / raw
To: gentoo-embedded
* Ryan Baldwin <ryan.baldwin@nexusalpha.com> schrieb:
<snip>
> This then leads onto the next problem emerge'ing 'libX11'.
>
> 'checking whether malloc(0) returns NULL... configure: error: cannot
> run test program while cross compiling'.
Not an Gentoo issue. The upstream packages are *broken*.
I'm fighting against those things for several years now. Because
upstream of many packages isn't quite interested in getting my
patches in (or too slow), I've founded my own QM project:
* http://wiki.metux.de/public/OpenSource_QM_Taskforce
You'll find many patches (ie. for Xorg packages) here:
* http://patches.metux.de/
I'd love to see you in on our side @ oss-qm. Please join our
Mailinglist.
<snip>
> I'm quite new to cross compiling. I can see what the problem is
> - configure cant run any programs in the target environment to
> fill out config.guess - because its running on the host.
Autoconf is dumb. And some people writing autoconf input files
are even more dumb. Sorry if it sounds offending, but its true.
Although, the autotools collection claims to be suited for
cross-compiling, it actually isn't. At least not cleanly.
Clean crosscompiling (aka in an sysroot-environment) does not
work without deeper changes. So, for example, I had to write
my own libtool implementation, because the original one is not
capable of doing sysroot'ed builds. Also many other standard
macros are broken. The assumption, host root and build root
already is broken design, as well as the assumption, the
toolchains for host and target system were equal.
(ie. that's why mysql can't be crosscompiled: it brings some
code generator, which is built with the target toolchain,
and of course this can never work when crosscompiling).
> Is there any well known way of working around this other then
> trying to manually write a config.guess for the packages that
> can't configure themselves for the target environment?
Fix configure.in. As I did.
See my patch repository.
Please join the oss-qm mailing list, and I'll tell you more.
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-07-06 14:37 ` Ryan Baldwin
2006-07-06 19:21 ` Mike Frysinger
@ 2006-08-24 19:19 ` Enrico Weigelt
2006-08-24 20:31 ` Leonardo Shiguemi Dinnouti
1 sibling, 1 reply; 16+ messages in thread
From: Enrico Weigelt @ 2006-08-24 19:19 UTC (permalink / raw
To: gentoo-embedded
* Ryan Baldwin <ryan.baldwin@nexusalpha.com> schrieb:
Hi,
> I have resolved this problem I think by referring to the Xorg cross
> compilation guide. It seems I need to pass --enable-malloc0returnsnull
> to configure, set CC_FOR_BUILD and apply a few patches.
in other words: manually repair the broken buildfiles :(
<snip>
> This appears to indicate though that cross compiling Xorg is not
> really supported under gentoo?
Isn't supported really, at all.
<snip>
> Presumably this would be done when the 'cross' USE flag is set otherwise?
> Is this the case or am I missing something obvious ?
Eh, crosscompiling via USE flag ?!
It's a matter of the right toolchain (including proper system root)
and not the individual package configuration.
<snip>
> >Since sending my last post I have found:
> >
> > cp -r /tmp/target/usr/include/X11
> >/usr/i686-pc-linux-uclibc/sys-include/
Bad. You really should use an sysroot'ed toolchain and put all
includes under $SYSROOT, in exactly the same way as would be
installed on an normal system.
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-08-24 19:19 ` Enrico Weigelt
@ 2006-08-24 20:31 ` Leonardo Shiguemi Dinnouti
2006-08-28 6:51 ` Peter S. Mazinger
0 siblings, 1 reply; 16+ messages in thread
From: Leonardo Shiguemi Dinnouti @ 2006-08-24 20:31 UTC (permalink / raw
To: gentoo-embedded
Hi,
I've changed the ebuild (libX11-1.0.3.ebuild) in the following lines:
IUSE="ipv6 malloc0returnsnull"
CONFIGURE_OPTIONS="$(use_enable ipv6 malloc0returnsnull)"
and emerged with:
USE="ipv6 -malloc0returnsnull" emerge xorg-x11
But I'm still in trouble (can't find libXau.so, besides I'm sure that
it is there ...)
/usr/lib/gcc/arm-none-linux-gnueabi/4.1.1/../../../../arm-none-linux-gnueabi/bin/ld:
cannot find -lXau
gentoo-arm # find . -iname "libXau*"
./usr/lib/libXau.so.6.0.0
./usr/lib/libXau.so.6
./usr/lib/libXau.a
./usr/lib/libXau.la
./usr/lib/libXau.so
Could someone help-me, please?
Good luck Ryan,
Leonardo.
On 8/24/06, Enrico Weigelt <weigelt@metux.de> wrote:
> * Ryan Baldwin <ryan.baldwin@nexusalpha.com> schrieb:
>
> Hi,
>
> > I have resolved this problem I think by referring to the Xorg cross
> > compilation guide. It seems I need to pass --enable-malloc0returnsnull
> > to configure, set CC_FOR_BUILD and apply a few patches.
>
> in other words: manually repair the broken buildfiles :(
>
> <snip>
>
> > This appears to indicate though that cross compiling Xorg is not
> > really supported under gentoo?
>
> Isn't supported really, at all.
>
> <snip>
>
> > Presumably this would be done when the 'cross' USE flag is set otherwise?
> > Is this the case or am I missing something obvious ?
>
> Eh, crosscompiling via USE flag ?!
> It's a matter of the right toolchain (including proper system root)
> and not the individual package configuration.
>
> <snip>
>
> > >Since sending my last post I have found:
> > >
> > > cp -r /tmp/target/usr/include/X11
> > >/usr/i686-pc-linux-uclibc/sys-include/
>
> Bad. You really should use an sysroot'ed toolchain and put all
> includes under $SYSROOT, in exactly the same way as would be
> installed on an normal system.
>
>
> cu
> --
> ---------------------------------------------------------------------
> Enrico Weigelt == metux IT service - http://www.metux.de/
> ---------------------------------------------------------------------
> Please visit the OpenSource QM Taskforce:
> http://wiki.metux.de/public/OpenSource_QM_Taskforce
> Patches / Fixes for a lot dozens of packages in dozens of versions:
> http://patches.metux.de/
> ---------------------------------------------------------------------
> --
> gentoo-embedded@gentoo.org mailing list
>
>
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-08-24 19:17 ` Enrico Weigelt
@ 2006-08-25 3:39 ` Mike Frysinger
0 siblings, 0 replies; 16+ messages in thread
From: Mike Frysinger @ 2006-08-25 3:39 UTC (permalink / raw
To: gentoo-embedded
[-- Attachment #1: Type: text/plain, Size: 679 bytes --]
On Thursday 24 August 2006 15:17, Enrico Weigelt wrote:
> Autoconf is dumb. And some people writing autoconf input files
> are even more dumb. Sorry if it sounds offending, but its true.
dumb is the wrong word ... autotools are quite complicated and writing proper
autotool code requires a lot of work
expecting everyone to dig in and write correct code all the time just makes
you pretentious
> Although, the autotools collection claims to be suited for
> cross-compiling, it actually isn't.
your only beef is with libtool, the other packages handle cross-compiling just
fine ... i make have illusions about the design limitations of libtool though
-mike
[-- Attachment #2: Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [gentoo-embedded] Problem cross compiling modular X
2006-08-24 20:31 ` Leonardo Shiguemi Dinnouti
@ 2006-08-28 6:51 ` Peter S. Mazinger
0 siblings, 0 replies; 16+ messages in thread
From: Peter S. Mazinger @ 2006-08-28 6:51 UTC (permalink / raw
To: gentoo-embedded
On Thu, 24 Aug 2006, Leonardo Shiguemi Dinnouti wrote:
> Hi,
>
> I've changed the ebuild (libX11-1.0.3.ebuild) in the following lines:
>
> IUSE="ipv6 malloc0returnsnull"
> CONFIGURE_OPTIONS="$(use_enable ipv6 malloc0returnsnull)"
>
> and emerged with:
>
> USE="ipv6 -malloc0returnsnull" emerge xorg-x11
>
> But I'm still in trouble (can't find libXau.so, besides I'm sure that
> it is there ...)
>
> /usr/lib/gcc/arm-none-linux-gnueabi/4.1.1/../../../../arm-none-linux-gnueabi/bin/ld:
> cannot find -lXau
>
> gentoo-arm # find . -iname "libXau*"
>
> ./usr/lib/libXau.so.6.0.0
> ./usr/lib/libXau.so.6
> ./usr/lib/libXau.a
> ./usr/lib/libXau.la
> ./usr/lib/libXau.so
if that is a cross-build, then you need the arm version of libXau, not the
host one
Peter
>
> Could someone help-me, please?
>
> Good luck Ryan,
> Leonardo.
>
>
> On 8/24/06, Enrico Weigelt <weigelt@metux.de> wrote:
> > * Ryan Baldwin <ryan.baldwin@nexusalpha.com> schrieb:
> >
> > Hi,
> >
> > > I have resolved this problem I think by referring to the Xorg cross
> > > compilation guide. It seems I need to pass --enable-malloc0returnsnull
> > > to configure, set CC_FOR_BUILD and apply a few patches.
> >
> > in other words: manually repair the broken buildfiles :(
> >
> > <snip>
> >
> > > This appears to indicate though that cross compiling Xorg is not
> > > really supported under gentoo?
> >
> > Isn't supported really, at all.
> >
> > <snip>
> >
> > > Presumably this would be done when the 'cross' USE flag is set otherwise?
> > > Is this the case or am I missing something obvious ?
> >
> > Eh, crosscompiling via USE flag ?!
> > It's a matter of the right toolchain (including proper system root)
> > and not the individual package configuration.
> >
> > <snip>
> >
> > > >Since sending my last post I have found:
> > > >
> > > > cp -r /tmp/target/usr/include/X11
> > > >/usr/i686-pc-linux-uclibc/sys-include/
> >
> > Bad. You really should use an sysroot'ed toolchain and put all
> > includes under $SYSROOT, in exactly the same way as would be
> > installed on an normal system.
> >
> >
> > cu
> > --
> > ---------------------------------------------------------------------
> > Enrico Weigelt == metux IT service - http://www.metux.de/
> > ---------------------------------------------------------------------
> > Please visit the OpenSource QM Taskforce:
> > http://wiki.metux.de/public/OpenSource_QM_Taskforce
> > Patches / Fixes for a lot dozens of packages in dozens of versions:
> > http://patches.metux.de/
> > ---------------------------------------------------------------------
> > --
> > gentoo-embedded@gentoo.org mailing list
> >
> >
>
--
Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2
--
gentoo-embedded@gentoo.org mailing list
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2006-08-28 6:53 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-06 11:05 [gentoo-embedded] Problem cross compiling modular X Ryan Baldwin
2006-07-06 12:02 ` Ryan Baldwin
2006-07-06 14:37 ` Ryan Baldwin
2006-07-06 19:21 ` Mike Frysinger
2006-08-24 19:19 ` Enrico Weigelt
2006-08-24 20:31 ` Leonardo Shiguemi Dinnouti
2006-08-28 6:51 ` Peter S. Mazinger
2006-08-24 19:17 ` Enrico Weigelt
2006-08-25 3:39 ` Mike Frysinger
2006-07-10 10:41 ` Peter S. Mazinger
2006-07-10 11:01 ` Ryan Baldwin
2006-07-10 17:44 ` [gentoo-embedded] nslu2 non turbo slug emerge gcc freezes / locks up nick thompson
2006-07-11 12:37 ` Ned Ludd
2006-07-14 3:40 ` nick thompson
2006-07-15 2:39 ` Mike Frysinger
2006-07-14 20:21 ` [gentoo-embedded] Problem cross compiling modular X Chuck Robey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox