lfs -> Ubuntu cross compiler w/ apt?

Nathan Coulson <[email protected]>
Newsgroups gmane.linux.lfs.general
Message-ID <CAFvYhDB3-X=rBua5SHEb0mXjYr1rtLnjhGQ3g8H37CwTG8WPPw@mail.gmail.com>
I built myself a compiler that can compile binaries for ubuntu (using
their libraries).  Originally I just used the standard LFS compiler,
but later on had a few messages that I believe were complaining that
my glibc was newer then ubuntu's.  (was long ago,  don't quite recall
the exact message).

To work around this, I built a

First, I grabbed a few of the ubuntu .deb files, and converted them w/
the deb2tgz utility.

install -d -m755 /usr/x86_64-ubuntu1104-linux-gnu/sysroot

tar -xf src/libc6_2.13-0ubuntu13_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/libc6-i386_2.13-0ubuntu13_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/libc6-dev_2.13-0ubuntu13_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/libc6-dev-i386_2.13-0ubuntu13_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/linux-libc-dev_2.6.38-11.48_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/ia32-libs_20090808ubuntu13_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot
tar -xf src/libltdl7_2.2.6b-2ubuntu3_amd64.tar.xz -C
/usr/x86_64-ubuntu1104-linux-gnu/sysroot

fixed up a few absolute symlinks,

rm /usr/x86_64-ubuntu1104-linux-gnu/sysroot/lib64
ln -sv lib /usr/x86_64-ubuntu1104-linux-gnu/sysroot/lib64
#fix absolute symlinks
cd /usr/x86_64-ubuntu1104-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu
for x in *; do if [ -h "$x" ];then LINK=../..`readlink $x`; ln -sf
$LINK $x; fi; done
cd /usr/x86_64-ubuntu1104-linux-gnu/sysroot/usr/lib/
ln -sf x86_64-linux-gnu/* .
cd /usr/x86_64-ubuntu1104-linux-gnu/sysroot/lib
ln -sf x86_64-linux-gnu/* .

rm /usr/x86_64-ubuntu1104-linux-gnu/sysroot/usr/include/asm
ln -sfv x86_64-linux-gnu/asm
/usr/x86_64-ubuntu1104-linux-gnu/sysroot/usr/include/asm

then rebuilt binutils/gcc using the sysroot flag  (I used the same
versions from LFS, so perhaps a bit newer then ubuntu's)
../binutils-${BINUTILS_VERSION}/configure --prefix=/usr \
  --target=x86_64-ubuntu1104-linux-gnu \
  --with-sysroot=/usr/x86_64-ubuntu1104-linux-gnu/sysroot &&
make &&
make install &&

../gcc-${GCC_VERSION}/configure --prefix=/usr \
  --target=x86_64-ubuntu1104-linux-gnu \
  --with-sysroot=/usr/x86_64-ubuntu1104-linux-gnu/sysroot \
  --enable-shared --enable-threads=posix \
  --enable-__cxa_atexit --enable-languages=c \
  --disable-libstdcxx-pch \
  --enable-long-long \
  --disable-libgomp --disable-libquadmath \
  --without-ppl --without-cloog &&
make -j6 &&
make install &&

(I based this upon my linux -> mingw64 compiler, may have a few extra
flags.   I'll have to investigate later.  although I don't think I
disabled any features I actually use)






It works fine and dandy, but I was wondering if I should be worrying
about the updates in ubuntu, and how hard it would be to setup an apt
repository and just pull the updates directly from ubuntu into a
sysroot folder.  Would save time compared to hunting down the .deb's
then converting them manually.

-- 
Nathan Coulson (conathan)
------
Location: British Columbia, Canada
Timezone: PST (-8)
Webpage: http://www.nathancoulson.com
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-chat
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.