Forum > FPC development

Building FPC 3.2.2 on Debian "Testing" (Bookworm) x86_64

<< < (2/10) > >>

MarkMLl:
I can confirm that on Debian "Bookworm" x86_64 FPC 3.2.0 will build 3.2.2 successfully.

I'll try to sniff around this a bit more but my suspicion is that there's been a linker script change: remember the old -T warning that got removed?

It's a little unfortunate to have this inflection point, since by and large it's always been possible to build compiler versions forwards from the earliest supported on a given platform irrespective of the current OS (with the obvious exception of gtk version support etc., which mainly affects Lazarus).

On this specifica machine, I've leapfrogged directly from Buster to Bookworm bypassing Bullseye on my main development machine since I anticipate that it will either get a much-anticipated version of FreeCAD that fixes a grievous architectural bug, or that when the new FreeCAD is released it will be feasible to build it with the distro-supplied libraries.

So far it's been fairly painless (Quagga replaced by Bird, one symlink issue I've mentioned in another thread), but it's necessary first to install a minimal Bullseye and then upgrade in-situ. I find https://github.com/MarkMLl/installed-package-list to be a lifesaver, since if the log script is run routinely it's possible to generate a report of what packages have been installed manually and in what order.

MarkMLl

dbannon:

--- Quote from: MarkMLl on October 25, 2022, 01:05:47 pm ---............but it's necessary first to install a minimal Bullseye and then upgrade in-situ. ....


--- End quote ---

https://www.debian.org/devel/debian-installer/

Mark, the netinst CD size iso allow direct install of bookworm (or what ever Testing is at the time). You boot that iso, install a minimal Testing OS and then choose what else you want, DE, apps etc. Quite efficient as you only download what you need. On the other hand, inefficient if you are doing it repeatably (but thats what VMs are for).

And Testing now includes a functional if fractured FPC3.2.2 ....

Davo

MarkMLl:

--- Quote from: dbannon on October 25, 2022, 01:39:28 pm ---https://www.debian.org/devel/debian-installer/

Mark, the netinst CD size iso allow direct install of bookworm (or what ever Testing is at the time). You boot that iso, install a minimal Testing OS and then choose what else you want, DE, apps etc. Quite efficient as you only download what you need. On the other hand, inefficient if you are doing it repeatably (but thats what VMs are for).

--- End quote ---

No. As of three days ago a whole lot of kernel modules aren't in the installation image, and neither is software RAID which is a showstopper. Elsewhere on Debian's (somewhat diffuse) website it specified that the recommended way was starting off at Bullseye so that's what I did: I don't have infinite time to fossick around with this stuff and I really did want to get my system back ASAP to the point where it could run stuff which checks that the business servers are working properly.

MarkMLl

MarkMLl:

--- Quote from: MarkMLl on October 25, 2022, 01:05:47 pm ---I can confirm that on Debian "Bookworm" x86_64 FPC 3.2.0 will build 3.2.2 successfully.

I'll try to sniff around this a bit more but my suspicion is that there's been a linker script change: remember the old -T warning that got removed?

--- End quote ---

Attempting to build 3.2.2 without forcibly overriding the supported starting compiler version check.

Using:

3.2.2: "The only supported starting compiler version is 3.0.4. You are trying to build with 3.2.2.".

3.2.0: Builds OK (despite stricture above).

3.0.4: Fails as discussed at the start of this thread.

Attempting to build 3.2.0 without forcibly overriding the supported starting compiler version check.

Using:

3.2.0: Builds OK (even though it shouldn't).

3.0.4: Fails as discussed at the start of this thread.

So I think it's reasonable to assume that there's some change in 3.2.0 which improves its compatibility with the linker/loader used by Debian "Bookworm".

I've previously noted that


--- Quote ---FPC 3.2.0 has a workaround for the longstanding -T warning message, which can be inhibited by the new -X9 option. Lazarus might have started to make assumptions (one way or the other) about FPC's linker behaviour, and about the precise binutils (i.e. ld etc.) version installed.

--- End quote ---

which was something that I think Jonas put me onto. I believe that documentation of that option was (intentionally) minimal, and don't know whether anything comparable would help with the Bookworm issue.

I'll leave it to those more familiar with the build process in general and Git in particular to try to throw more light on this; for the moment it's realistic for me to keep an older system running for build purposes or I could potentially use a VM or Docker.

MarkMLl

dbannon:

--- Quote from: MarkMLl on October 25, 2022, 02:02:49 pm ---.....
No. As of three days ago a whole lot of kernel modules aren't in the installation image, and neither is software RAID which is a showstopper. Elsewhere on Debian's (somewhat diffuse) website it specified that the recommended way was starting off at Bullseye so that's what I did: I don't have infinite time to fossick around with this stuff and I really did want to get my system back ASAP to the point where it could run stuff which checks that the business servers are working properly.

--- End quote ---
If you need those kernel moduals or RAID to boot, yep, that kills it but if the netinst iso can boot, everything else can be installed.

I am sure that  you can find, eventually, any recommendation you can imagine on the Debian Website. They do try and keep netinst CD size but its well under that right now so why its currently missing key components is anyone's guess.

I would not install Testing this early in the Debian cycle directly onto hardware with first putting it on a VM and looking at the stuff I am particularly interested in. But, of course, if that interesting stuff relates to underlying hardware, little choice.

Davo

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version