Hi Jonathan,

> Currently this is shown when building libstdc++ on Solaris:
>
> -lrt: open: No such file or directory
>
> The error comes from the make_sunver.pl script which tries to open each
> of its arguments. The arguments are passed by this make rule:
>
>       perl ${glibcxx_srcdir}/scripts/make_exports.pl \
>         libstdc++-symbols.ver \
>         $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
>        `echo $(libstdc___la_LIBADD) | \
>           sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
>        > $@ || (rm -f $@ ; exit 1)
>
> The $(libstdc___la_LIBADD) variable includes $(GLIBCXX_LIBS) which
> contains -lrt on Solaris.
>
> This patch adds another sed script to filter -l arguments from the echo
> command. In order to reliably match ' -l[^ ]* ' the echo arguments are
> quoted and a space added before and after them. This might be overkill
> just to remove -lrt from the start of the string, but should be robust
> in case other -l arguments are added to $(GLIBCXX_LIBS), or in case the
> $(libstdc___la_LIBADD) libraries are reordered.
>
> libstdc++-v3/ChangeLog:
>
>       * src/Makefile.am (libstdc++-symbols.ver-sun): Remove -lrt from
>       arguments passed to make_sunver.pl script.
>       * src/Makefile.in: Regenerate.
>
> Tested sparc-solaris2.11. Rainer, does this look OK?

it does, but let me give it a try with both GNU sed and Solaris sed: we
had too many weird issues with the latter ;-(

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to