[csw-users] Remake version bump to 3.82+dbg0.8

Dagobert Michelsen dam at opencsw.org
Mon Nov 7 11:12:38 CET 2011


Hi Andrej,

Am 07.11.2011 um 04:37 schrieb Бондаренко Андрей Витальевич:
>>> Also, you should update BUILD_DEP_PKGS   += CSWgcc3core
>>> to BUILD_DEP_PKGS   += CSWgcc4core when switching to gcc4
>> I should have taken this out. The compiler could be checked by GAR if necessary.
> 
> I've tested it with GAR r16113: comment out BUILD_DEP_PKGS   += CSWgcc4core,
> remove gcc4core from a build system, then do make configure. Build fails with error
> 
> configure: error: C compiler cannot create executables
> 
> I suppose, it is a bug in GAR, but until it is fixed, I'd prefer to keep BUILD_DEP line.

Unfortunately the situation is not that easy. If you set the GARCOMPILER to
GCC4 there are a number of variables set for c, c++, fortran, etc. which the
program may or may not use. GAR may need to require all of them without knowing.
Additionally, when you set the compiler to Sun Studio it can't verify that the
Sun Studio package is installed as this uses multi-instance packages for
the SUn Studio versions (11/12/12u1/12u2/...)

GAR could fail with "No C compiler for for GCC4 at ..." as check for the
missing binary.

This whole situation looks a bit unclean to me and I am fully open to
suggestions.

>> GCC4 works fine, so I have used that one for now. However, it doesn't seem to link
>> against libiconv.so.2 and libncurses.so.5, so I removed the deps.
> 
> After building with GCC4 from unstable on my system.
> 
> ldd work/build-isa-sparcv8plus/remake-3.82+dbg0.8/make | grep csw
>        libintl.so.8 =>  /opt/csw/lib/libintl.so.8
>        libreadline.so.6 =>      /opt/csw/lib/libreadline.so.6
>        libiconv.so.2 =>         /opt/csw/lib/sparcv8/libiconv.so.2
>        libncurses.so.5 =>       /opt/csw/lib/libncurses.so.5

The ldd output shows what is needed to run the program, not what
the program itself requires. If you take a look at "dump -Lv" you
see that it needs libreadline.so.6 which then pulls in libncurses.so.5,
and libintl.so.8 pulls in libiconv.so.2, so the dependencies are
indirect and must not be added to the remake package itself, but to the
package it depends on - they will pull in these deps:

> unstable9s% dump -Lv remake 
> 
> remake:
> 
>   **** DYNAMIC SECTION INFORMATION ****
> .dynamic:
> [INDEX] Tag         Value
> [1]     NEEDED          libkstat.so.1
> [2]     NEEDED          libintl.so.8
> [3]     NEEDED          libreadline.so.6
> [4]     NEEDED          librt.so.1
> [5]     NEEDED          libc.so.1
> ...


> unstable9s% ldd /opt/csw/lib/libreadline.so.6 
>         /usr/lib/secure/s9_preload.so.1
>         libncurses.so.5 =>       /opt/csw/lib/libncurses.so.5
>         libc.so.1 =>     /usr/lib/libc.so.1
>         libdl.so.1 =>    /usr/lib/libdl.so.1
>         /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1
> unstable9s% ldd /opt/csw/lib/libintl.so.8
>         /usr/lib/secure/s9_preload.so.1
>         libiconv.so.2 =>         /opt/csw/lib/sparcv8/libiconv.so.2
>         libc.so.1 =>     /usr/lib/libc.so.1
>         libdl.so.1 =>    /usr/lib/libdl.so.1
>         /usr/platform/SUNW,SPARC-Enterprise-T5220/lib/libc_psr.so.1



> I'll check git version of remake a bit later and get back with results.

Cool.


Best regards

  -- Dago


-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896



More information about the users mailing list