pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: perl5 broken on ubuntu?



Op 27-07-11 18:46, Dennis van Dok schreef:
> 
> The failing command in a clean build is
>> gcc -Wl,-R/private/home/dennis/pkg/lib -L/usr/lib -Wl,-R/usr/lib 
>> -Wl,-R/private/home/dennis/pkg/lib -fstack-protector -o miniperl \
>>            gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o 
>> mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o 
>> doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o 
>> perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o   \
>>          miniperlmain.o opmini.o perlmini.o 
> 
> It results in several undefined references in the pthread and math
> libraries. 

I feel silly for replying to my own post, but this is a known issue with
perl 5.12 up until perl 5.12.3 and Ubuntu 11.04.

Here's the snippet from perl5124delta.pod (not online for unknown reasons):

=head1 Platform Specific Notes

=over 4

=item Linux

Support Ubuntu 11.04's new multi-arch library layout.


Here's the relevant part of the diff:

> diff -ruN perl-5.12.2/hints/linux.sh perl-5.12.4/hints/linux.sh
> --- perl-5.12.2/hints/linux.sh        2010-09-05 17:14:33.000000000 +0200
> +++ perl-5.12.4/hints/linux.sh        2011-06-07 22:04:05.000000000 +0200
> @@ -151,6 +151,26 @@
>      ;;
>  esac
>  
> +# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
> +# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
> +# where to look.  We don't want gcc's own libraries, however, so we
> +# filter those out.
> +# This could be conditional on Unbuntu, but other distributions may
> +# follow suit, and this scheme seems to work even on rather old gcc's.
> +# This unconditionally uses gcc because even if the user is using another
> +# compiler, we still need to find the math library and friends, and I don't
> +# know how other compilers will cope with that situation.
> +# Still, as an escape hatch, allow Configure command line overrides to
> +# plibpth to bypass this check.
> +case "$plibpth" in
> +'') plibpth=`gcc -print-search-dirs | grep libraries |
> +     cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
> +    set X $plibpth # Collapse all entries on one line
> +    shift
> +    plibpth="$*"
> +    ;;
> +esac
> +

So I guess I'll just have to wait for pkgsrc to update to perl 5.12.4.

Cheers,

Dennis


Home | Main Index | Thread Index | Old Index