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