Okay after rebuilding my dev box, I wanted to start working again on Gentoo/FreeBSD 6.0.
The first step was to disable shared version of libgcc to allow to build a libc.so.6 not linked to libc.so.5.. this was accomplished by editing toolchain eclass and re-emerging GCC. The result is good, libc.so.5 was self contained, finally.
The next step was to build libc.so.6 and watch if it worked. To do so I had to build the actual source tarballs for 6.0-RELEASE that weren’t ready yet, but that was simple to do with the extract script.
In SVN’s overlay there are all the ebuild for 6.0 series, although only some of them are actually compile-tested, I still have to test the kernel, too.
The procedure is more or less this:
- change the profile to use 6.0 instead of 5.4;
emerge -avu freebsd-sources, check that /usr/src/sys is a link to sys-6.0(-rX);
emerge -avu freebsd-lib;
- change CHOST value in /etc/make.conf to i686-gentoo-freebsd6.0;
emerge -av1 gcc binutils;
emerge -ave system;
revdep-rebuild --soname libc.so.5;
emerge unmerge =freebsd-lib-5.4*.
Currently I’m rebuilding system, so The last part is theorical, and might have some quirks still.
Oh for the ones following my –as-needed battle, the patches I had are now merged in ebuilds in Portage. I still have to fix avidemux. Rebuilding the system took me 7.5 GB total of /usr/lib/debug files, building with -g3. I still have to try a reboot, tho.
Oh and yeah, splitdebug works on FreeBSD, too!