Ok the new Release Candidate for XOrg modular was released, and Donnie added it to the tree, so yesterday I wanted to try it on Gentoo FreeBSD (no slash, why? I’m trying to see how it looks like without, following Ulrich suggestions…).
I removed it from the main installation, and I planned to play with it on a chroot, so I had to predispose the chroot that I haven’t before. After that, started merging all the deps.. stopped as usual with mesa, as I had to patch it to work on FreeBSD (as usual it’s on Gentoo/ALT overlay), and then started xorg-server.
Took quite a bit more than usual, the bsd step finally seemed to work, but then it stopped with undefined reference. Yesterday I was too tired to investigate, and today after touching mt-daapd (that is now in tree with multi-service support as mt-daapd-0.2.3-r1) I gone taking up my new glasses (the new green lens seems to be cool, but I still have to be used to them, so they are giving me a bit of an headache, I’ll probably take the night off watching TV with the other pair). Now I wanted to look deeper at it.
The problem is ix86PciInit funcion undefined in one of the internal libraries, that gets an undefined symbol while linking the final executable. So I go searching for that function, that is in bus/ix86pci.c file.. .that is not compiled… I start looking at the reason and I found out that the file is built only when there’s no better OS support for it, so it’s disabled for Linux, FreeBSD, OpenBSD, NetBSD… fine then, but why it’s looking for it?
Looking again, I find that the init function for PCI device is chosen in a list of functions depending on the hardware platform and the operating system.. FreeBSD uses its own version for IA64, PPC, Alpha (iirc) but not for x86, just Linux has its own version.. but that collides with the configure, that disable that file for Linux, FreeBSD, NetBSD, OpenBSD…. there are at least three platform/os combinations that won’t work.
Fine then, the problem is -again- not in portage, but on XOrg itself… I submitted it to upstream as usual, waiting for news.