On Fri, 14 Jan 2005, seth vidal wrote:
On Fri, 2005-01-14 at 12:36 -0500, John Ellson wrote:Nick Bargnesi wrote:
If I were you - I would check to make sure you also do not have 32-bit X libraries installed. Part of the full installation you selected installs compat packages allowing you to build for different platforms. If removing the 32-bit libraries helps, send the solution back to the user list.
Related to this. How does one go about removing 32bit libraries with rpm?
How do you selectively remove just i386 rpms? I couldn't find any option in "rpm --help" that selects just the rpms of a given architecture.
with rpm you can do:
rpm -e name.arch
with yum you can do the same:
yum remove name.arch
Yet another problem: On a system with dual x86_64 and i386 libraries many rpms are installed by default for both architectures, an example is mozilla, the default install of FC3 contains these:
mozilla-1.7.3-17.x86_64.rpm mozilla-chat-1.7.3-17.x86_64.rpm mozilla-devel-1.7.3-17.x86_64.rpm mozilla-dom-inspector-1.7.3-17.x86_64.rpm mozilla-js-debugger-1.7.3-17.x86_64.rpm mozilla-mail-1.7.3-17.x86_64.rpm mozilla-nspr-1.7.3-17.i386.rpm mozilla-nspr-1.7.3-17.x86_64.rpm mozilla-nspr-devel-1.7.3-17.x86_64.rpm mozilla-nss-1.7.3-17.i386.rpm mozilla-nss-1.7.3-17.x86_64.rpm mozilla-nss-devel-1.7.3-17.x86_64.rpm mozplugger-1.6.2-1.x86_64.rpm
Here mozilla-nspr and mozilla-nss are for both architectures - the problem is: If one builds updates for x86_64 how does one easily determine what packages that also must be created for i386?
I have problems creating the i386 packages anyway, for example:
# setarch i386 rpmbuild --target i386 --rebuild mozilla-1.7.5-3.src.rpm
Goes like this:
Installing mozilla-1.7.5-3.src.rpm Building target platforms: i386 Building for target i386 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.33053
...lines deleted...
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.60269
+ umask 022
+ cd /usr/src/redhat/BUILD
+ cd mozilla
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /bin/rm -f ./configure
+ /usr/bin/autoconf-2.13
+ '[' -x /usr/bin/getconf ']'
++ getconf _NPROCESSORS_ONLN
+ CPUS=1
+ test x1 = x -o x1 = x0
+ OPTFLAGS=-O2
+ XCFLAGS=-g
+ CFLAGS=-g
+ CXXFLAGS=-g
+ BUILD_OFFICIAL=1
+ MOZILLA_OFFICIAL=1
+ ./configure --prefix=/usr --libdir=/usr/lib64 --enable-optimize=-O2 --disable-debug --with-default-mozilla-five-home=/usr/lib64/mozilla-1.7.5 --disable-strip-libs --disable-tests --enable-xinerama --enable-nspr-autoconf --enable-extensions=default,irc
--without-mng --enable-crypto --disable-xprint --without-system-nspr --with-system-zlib --with-system-png --with-system-jpeg --enable-default-toolkit=gtk2 --disable-freetype2 --enable-xft --enable-pango --mandir=/usr/share/man
...lines deleted...
gmake[6]: Entering directory `/usr/src/redhat/BUILD/mozilla/xpcom/reflect/xptcall/src/md/unix' xptcinvoke_gcc_x86_unix.cpp c++ -o xptcinvoke_gcc_x86_unix.o -c -DOSTYPE=\"Linux2.6.10-1\" -DOSARCH=\"Linux\" -DEXPORT_XPTC_API -I../../../../../../dist/include/xpcom -I../../../../../../dist/include -I/usr/src/redhat/BUILD/mozilla/dist/include/nspr -I./../.. -I/usr/X11R6/include -fPIC -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -g -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -O2 -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h -Wp,-MD,.deps/xptcinvoke_gcc_x86_unix.pp xptcinvoke_gcc_x86_unix.cpp {standard input}: Assembler messages: {standard input}:16: Error: suffix or operands invalid for `push' {standard input}:26: Error: suffix or operands invalid for `push' {standard input}:32: Error: suffix or operands invalid for `pop' gmake[6]: *** [xptcinvoke_gcc_x86_unix.o] Error 1 gmake[6]: Leaving directory `/usr/src/redhat/BUILD/mozilla/xpcom/reflect/xptcall/src/md/unix'
Clearly something triggers setup for the wrong platform in this case, at configure looks in the lib64 directories.
This "works" though:
# rpmbuild --target i386 --rebuild mozilla-1.7.5-3.src.rpm
However the resulting rpm is not okay at all:
# rpm -qpl mozilla-nspr-1.7.5-3.i386.rpm /usr/lib64/libnspr4.so /usr/lib64/libplc4.so /usr/lib64/libplds4.so
Life on the combined x86_64 / i386 architecture seems a bit confusing to me so far :-(
-psi