[csw-maintainers] Reasons for gcc to have a separate prefix
Maciej Bliziński
maciej at opencsw.org
Mon Aug 29 22:33:11 CEST 2011
2011/8/29 Peter FELECAN <pfelecan at opencsw.org>:
> Maciej Bliziński <maciej at opencsw.org> writes:
>
>> However, alternatives are not a viable solution for the buildfarm. We
>> all work on the same hosts and we need to make it possible to build
>> with gccN and gcc(N+1) at the same time. You can't have buildfarm
>> admins flip symlink every time a maintainer wants to switch between
>> e.g. gcc-3 and gcc-4.
>
> Just a follow up on my own advice to look how Debian does it...
>
> * How Debian manages multiple versions of GCC
> Useful information is found, on an installed system, in
> /usr/share/doc/gcc/README.Debian
> ** Default version
> Each Debian release has a default set of compilers issued by a
> generic source package called gcc-defaults
> (http://ftp.de.debian.org/debian/pool/main/g/gcc-defaults/gcc-defaults_1.107.tar.gz)
> The generated packages supply a symbolic link toward the default
> driver, e.g., for the C compiler, there is /usr/bin/gcc which point
> toward /usr/bin/gcc-4.6
Yes, I found out this can be done by using --program-suffix.
> Note that you find the README.Debian in the above mentioned source
> package.
> ** Alternatives
> Alternatives are used at a higher level, e.g., /usr/bin/cc is an
> generic name, having cc as the alternative name with a possible
> alternative path of /usr/bin/gcc
> ** Using a non default version
> When compiling with a non-default version of the compiler you must
> explicitly specify the one that you wish to use, e.g.
> CC=gcc-4.1 ./configure <configure options>
> ** File-system organization
> each version of GCC provides its specific components installed in
> corresponding directories; e.g., /usr/lib/gcc/i486-linux-gnu/4.3;
> this organization is directly supported by the GCC build system,
> i.e., it doesn't need modifications
> ** Run-time shared libraries
> The run-time shared libraries conforms with the shared libraries
> policy and thus supports multiple releases installed simultaneously
> with one default version.
>
> * How Open CSW should manage multiple versions of GCC
> I don't discuss here the integration of Sun Studio in the
> alternatives system but that would be a nice feature.
> ** Default version
> the most recent version of GCC is considered as the default one and
> provides the /usr/bin/gcc symbolic link
> ** Alternatives
> Use the cc as the generic name
> ** Using a non default version
> Same as Debian
> ** File-system organization
> Similar with that of Debian
> ** Run-time shared libraries
> Similar with that of Debian
Roger that. The plan looks good. I'm compiling a new cut of the
packages right now.
Maciej
More information about the maintainers
mailing list