Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2005-12

Build on Fedora-Extras buildsystem failes for ppc

9 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Joost van der Sluis

Hi all,

I have another problem to get fpc 2.0.2 compiled on the buildsystem of Fedora Extras.

Maybe that the ppc-ppl can give some hints? The buildsystem consist of a few power5-proc's. But there seems to be a linker-problem?

Here's the log:
http://buildsys.fedoraproject.org/logs/fedora-development-extras/2085- fpc-2.0.2-2.fc5/ppc/build.log

More info:
http://buildsys.fedoraproject.org/logs/fedora-development-extras/2085- fpc-2.0.2-2.fc5/

Met vriendelijke groeten, Joost van der Sluis CNOC Informatiesystemen en Netwerken http://www.cnoc.nl

Reply by email

Jonas Maebe
to Joost van der Sluis
Joost van der Sluis wrote 10 lines
I have another problem to get fpc 2.0.2 compiled on the buildsystem of Fedora Extras. Maybe that the ppc-ppl can give some hints? The buildsystem consist of a few power5-proc's. But there seems to be a linker-problem? Here's the log: http://buildsys.fedoraproject.org/logs/fedora-development-extras/2085- fpc-2.0.2-2.fc5/ppc/build.log

That build log shows that they are creating a smartlinked rtl. In that case, you get an enormous amount of .o files which have to be archived together into one .a file (using the "ar" utility). Apparently the maximum command line length is too short. I'm not sure how to solve that.

Jonas

Reply by email

Micha Nelissen
to Jonas Maebe
Jonas Maebe wrote
That build log shows that they are creating a smartlinked rtl. In that case, you get an enormous amount of .o files which have to be archived together into one .a file (using the "ar" utility). Apparently the maximum command line length is too short. I'm not sure how to solve that.

You can write a temporary script that adds all files to the archive, and run ar < script, or something similar.

Micha

Reply by email

Jonas Maebe
to Micha Nelissen
Micha Nelissen wrote 8 lines
> That build log shows that they are creating a smartlinked rtl. In > that case, you get an enormous amount of .o files which have to > be archived together into one .a file (using the "ar" utility). > Apparently the maximum command line length is too short. I'm not > sure how to solve that. You can write a temporary script that adds all files to the archive, and run ar < script, or something similar.

That won't work, and using 'ar `cat list`' probably neither. What is possible is to call ar several times for the same archive, every time adding only a subset of the object files. But that may need compiler support (since it's the compiler that calls ar).

Jonas

Reply by email

Micha Nelissen
to Jonas Maebe
Jonas Maebe wrote
> You can write a temporary script that adds all files to the archive, > and run ar < script, or something similar. That won't work, and using 'ar `cat list`' probably neither.

Why not ? The long list of files would be in the script file. The file 'script' is not meant to be executable, it is an "ar script".

Micha

Reply by email

Jonas Maebe
to Micha Nelissen
Micha Nelissen wrote 6 lines
>> You can write a temporary script that adds all files to the >> archive, and run ar < script, or something similar. > That won't work, and using 'ar `cat list`' probably neither. Why not ? The long list of files would be in the script file. The file 'script' is not meant to be executable, it is an "ar script".

Seems like GNU ar is different from other ar's in that if you specify the -M option, it can indeed get its arguments from stdin (I don't know any other ar which works that way). So that would indeed be a possible solution for Linux.

Jonas

Reply by email

Marco van de Voort
to Jonas Maebe
Show quoted text 13 lines
On 21 dec 2005, at 13:31, Micha Nelissen wrote: >>> You can write a temporary script that adds all files to the >>> archive, and run ar < script, or something similar. >> That won't work, and using 'ar `cat list`' probably neither. > > Why not ? The long list of files would be in the script file. The > file 'script' is not meant to be executable, it is an "ar script". Seems like GNU ar is different from other ar's in that if you specify the -M option, it can indeed get its arguments from stdin (I don't know any other ar which works that way). So that would indeed be a possible solution for Linux.

All except Solaris and Mac OS X I think, or are there other platforms that don't use GNU binutils?

ar --version
GNU ar 2.15 [FreeBSD] 2004-05-23
Copyright 2004 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of the GNU General Public License. This program has absolutely no warranty.

Reply by email

Jonas Maebe
to Marco van de Voort
Marco van de Voort wrote 8 lines
> Seems like GNU ar is different from other ar's in that if you specify > the -M option, it can indeed get its arguments from stdin (I don't > know any other ar which works that way). So that would indeed be a > possible solution for Linux. All except Solaris and Mac OS X I think, or are there other platforms that don't use GNU binutils?

The ar man page on HP-UX is from GNU ar, but it doesn't support -M. The reason might be that the man page is from 1991 (and that's for HP- UX B.11.22 for Itanic, i.e. the latest). The ar itself doesn't seem to be GNU ar, since it doesn't recognize -v, -V nor --version. I guess I should have said that most non-free OS'es probably don't support it, since I'm not a *BSD user and thus don't know what they support and what they don't.

Jonas

Reply by email

Marco van de Voort
to Jonas Maebe
Show quoted text 10 lines
On 21 dec 2005, at 13:40, Marco van de Voort wrote: >> Seems like GNU ar is different from other ar's in that if you specify >> the -M option, it can indeed get its arguments from stdin (I don't >> know any other ar which works that way). So that would indeed be a >> possible solution for Linux. > > All except Solaris and Mac OS X I think, or are there other > platforms that > don't use GNU binutils?

(I meant of course from the systems we support. Note that some targets (like OS/2 EMX) might base on very old GNU builds, with the same effective problem, non existance of certain params)

Show quoted text 7 lines
The ar man page on HP-UX is from GNU ar, but it doesn't support -M. The reason might be that the man page is from 1991 (and that's for HP- UX B.11.22 for Itanic, i.e. the latest). The ar itself doesn't seem to be GNU ar, since it doesn't recognize -v, -V nor --version. I guess I should have said that most non-free OS'es probably don't support it, since I'm not a *BSD user and thus don't know what they support and what they don't.

Solaris is btw also in dubio. IIRC the default tools are not GNU, but the GNU ones are available in a pkg, and fairly common.

Reply by email