Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo/PPC adventure: after > 1 year – emerge -DuvN world
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on PPC
View previous topic :: View next topic  
Author Message
Atha
Tux's lil' helper
Tux's lil' helper


Joined: 22 Sep 2004
Posts: 115

PostPosted: Sun May 09, 2010 6:53 pm    Post subject: Gentoo/PPC adventure: after > 1 year – emerge -DuvN world Reply with quote

Hello forum!

Long time no see. I recently reactivated my ppc Gentoo box.
THIS IS THE STORY OF A SYSTEM UPDATE AFTER >1 YEAR OF INACTIVITY. I thought, it may be interessting for some of you here in the forum.

So here is the story:

I had an Apple Power Mac G4 Mirrored Drive Doors (MDD) Dual-1.0 GHz running Gentoo for more than one year and used it as my primary desktop system, but got me a newer–faster–better Power Mac G5 "Late 2005" Dual Core 2.0 GHz about 14 months year ago. This made me switch to "ppc64", for which I started a completely new installation with 64-bit kernel and 64-bit userland. It was awesome, but tecently my G5 stopped working due to a faulty power supply unit. After some time where I only used my laptop with Gentoo/x86 I came across my old IDE hard drive from the G4 MDD – I promise, purely by chance! Sadly, the G4 MDD I owned before is now at my sisters' place, where she's running Mac OS X Leopard on it.

But I have a refurbished Apple Power Mac G4 "Quicksilver" Dual-800 MHz! So I gave it a try, and it worked with only a few modifications: the framebuffer device and the X.org driver had to be changed from ATI Radeon to nVidia GeForce. This got me a bootable system, so here I was: sitting in front of a Gentoo/PPC installation from > 1 year in the past. So what was I to do with it? "Get it running again!" I thought, and on the way I discovered some inconveniencies with ARCH="ppc"…

The Upgrade

Last updates where made end of 2008/beginning 2009. KDE 3.5.8 was installed, Linux Kernel 2.6.27 and 2.6.28 were at hand.
Before I go into detail: it took me about one week to get a recent system together – with all the build breaks in the middle of the night due to an ebuild/emerge failure message, that I was to discover the next morning… well, sometimes things like this happen…

1. emerge --sync
The only problem was, that my portage partition /usr/portage had too few inodes by default. After formating with mke2fs -N 500000 it worked. The portage tree has at the moment roughly 300.000 files and needs about the same amount of inodes for that. My portage partition is 2 GB in size.
This failure took me some time, but it is self induced, since I just recently changed to partitioning scheme and made a separate partition for the portage tree only. It is ext2 by the way, as journalling is unneccessary for this kind of usage. And the advantage of formating it and reloading the tree with emerge-websync is always there…

2. emerge -DuvN system
First, updated profile: /etc/make.profile -> ../usr/portage/profiles/default/linux/powerpc/ppc32/10.0/desktop/kde (upgraded from 2008.0/desktop)
The emerge -DuvN system update worked like it should. No build errors, everything went fine. Got me gcc updated from 3.4.x and 4.1.x to 4.3.4 and I removed the older ones. sys-kernel/linux-headers-2.6.30-r1 was also on standby, but I updated after I had a running 2.6.33-kernel, since at this time I was still running kernel 2.6.28 and I didn't want to push my luck.
With the newer portage version I also had to add the new license settings to my /etc/make.conf: ACCEPT_LICENSE="@FSF-APPROVED @OSI-APPROVED IBM-J1.5 IBM-J1.6"

3. Kernel
Using genkernel I was able to get a working 2.6.33-gentoo-r1 without problems. This also brought the conversion from the ATA-based devices /dev/hdx to the new libata-based /dev/sdx kernel devices. Since this is the newer and actively developed framework, I changed all references (e.g. in /etc/fstab) to the new device names. This off course makes reverting to previous kernels not as easy as it used to be. But the new kernel is running stable, and libata is the recommended new API (is it ABI? whatever, the new drivers).

4. emerge -DuvN world – part 1
Now the fun begins. Needing to update/install > 700 packages, I had some blockers like this:
Code:
[blocks B     ] <kde-base/kdelibs-3.5.10-r3:3.5 ("<kde-base/kdelibs-3.5.10-r3:3.5" is blocking kde-base/kde-env-4.3.5-r1)
[blocks B     ] media-libs/libmpcdec ("media-libs/libmpcdec" is blocking media-sound/musepack-tools-444-r1)
[blocks B     ] kde-base/kdebase-data ("kde-base/kdebase-data" is blocking kde-base/kdebase-data-3.5.9)
[blocks B     ] <=media-video/vlc-0.9.99999 ("<=media-video/vlc-0.9.99999" is blocking media-video/vlc-1.0.6)
[blocks B     ] kde-base/okular[chm] ("kde-base/okular[chm]" is blocking app-text/kchmviewer-5.1)
[blocks B     ] <media-libs/libdc1394-1.2.2 ("<media-libs/libdc1394-1.2.2" is blocking sys-libs/libraw1394-2.0.4)
[blocks B     ] >=net-libs/xulrunner-1.9.2 (">=net-libs/xulrunner-1.9.2" is blocking gnome-extra/yelp-2.26.0)
[blocks B     ] kde-base/kde-env ("kde-base/kde-env" is blocking kde-base/kdelibs-3.5.9-r4)
[blocks B     ] <=dev-libs/boost-1.35.0-r2 ("<=dev-libs/boost-1.35.0-r2" is blocking dev-libs/boost-1.41.0-r3)
Total: 722 packages (365 upgrades, 1 downgrade, 207 new, 141 in new slots, 8 reinstalls, 9 uninstalls), Size of downloads: 1,661,440 kB
Fetch Restriction: 1 package (1 unsatisfied)
Conflict: 41 blocks (9 unsatisfied)

So I unmerged the blockers first, which worked for most of the packages/blockers.

Here the highlights:

gnome-extra/yelp is pulled in by media-sound/grip, and I unmasked xulrunner:1.9 so that I get the newest firefox (which is at time of this writing 3.6.3). Now, yelp in the stable tree seems to block a newer version of xulrunner, so I simply unmasked a newer version of yelp itself and its depending packages in /etc/portage/package.keywords:
Code:
=gnome-extra/yelp-2.28.1-r2
=app-text/gnome-doc-utils-0.18.1


media-libs/libdc1394 is superceded by sys-libs/libraw1394, unmerging libdc1394 solved it since all new packages depend on libraw1394.

The only package that did not compile so far (from this first emerge) run is: sys-apps/pcmcia-cs-3.2.8-r2
Code:
>>> Emerging (10 of 80) sys-apps/pcmcia-cs-3.2.8-r2
 * pcmcia-cs-3.2.8.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                         [ ok ]

 * REPO: gentoo
 * USE:  X elibc_glibc gtk kernel_linux ppc userland_GNU
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     2.6.33-gentoo-r1-G4QS-2
>>> Unpacking source...

/usr/src/linux/include/asm does not exist!
    To fix, do 'ln -s asm-powerpc asm' in /usr/src/linux/include.

Configuration failed.

Trying the latest ~ppc packages didn't solve the issue, but got me a version of dev-util/yacc – that is strange, since this package has never been installed before, but the file /usr/bin/yacc was on the system somehow:
Code:
G4QS ~ # ACCEPT_KEYWORDS="~ppc" emerge -pv sys-apps/pcmcia-cs

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] dev-util/yacc-1.9.1-r4  64 kB
[ebuild     U ] sys-apps/pcmcia-cs-3.2.9_pre20050614 [3.2.8-r2] USE="X gtk* -trusted -vanilla -xforms" 1,243 kB

Total: 2 packages (1 upgrade, 1 new), Size of downloads: 1,307 kB

Code:
>>> Installing (1 of 1) dev-util/yacc-1.9.1-r4
 * checking 9 files for package collisions
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). Once again, please do NOT file
 * a bug report unless you have completely understood the above message.
 *
 * Detected file collision(s):
 *
 *      /usr/bin/yacc
 *
 * Searching all installed packages for file collisions...
 *
 * Press Ctrl-C to Stop
 *
 * None of the installed packages claim the file(s).
 *
 * Package 'dev-util/yacc-1.9.1-r4' merged despite file collisions. If
 * necessary, refer to your elog messages for the whole content of the
 * above message.

Well, sys-apps/pcmcia-cs isn't compiling with kernel 2.6.33 anyways, and I found that also 2.6.32 and 2.6.31 don't have the required /usr/src/linux/include/asm-powerpc directory anymore. Linking include/asm to include/asm-powerpc made the build fail. Using an older kernel source didn't help either (with both ppc pcmcia-cs-3.2.8-r2 or ~ppc -3.2.9_pre20050614).
Code:
>>> Emerging (1 of 1) sys-apps/pcmcia-cs-3.2.9_pre20050614
 * pcmcia-cs.14-Jun-05.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                     [ ok ]
 * checking ebuild checksums ;-) ...                                                                              [ ok ]
 * checking auxfile checksums ;-) ...                                                                             [ ok ]
 * checking miscfile checksums ;-) ...                                                                            [ ok ]
 * CPV:  sys-apps/pcmcia-cs-3.2.9_pre20050614
 * REPO: gentoo
 * USE:  X elibc_glibc gtk kernel_linux ppc userland_GNU
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/2.6.28-gentoo/build
 * Found sources for kernel version:
 *     2.6.28-gentoo-G4QS2001
>>> Unpacking source...
>>> Unpacking pcmcia-cs.14-Jun-05.tar.gz to /var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work
 * Applying pcmcia-cs-3.2.9_pre20050614-move-pnp-ids.patch ...                                                     [ ok ]
 * Applying pcmcia-cs-3.2.9_pre20050614-x11.patch ...                                                              [ ok ]
 * Applying pcmcia-cs-3.2.9_pre20050614-tools-only.patch ...                                                       [ ok ]
>>> Source unpacked in /var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work
>>> Compiling source in /var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work/pcmcia-cs-3.2.9 ...
 * Unsafe user-space tools disabled
 * Plug and Play support disabled
 * CardBus support enabled
/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work/pcmcia-cs-3.2.9/Configure --noprompt --kernel=/usr/src/linux --target=/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/image/ --arch=powerpc --ucc=powerpc-unknown-linux-gnu-gcc --kcc=powerpc-unknown-linux-gnu-gcc --ld=powerpc-unknown-linux-gnu-ld --uflags=-mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing --kflags=-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer --srctree --nox11 --notrust --nopnp --cardbus

Configuration successful.

** Your kernel is configured with PCMCIA driver support.  Therefore,
** 'make all' will compile the PCMCIA utilities but not the drivers.
** See README-2.4 if this is not what you intended!

make -j3 all
make[1]: Entering directory `/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work/pcmcia-cs-3.2.9/cardmgr'
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -MD -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -c cardmgr.c
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -c -MD -O -pipe -I../include/static -I/usr/src/linux/include -I../include -I../modules yacc_config.c
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -c -MD -O -pipe -I../include/static -I/usr/src/linux/include -I../include -I../modules lex_config.c
lex_config.l: In Funktion »yylex«:
lex_config.l:124: Warnung: Der Rückgabewert von »fwrite«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -Wl,-O1  cardctl.c   -o cardctl
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -Wl,-O1  ifport.c   -o ifport
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -Wl,-O1  ifuser.c   -o ifuser
ifuser.c: In Funktion »main«:
ifuser.c:121: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -Wl,-O1  scsi_info.c   -o scsi_info
scsi_info.c: In Funktion »main«:
scsi_info.c:131: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -I../include/static -I/usr/src/linux/include -I../include -I../modules -Wl,-O1  ide_info.c   -o ide_info
ide_info.c: In Funktion »read_proc_identify«:
ide_info.c:92: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »fix_string« unterscheiden sich im Vorzeichenbesitz
ide_info.c:93: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »fix_string« unterscheiden sich im Vorzeichenbesitz
ide_info.c:94: Warnung: Zeigerziele bei Übergabe des Arguments 1 von »fix_string« unterscheiden sich im Vorzeichenbesitz
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O3 -Wall -Wstrict-prototypes -pipe -Wa,--no-warn -MD -I../include/static -I/usr/src/linux/include -I../include -I../modules -I/usr/X11R6/include -I/usr/X11/include -I/usr/X11R6/include/X11 -c xcardinfo.c
powerpc-unknown-linux-gnu-gcc -mcpu=7450 -O2 -pipe -maltivec -mabi=altivec -fno-strict-aliasing -O -Wall -MD -I../include/static -I/usr/src/linux/include -I../include -I../modules -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12   -c gpccard.c
In Datei, eingefügt von ../include/static/pcmcia/version.h:9,
                 von xcardinfo.c:45:
../include/pcmcia/version.h:9:33: Fehler: pcmcia/version.h: Datei oder Verzeichnis nicht gefunden
xcardinfo.c: In Funktion »do_update«:
xcardinfo.c:334: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
make[1]: *** [xcardinfo.o] Fehler 1
make[1]: *** Warte auf noch nicht beendete Prozesse...
In Datei, eingefügt von ../include/static/pcmcia/version.h:9,
                 von gpccard.c:49:
../include/pcmcia/version.h:9:33: Fehler: pcmcia/version.h: Datei oder Verzeichnis nicht gefunden
cardmgr.c: In Funktion »main«:
cardmgr.c:1492: Warnung: Der Rückgabewert von »write«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
gpccard.c: In Funktion »do_update«:
gpccard.c:188: Warnung: Der Rückgabewert von »fgets«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
gpccard.c: In Funktion »sock_event«:
gpccard.c:327: Warnung: Der Rückgabewert von »read«, der mit dem Attribut warn_unused_result deklariert wurde, wird ignoriert
make[1]: *** [gpccard.o] Fehler 1
make[1]: Leaving directory `/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work/pcmcia-cs-3.2.9/cardmgr'
make: *** [all] Fehler 2
 * ERROR: sys-apps/pcmcia-cs-3.2.9_pre20050614 failed:
 *   emake all failed
 *
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 3579:  Called die
 * The specific snippet of code:
 *       emake all || die "emake all failed"
 *
 * If you need support, post the output of 'emerge --info =sys-apps/pcmcia-cs-3.2.9_pre20050614',
 * the complete build log and the output of 'emerge -pqv =sys-apps/pcmcia-cs-3.2.9_pre20050614'.
 * The complete build log is located at '/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/temp/environment'.
 * S: '/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/work/pcmcia-cs-3.2.9'

>>> Failed to emerge sys-apps/pcmcia-cs-3.2.9_pre20050614, Log file:

>>>  '/var/tmp/portage/portage/sys-apps/pcmcia-cs-3.2.9_pre20050614/temp/build.log'

Since I don't really require the pcmcia stuff, I decided to leave this unresolved for now. I added sys-apps/pcmcia-cs to my /etc/portage/package.mask to avoid further trouble.

After removing the blockers I decided to also remove kde-base/kde-meta and all related packages, that were in my world file. This made the first emerge -DuvN world more focused on the basic stuff (like: between system and world).

5. emerge -DuvN world – part 2 – the texlive problem
While still updating world (without the kde stuff) I had a break because of texlive. It seems to have been the way portage ordered the packages:
Code:
>>> Emerging (1 of 386) dev-tex/envlab-1.2-r1
 * envlab-1.2.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                              [ ok ]
 * checking ebuild checksums ;-) ...                                                                              [ ok ]
 * checking auxfile checksums ;-) ...                                                                             [ ok ]
 * checking miscfile checksums ;-) ...                                                                            [ ok ]
 * CPV:  dev-tex/envlab-1.2-r1
 * REPO: gentoo
 * USE:  elibc_glibc kernel_linux ppc userland_GNU
>>> Unpacking source...
>>> Unpacking envlab-1.2.tar.gz to /var/tmp/portage/portage/dev-tex/envlab-1.2-r1/work
>>> Source unpacked in /var/tmp/portage/portage/dev-tex/envlab-1.2-r1/work
>>> Compiling source in /var/tmp/portage/portage/dev-tex/envlab-1.2-r1/work/envlab ...
 * Compiling envlab ...
This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7)
 %&-line parsing enabled.
---! //var/lib/texmf/web2c/pdftex/latex.fmt doesn't match pdftex.pool
(Fatal format file error; I'm stymied)
 * ERROR: dev-tex/envlab-1.2-r1 failed:
 *   (no error message)
 *
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 2516:  Called die
 * The specific snippet of code:
 *       latex envlab.ins || die;
 *
 * If you need support, post the output of 'emerge --info =dev-tex/envlab-1.2-r1',
 * the complete build log and the output of 'emerge -pqv =dev-tex/envlab-1.2-r1'.
 * The complete build log is located at '/var/tmp/portage/portage/dev-tex/envlab-1.2-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/portage/dev-tex/envlab-1.2-r1/temp/environment'.
 * S: '/var/tmp/portage/portage/dev-tex/envlab-1.2-r1/work/envlab'

>>> Failed to emerge dev-tex/envlab-1.2-r1, Log file:

>>>  '/var/tmp/portage/portage/dev-tex/envlab-1.2-r1/temp/build.log'

Sincec dev-tex/envlab wouldn't build, I decided to run emerge app-text/texlive outside the regular update world process:
Code:
G4QS package.keywords # emerge -pv gnome-base/gail app-text/texlive

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-util/cmake-2.6.4-r3 [2.4.6-r1] USE="qt4%* -emacs -vim-syntax" 0 kB
[ebuild     U ] x11-libs/gtk+-2.18.7 [2.12.11] USE="cups jpeg jpeg2k%* tiff xinerama (-aqua) -debug -doc -test% -vim-syntax (-X%*)" 0 kB
[ebuild     U ] app-text/poppler-0.12.3-r3 [0.8.7] USE="abiword%* cairo%* jpeg jpeg2k%* lcms%* png%* qt4%* utils%* xpdf-headers%* -cjk -debug% -doc% -exceptions% (-zlib%*)" 0 kB
[ebuild     U ] gnome-base/gail-1000 [1.22.3] USE="(-debug%) (-doc%)" 0 kB
[blocks b     ] <gnome-base/gail-1000 ("<gnome-base/gail-1000" is blocking x11-libs/gtk+-2.18.7)
[ebuild  N    ] dev-tex/luatex-0.50.0-r1  USE="-doc" 0 kB
[ebuild     U ] dev-texlive/texlive-latex-2008-r2 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-omega-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-formatsextra-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-context-2008-r1 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-mathextra-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-htmlxml-2008 [2007-r2] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-music-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-latexrecommended-2008-r2 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-bibtexextra-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-latex3-2008 [2007] USE="-doc -source%" 0 kB
[ebuild     U ] dev-texlive/texlive-latexextra-2008-r1 [2007] USE="-doc -source%" 0 kB
[blocks b     ] dev-tex/leaflet ("dev-tex/leaflet" is blocking dev-texlive/texlive-latexextra-2007)
[blocks b     ] dev-tex/g-brief ("dev-tex/g-brief" is blocking dev-texlive/texlive-latexextra-2007)
[blocks b     ] =dev-texlive/texlive-latexextra-2007* ("=dev-texlive/texlive-latexextra-2007*" is blocking dev-texlive/texlive-latex3-2008, dev-texlive/texlive-latexrecommended-2008-r2, dev-texlive/texlive-bibtexextra-2008)
[blocks b     ] dev-tex/currvita ("dev-tex/currvita" is blocking dev-texlive/texlive-latexextra-2007)
[ebuild  N    ] dev-tex/xmltex-1.9-r2  0 kB
[ebuild  N    ] dev-tex/glossaries-1.16  USE="-doc -examples" 0 kB
[ebuild  N    ] dev-tex/currvita-0.9i-r1  0 kB
[ebuild  N    ] dev-tex/leaflet-20041222  0 kB
[ebuild  N    ] dev-tex/europecv-20060424-r1  USE="-examples" 0 kB
[ebuild  N    ] dev-tex/mh-20080903  USE="-doc" 0 kB
[ebuild  N    ] dev-tex/envlab-1.2-r1  0 kB
[ebuild  N    ] dev-tex/translator-1.00  USE="-doc" 0 kB
[ebuild  N    ] dev-tex/g-brief-4.0.2  0 kB
[ebuild  N    ] dev-tex/svninfo-0.7.3-r1  0 kB
[ebuild  N    ] app-text/passivetex-1.25  0 kB
[ebuild     U ] app-text/texlive-2008 [2007-r3] USE="X context doc extra graphics music omega png pstricks truetype%* xetex xml -cjk -cyrillic -detex% -dvi2tty% -dvipdfm% -games -humanities -jadetex -latex3% -publishers -science -tex4ht -xindy%" LINGUAS="de en* -af -ar -bg -bn -bo -cs -cy -da -el -en_GB -eo -es -et -fi -fr -ga% -he -hi -hr -hsb -hu -hy -id -is -it -ja -ko -la -ml -mn -nl -no -pl -pt -ro -ru -sk -sl -sr -sv -ta -th -tr -uk -vi -zh" 0 kB

Total: 28 packages (16 upgrades, 12 new), Size of downloads: 0 kB
Conflict: 5 blocks

It failed first due to a gnome-base/gail blocker, but was satisfied when I added it to the update list (as you can see above). Also, the oder where dev-tex/envlab is build, is more convenient, since it only required an updated dev-texlive/texlive-latex first (which had been scheduled by the original update world process lateron, thus failed to merge envlab):
Code:
G4QS package.keywords # equery b /var/lib/texmf/web2c/pdftex/latex.fmt
[ Searching for file(s) /var/lib/texmf/web2c/pdftex/latex.fmt in *... ]
dev-texlive/texlive-latex-2007 (/var/lib/texmf/web2c/pdftex/latex.fmt)

I eventually also had to remove /var/lib/texmf/web2c/* that were left behind from the previous texlive-2007 installation and confused some dev-tex/* packages.

The other thing that was most inconvenient about tex packages is that compiling them doesn't make good use of a dual processor system like C/C++ packages do. That's why tex packages took an awful lot of time to build/install.
That made me wish that there was some kind of a parallelism concerning ebuilds from within portage – e.g. to run emerge and emerge itself will split up into two or more independent processess – enabling to build some tex packages at the same time while building other things like C/C++ packages.

For me it wasn't possible to build any other thing running multiple (more like: two) separate instances of emerge since the other packages mostly dependet on tex… also an emerge --resume doesn't work anymore, because it won't distinguish between the instances.

6. emerge kde-base/kde-meta
It's done, since I write this post from a working KDE-4.3.2 on this Power Mac G4 Quicksilver. But the way was a long and hard one, since I hit bug #302696: x11-libs/qt-webkit-4.6.2 with the full force of a ~ 3 yours emerge time and a bug that would show up at the very end. Changing USE variables and trying to re-merge added the time wasted up to about one day before I discovered it on bugs.gentoo.org. Yes, I know: my fault. I should have looked earlier.
Adding =sys-devel/binutils-2.20.1 to my /etc/portage/package.keywords finally fixed the build errors.

Setting all the USE variables for the various kde ebuilds was the other time consuming work. But it wouldn't be Gentoo if it wasn't this way – a Gentoo user wants to choose where (s)he wants a feature or not. So I set up my /etc/portage/package.use files… and finally the emerge process going.

X.org workes well out of the box, and I completely removed my /etc/X11/xorg.conf. I still used to configure some radeon specific settings in xorg.conf, but this isn't at all necessary with the nv graphics driver, since accellerated isn't going to happen with it anyway. Looking forward towards nouveau – hopefully this will work also on ARCH="ppc"…

6. revdep-rebuild – fltk
Finally, a revdep-rebuild -ipv showed me what was needed to rebuild at the end. Some packages had to be removed completely because they aren't even in the portage tree anymore – like media-libs/libkexif or x11-libs/qt:3. Others aren't pulled in by any used package anymore, which can be checked using equery b <package> – like media-libs/imlib.

The one problem on ppc currently is x11-libs/fltk:
Code:
G4QS / # emerge -pv x11-libs/fltk:1.1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     UD] sys-libs/glibc-2.9_p20081201-r2 [2.10.1-r1] USE="nls -debug -gd -glibc-omitfp (-hardened) (-multilib) -profile (-selinux) -vanilla" 16,621 kB
[ebuild     U ] x11-libs/fltk-1.1.9 [1.1.7-r2] USE="opengl threads%* xft%* xinerama%* -doc% -examples% -games% (-debug%) (-noxft%)" 2,155 kB

Total: 2 packages (1 upgrade, 1 downgrade), Size of downloads: 18,776 kB

Unmasking =x11-libs/fltk-1.1.10 fixes this issue.
Code:
G4QS ~ # emerge -pv x11-libs/fltk:1.1

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] x11-libs/fltk-1.1.10  USE="opengl threads xft xinerama -debug -doc -examples -games" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


7. pyhton
During the update I encountered some deprecation warnings concerning ebuild functions. This is the warning:
Code:
 * Deprecation Warning: python_version() is deprecated and will be banned on 2010-07-01.
 * Use PYTHON() instead of python variable. Use python_get_*() instead of PYVER* variables.
 * The ebuild needs to be fixed. Please report a bug, if it has not been already reported.


And these are the packages:

  • dev-libs/libgamin-0.1.10-r2
  • app-office/scribus-1.3.5.1
  • app-pda/pilot-link-0.12.3-r1
  • media-libs/pdflib-7.0.2_p8


Speaking of Python – off course I ran phyton-updater to rebuild it all for 2.6. What still remains installed 2.4 and 2.5 – I will bother removing these versions lateron, but for now I'm not sure wheather this is safe or not.

8. all the rest

What else was there to do? Well, lafilefixer --justfixit for one, but that concludes all the updating for now. I cannot think of anything else.

One more thing I did was to emerge app-office/openoffice-3.2.0 (updating from 3.0.0):
Code:
G4QS ~ # emerge -pv app-office/openoffice

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-java/javatoolkit-0.3.0-r3 [0.2.0-r1] 0 kB [0]
[ebuild     U ] dev-java/ant-core-1.7.1-r4 [1.7.0-r3] USE="-doc -source" 17 kB [?=>0]
[ebuild  N    ] dev-java/lucene-analyzers-2.3.2  USE="-source" 4,495 kB [0]
[ebuild  N    ] dev-java/ant-nodeps-1.7.1  0 kB [0]
[ebuild  N    ] dev-java/junit-3.8.2-r1  USE="-doc -source" 0 kB [0]
[ebuild  N    ] dev-java/javacc-4.0-r4  USE="-doc -examples -source -test" 748 kB [0]
[ebuild  N    ] dev-java/lucene-2.3.2  USE="-doc -source -test" 0 kB [0]
[ebuild     U ] app-office/openoffice-3.2.0 [3.0.0] USE="bash-completion%* binfilter cups dbus gstreamer gtk* java* kde ldap nsplugin opengl pam templates (-aqua) -debug -eds -gnome (-kdeenablefinal) (-mono) -odk" LINGUAS="de en* -af -ar -as_IN -be_BY -bg -bn -br -brx% -bs -ca -cs -cy -da -dgo% -dz -el -en_GB -en_US -en_ZA -eo -es -et -eu% -fa -fi -fr -ga -gl -gu% -he -hi_IN -hr -hu -id% -it -ja -ka% -kk% -km -kn_IN% -ko -kok% -ks% -ku -lt -mai% -mk -ml_IN -mn% -mni% -mr_IN -nb -ne -nl -nn -nr -ns -oc% -or_IN -pa_IN -pl -pt -pt_BR -ru -rw -sa_IN% -sat% -sd% -sh -sk -sl -sr -ss -st -sv -sw_TZ -ta% -ta_IN -te_IN -tg -th -ti_ER -tn -tr -ts -uk -ur_IN -uz% -ve -vi -xh -zh_CN -zh_TW -zu (-gu_IN%) (-lv%)" 470,672 kB [0]

Total: 8 packages (3 upgrades, 5 new), Size of downloads: 475,930 kB
Portage tree and overlays:
 [0] /usr/portage
 [?] indicates that the source repository could not be determined

As you can see I enabled USE="kde java" despite them being masked. For one, USE=kde is masked with the note that KDE-4 isn't stable on pcc, but it is now. For the other, java was masked long ago because OOo wouldn't build with ibm-jdk-1.6 – then. But it does now. No problem building it with dev-java/ibm-jdk-bin-1.6.0.7 installed:
Code:
G4QS ~ # java-config -L
The following VMs are available for generation-2:
1)      IBM JDK 1.5.0.11_p1 [ibm-jdk-bin-1.5]
*)      IBM JDK 1.6.0.7 [ibm-jdk-bin-1.6]

VMs marked as Build Only may contain Security Vulnerabilities and/or be EOL.
Gentoo recommends not setting these VMs as either your System or User VM.
Please see http://www.gentoo.org/doc/en/java.xml#build-only for more information

Also note that IBM Java 1.6.0.8 is out already at least a week or even longer, and that there isn't yet an ebuild for it in the tree.

Various packages for KDE, that are really mainstream in x86, are still masked unstable ~ppc for PowerPC users, so I added those to my /etc/portage/package.keywords as well:
Code:
app-cdr/k3b
kde-misc/filelight
kde-misc/krusader

=media-sound/amarok-2.3.0-r1
# deps:
=x11-libs/qtscriptgenerator-0.1.0
=media-libs/taglib-extras-1.0.1
=media-sound/amarok-utils-2.3.0
=media-libs/libpgf-6.09.44-r1 x86

Note that amarok is not the most recent version availble: 2.3.0.90 is also in the tree. And also note that media-libs/libpgf lacks the ~ppc keyword alltogether, even though amarok is ~ppc… Well, must be the USE flags then…
But wait – I just realize I'm actually not done yet. I'll have to add some features to amarok before building it: lastfm, ipod, …
Code:
G4QS ~ # emerge -pv app-cdr/k3b kde-misc/filelight kde-misc/krusader media-sound/amarok

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] media-libs/taglib-extras-1.0.1  USE="-debug" 31 kB
[ebuild  N    ] x11-libs/qtscriptgenerator-0.1.0  USE="kde -debug" 366 kB
[ebuild   R   ] kde-misc/filelight-1.9_rc3  USE="(-aqua) -debug (-kdeenablefinal)" 0 kB
[ebuild   R   ] kde-misc/krusader-2.2.0_beta1  USE="handbook (-aqua) -debug (-kdeenablefinal)" LINGUAS="de -bg -ca -cs -da -el -en_GB -es -et -fr -gl -hu -it -ja -ko -lt -nb -nds -nl -pl -pt -pt_BR -ro -ru -sk -sl -sv -tr -uk -zh_CN -zh_TW" 0 kB
[ebuild     U ] media-libs/libmtp-0.3.7 [0.2.6.1] USE="-doc -examples -static-libs%" 565 kB
[ebuild  N    ] media-sound/amarok-utils-2.3.0  USE="-debug" 9,172 kB
[ebuild   R   ] app-cdr/k3b-1.91.0_rc2  USE="dvd encode ffmpeg flac handbook lame mad musepack musicbrainz sndfile sox taglib vcd vorbis wav (-aqua) -debug -emovix (-kdeenablefinal)" LINGUAS="de -ast -be -bg -ca -ca@valencia -cs -csb -da -el -en_GB -eo -es -et -eu -fi -fr -ga -gl -he -hi -hne -hr -hu -is -it -ja -km -ko -ku -lt -mai -nb -nds -nl -nn -oc -pa -pl -pt -pt_BR -ro -ru -se -sk -sl -sv -th -tr -uk -zh_CN -zh_TW" 0 kB
[ebuild  N    ] media-sound/amarok-2.3.0-r1  USE="mtp opengl semantic-desktop (-aqua) -cdda -daap -debug -embedded -ipod (-kdeenablefinal) -lastfm -mp3tunes" LINGUAS="de -bg -ca -cs -da -en_GB -es -et -eu -fi -fr -it -ja -km -nb -nds -nl -pa -pl -pt -pt_BR -ru -sl -sr -sr@latin -sv -th -tr -uk -wa -zh_TW" 0 kB

Total: 8 packages (1 upgrade, 4 new, 3 reinstalls), Size of downloads: 10,133 kB


The Conclusion

It was nice to see what problems you run into when trying such a thing – to sort-of dist-upgrade a Gentoo Linux installation on a 32-bit PowerPC. And it can be done, and it's nothing to be afraid of.

The one thing I learned again is that ARCH="ppc" is not mainstream on the desktop, and a few complications can always come up out of the blue (like missing stable dependencies).


If anything comes to your mind after reading all this, just tell me and I'd be happy to learn even more about Gentoo in the ppc. If if I missed something that would have made it all easier…

So long,
A.

p.s. sorry for the typos, but it's been a long day, and I'm tired now. I just can't read through all this again…
Back to top
View user's profile Send private message
BradN
Advocate
Advocate


Joined: 19 Apr 2002
Posts: 2383
Location: Wisconsin (USA)

PostPosted: Sun May 09, 2010 7:41 pm    Post subject: Reply with quote

Yeah, when it comes to upgrading system that's very out of date, I usually just start a fresh install in a chroot and once it's set up to my satisfaction, do some busybox trickery to swap the new system in place of the old one.
Back to top
View user's profile Send private message
Atha
Tux's lil' helper
Tux's lil' helper


Joined: 22 Sep 2004
Posts: 115

PostPosted: Sun Jun 06, 2010 8:42 am    Post subject: I should have looked: G4QS ~ # man emerge Reply with quote

I messed up! Instead of complaining I should have looked earlier. There is a function for letting emerge compile&install packages in parallel: --jobs[=JOBS].
It's now in my /etc/make.conf:
Code:
EMERGE_DEFAULT_OPTS="--verbose --jobs=2"


The option --keep-going is also a good idea, especially if you're letting portage install a lot of packages overnight. So at least there is the hope that precious compilation time isn't wasted that much.

Logging should be turned on though, otherwise you don't see what caused the trouble. The option --jobs prevents any and all verbosity. Looking at the logs is left as the only means to “see”.

Cheers,
A.
Back to top
View user's profile Send private message
d2_racing
Moderator
Moderator


Joined: 25 Apr 2005
Posts: 13046
Location: Ste-Foy,Canada

PostPosted: Sun Jun 06, 2010 6:27 pm    Post subject: Reply with quote

BradN wrote:
Yeah, when it comes to upgrading system that's very out of date, I usually just start a fresh install in a chroot and once it's set up to my satisfaction, do some busybox trickery to swap the new system in place of the old one.


Indeed, I don't have the time to find and repair all the blockers, so basically reinstalling is the fastest way to get the job done :P
_________________
Sysadmin of GentooQuébec.org
Wiki
Signature
IRC on Freenode : #gentoo-quebec
Back to top
View user's profile Send private message
flameman
n00b
n00b


Joined: 10 Apr 2011
Posts: 44

PostPosted: Mon Apr 25, 2011 3:11 pm    Post subject: Reply with quote

nice to read, my G3-ppc boxes have this problem, too
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on PPC All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum