[csw-maintainers] GCC 4.6.2 C++ front issue

Peter FELECAN pfelecan at opencsw.org
Sat Dec 3 13:43:53 CET 2011


"Maciej (Matchek) Bliziński" <maciej at opencsw.org> writes:

> 2011/12/3 Peter FELECAN <pfelecan at opencsw.org>:
>> "Maciej (Matchek) Bliziński" <maciej at opencsw.org> writes:
>>
>>> This behavior is known, it has always been like this.  Before I
>>> relocated the shared libraries, it was more obvious what to do,
>>> because libstdc++ was in a nonstandard location (outside
>>> /opt/csw/lib), and you had to add -R/opt/csw/gcc4/lib.  Right now, the
>>> library is in a standard location (/opt/csw/lib), but gcc won't add it
>>> to the runpath by default.
>>
>> This was never an issue with gcc3 or gcc4 before.
>
> It doesn't look like a regression to me.  Not from gcc-4.3.3, anyway.
> Please test with gcc-4.3.3 on the current* hosts.
> [...]
> maciej at current10x [current10x]:~/src/tmp $ /opt/csw/gcc3/bin/g++ -v
> Reading specs from /opt/csw/gcc3/lib/gcc/i386-pc-solaris2.8/3.4.6/specs
> Configured with: ../sources/gcc-3.4.6/configure --prefix=/opt/csw/gcc3
> --with-local-prefix=/opt/csw --with-gnu-as --with-as=/opt/csw/bin/gas
> --without-gnu-ld --with-ld=/usr/ccs/bin/ld --enable-threads=posix
> --enable-shared --enable-multilib --enable-nls --with-included-gettext
> --with-libiconv-prefix=/opt/csw --with-x --enable-java-awt=xlib
> --enable-languages=all
> Thread model: posix
> gcc version 3.4.6
>
> Do we have the build recipe for gcc-3.4.6?

Of course we have the build recipe. Not as GAR but using my build
system. If you look at ~pefelecan/CSW/patches/gcc3* you have every
applied patch. The ~pfelecan/CSW/customs/gcc3-3.4.6-specs.awk files
contains the "magic" for patching the spec file. As I remember, gcc4
doesn't provide an explicit specification file (it can be generated and
used) but in the first 4th branch I provided one because it allowed the
specifications patching.

>>> This was discussed some time ago on gcc-help. It's very easy to do it
>>> wrong. For example, if you compile with -m64, then you need to add
>>> -R/opt/csw/lib/64, and not -R/opt/csw/lib, and it has to be somehow
>>> expressed in the patch for the gcc sources.
>>
>> This is managed by the specification file which support conditionals.
>
> Are you already familiar with this file?  For example, do you know the syntax?

Yes. It's quite easy to use it. Have a look and the syntax and meaning
will become evident after a while. If you need help let me know. In my
gcc3 packaging I've patched the supplied file.

BTW, the file is generated using the content of specific macros
documented in gccint-*.*.info file, section "17.2 Controlling the
Compilation Driver, `gcc'"; the info file contain almost everything
needed to port, build and package. Unfortunately is not the way that I
choose in my packaging but I strongly recommend it.

HTH
-- 
Peter


More information about the maintainers mailing list