


Thanks for your reply Neddy,NeddySeagoon wrote:Pipeline79,
Welcome to Gentoo.
The problem with Gentoo in a chroot on helpers is just as you describe. The system outside the chroot won't know about the compiler inside the chroot.
A Virtual Machine works though, as to all intends and purposes, its another system on your LAN, with its own IP.
Firefox is bad news for lots of reasons. It depends on rust, which is not a language that distcc can distribute. Its not all rust, fh. C/C++ will be sent to the helper(s)
With distcc, the configure, preprocess and link steps still take place on the weaker system.
Linking needs lots of RAM.
You could create a ppc64 chroot on your laptop and have your ivybridge CPU execute QEMU to run ppc64 code.
That has its drawbacks. Its slow, as the ppc64 is emulated in software but it can use all your RAM, so less or no swapping.
You would build your own ppc64 binaries, then install your binaries on your imac-g5.

Code: Select all
emerge-wrapper -t powerpc64-unknown-linux-gnu --init
powerpc64-unknown-linux-gnu-emerge glibcCode: Select all
emerge -1av glibc
Yep, that's a pretty good description...NeddySeagoon wrote:Pipeline79,
It sounds like you are putting all the the pieces together, standing back a safe distance, then lighting the blue touch paper.
Gentoo does not respond well to that approach. Baby steps ... build on what you know works.

So, I used the same USE flags, CFLAGS, etc.Step 3.
In the LXC container, set up your /usr/powerpc64-unknown-linux-gnu/etc/portage almost as it in the the imacs /etc/portage.
Take care with the make.profile symlink and the PACKAGES path in /usr/powerpc64-unknown-linux-gnu/etc/portage/make.conf
The CHOST remains unchanged too.

Code: Select all
/etc/portage/make.profile -> ../../usr/portage/profiles/default/linux/amd64/17.0/no-multilib
Code: Select all
$ gcc-config -l
[1] aarch64-unknown-linux-gnu-8.3.0
[2] aarch64-unknown-linux-gnu-9.2.0 *
[3] armv6j-hardfloat-linux-gnueabi-8.3.0
[4] armv6j-hardfloat-linux-gnueabi-9.2.0 *
[5] armv7a-hardfloat-linux-gnueabi-8.3.0
[6] armv7a-hardfloat-linux-gnueabi-9.2.0 *
[7] avr-8.3.0
[8] avr-9.2.0 *
[9] i586-pc-linux-gnu-8.3.0
[10] i586-pc-linux-gnu-9.2.0 *
[11] i686-pc-linux-gnu-8.3.0
[12] i686-pc-linux-gnu-9.2.0 *
[13] mips64el-unknown-linux-gnu-8.3.0
[14] mips64el-unknown-linux-gnu-9.2.0 *
[15] powerpc-unknown-linux-gnu-8.3.0
[16] powerpc-unknown-linux-gnu-9.2.0 *
[17] x86_64-pc-linux-gnu-8.3.0
[18] x86_64-pc-linux-gnu-9.2.0 *I'm trying to do just that, only ppc instead of ppc64 as I'm looking to get my old G4 Mac mini running something more modern than the now 11-year-old Leopard. I have some experience with cross-architecture chroots as I have one up and running to build aarch64 code for the Raspberry Pi 3 and 4. Here's what I've done so far:NeddySeagoon wrote: You could create a ppc64 chroot on your laptop and have your ivybridge CPU execute QEMU to run ppc64 code.
That has its drawbacks. Its slow, as the ppc64 is emulated in software but it can use all your RAM, so less or no swapping.
Code: Select all
app-emulation/qemu static-user qemu_user_targets_aarch64 qemu_user_targets_arm qemu_user_targets_ppc qemu_softmmu_targets_armCode: Select all
ROOT=$CHROOT emerge --usepkgonly --oneshot --nodeps qemuCode: Select all
:ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x14:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff:/usr/bin/qemu-ppc:Code: Select all
chroot $CHROOT bashCode: Select all
chroot: failed to run command ‘bash’: No such file or directoryI'm not expecting miracles from hardware that's probably slower than a Raspberry Pi 3. I suppose it is more for sh*ts and grins than anything else.Jaglover wrote:I hate to rain on your parade ... G5 is slow with a full featured browser, the main cause is not slow binary but bloated web sites which put too much load on the browser and the computer which is running it. If you are doing it mainly for fun then go ahead, but don't expect wonders. Only lightweight browser with less features can run faster on old hardware.

I'm trying to do that, only with a Ryzen 7 3800X building code for a G4 Mac mini. I can qemu-chroot into a directory with the latest ppc stage3 just fine, but I can't build anything. gcc doesn't want to run:NeddySeagoon wrote:Pipeline79,
You could create a ppc64 chroot on your laptop and have your ivybridge CPU execute QEMU to run ppc64 code.
That has its drawbacks. Its slow, as the ppc64 is emulated in software but it can use all your RAM, so less or no swapping.
You would build your own ppc64 binaries, then install your binaries on your imac-g5.
Code: Select all
janeway / # gcc
bash: /usr/bin/gcc: cannot execute binary file: Exec format errorCode: Select all
janeway / # file /bin/ls /usr/powerpc-unknown-linux-gnu/gcc-bin/11/powerpc-unknown-linux-gnu-gcc
/bin/ls: ELF 32-bit MSB pie executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.1, for GNU/Linux 3.2.0, stripped
/usr/powerpc-unknown-linux-gnu/gcc-bin/11/powerpc-unknown-linux-gnu-gcc: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld.so.1, for GNU/Linux 3.2.0, stripped