On Tue, May 30, 2006 at 02:16:34PM -0500, Joel Means wrote:
> Does
> anyone happen to have a copy of that around still? I believe it was Ken
> Moffat who mentioned having used the patch on an old mailing list.
> Here, I found the thread:
>
> http://linuxfromscratch.org/pipermail/cross-lfs/2005-December/000746.html
>
> I am actually trying to do the same thing as the OP in this thread,
> which is to build a 32-bit Firefox on my CLFS x86_64 multilib system. I
> have several other issues, but those will require some more trying
> before I bring them on here.
> Thanks,
> Joel
>
Hi Joel, hopefully my reply has got through, so you should now have
a link to the patch. As I said, that build of mine wasn't perfect,
but it worked well enough for me to use realplayer with it
(providing I can remember the layout of the control buttons on the
player). the package versions are now obsolete, which means
(particularly for firefox) that specifics might have changed a lot.
I'm sure I've posted most of this in past threads, or else the
issues are different (I can remember somebody had very different
issues with some of the packages, so only try fixing compiles after
you prove they are indeed broken!), but I don't think I ever
documented the pango changes anywhere:
Based on trial and error, I renamed -config files for 32-bit apps
to e.g. pkg-config-32
32-bit pango configured with
sed -i 's/\(freetype-config\)/\1-32/g' configure &&
echo "configure" &&
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig \
CC="gcc -m32" CXX="g++ -m32" \
LDFLAGS='-L/lib -L/usr/lib -L/usr/X11R6/lib' \
./configure --prefix=/usr --sysconfdir=/etc --disable-static \
-x-libraries=/usr/X11R6/lib
and after installing
mv -v /usr/bin/pango-querymodules{,-32} >>$LOG 2>&1 &&
pango-querymodules-32 >/etc/pango/pango.modules.32 2>>$LOG &&
# enable 32-bit apps such as firefox to access the correct
# pango.modules - installign the 64-bit will overwrite it.
cat >/etc/pango32rc << "EOF"
[Pango]
ModuleFiles = /etc/pango/pango.modules.32
[PangoX]
AliasFiles = /etc/pango/pangox.aliases
EOF
within firefox: (the rest of it wasn't the same as blfs in those
days, but it wasn't too different)
# OS_TEST uses `uname -m` which returns x86_64
# that causes xpcom/reflect/xptcall/src/md/unix/Makefile
# to use some x86_64 files which generate assembler
# gcc -m32 then barfs on the invalid register names
sed -i 's/\(OS_TEST=\).*/\1i686/' configure
# following two files are hardcoded to CC = gcc, CCC = g++
# fix this to include -m32
# tried changing to $(CC), but that is recursive
sed -i -e 's/\(CC.*= gcc\)/\1 $(ARCHCFLAGS)/' \
-e 's/\(CCC.*= g++\)/\1 ${ARCHCFLAGS}/' \
security/coreconf/Linux.mk directory/c-sdk/config/Linux.mk
# following use the right X, so it's the /lib part that matters,
# and were how I got a 32-bit version
echo "ac_add_options -x-libraries=/usr/X11R6/lib" >>.mozconfig
echo "ac_add_options --host=i686-pc-linux-gnu" >>.mozconfig
# my compile
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG=/usr/bin/pkg-config-32 \
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig \
LDEMULATION=elf_i386 \
ARCHCFLAGS="-m32" \
make -f client.mk build
# alter the firefox script to use the correct pango
# the usual symlink will not do, we need to point pango to the
# 32-bit modules
cat >/usr/bin/firefox << "EOF"
#!/bin/sh
PANGO_RC_FILE=/etc/pango32rc exec /usr/lib/firefox/firefox $@
EOF
chmod +755 /usr/bin/firefox
HTH, E&OE
Ken
--
das eine Mal als Tragödie, das andere Mal als Farce
_______________________________________________
Clfs-support mailing list
[email protected]
http://ninja.linux-phreak.biz/mailman/listinfo/clfs-support