Du bist nicht angemeldet.
Seiten: 1
Die neue Perl-Version erfordert, wie auch schon alle vorherigen, die abermalige Kompilierung aller Module, die einen Binäranteil haben - also zum Teil in einer Sprache geschrieben sind, die compiliert wird.
Bei allen Paketen aus den Repos ist dies geschehen, bei allen Paketen aus anderen Quellen (AUR, CPAN ...) naturgemäß nicht.
Genauer gesagt ist potentiell alles betroffen, das gegen die libperl.so linkt. Da es diesmal auch zu Speicherzugriffsfehlern kommen kann, ist ein besonderes Augenmerk besonders anzuraten.
In dieser Mail an arch-dev-public bietet der Maintainer ein, das beim Auffinden betroffener Module hilfreich sein kann.
Offline
Das Skript ruft ein anderes auf: module-to-dist.pl.
Weiß jemand, wo man dies herbekommt? Ich habe gerade auf arch-dev-public nachgefragt, aber vielleicht ist ja jemand schneller.
Offline
Könnte es das hier sein? > http://git.server-speed.net/users/flo/b … to-dist.pl
man muss nur noch den pfad anpassen in find-broken-perl-packages.sh dann sollte das hauptscript laufen
from:
module-to-dist.pl <$tmpdir/perl-modules.txt >$tmpdir/perl-dists.txt
to:
./module-to-dist.pl <$tmpdir/perl-modules.txt >$tmpdir/perl-dists.txt
Beitrag geändert von foxce (04.06.2014 20:45:31)
Offline
Ja das ist es, Florian hat auch gerade geantwortet. Wenn man beide Skripte ins selbe Verzeichnis abspeichert und ausführbar macht, braucht man auch keine Codeänderung.
Offline
Hmm, wen ich das ausführe steht in meiner pacman.txt:
perl-tk
subversion
die aber in dem Repository extra sind ?!
sind die jetzt trotzdem von mir neu zu compilieren/rebuilden per ABS ?
Wenn ich die Mail richtig verstanden habe, sind in diesen Packeten Dateien (die in raw.txt ?) die fehlerhaft verlinkt sind ?
Offline
subversion wird bei mir auch angezeigt, und ebenfalls perl-term-readline-gnu, beide frisch aus dem Repo. Subversion habe ich danach schon ein paarmal zum Auschecken genutzt, war unauffällig.
Das Skript kann aber laut Aussage des Maintainers auch falsche Positivmeldungen geben. Es wird halt schlicht versucht, das Modul direkt zu laden, auch wenn dies dafür nicht vorgesehen ist.
Wenn sich das System ansonsten unauffällig verhält, würde ich erstmal beruhigt den Maintainern vertrauen und nichts Übereiltes tun.
Offline
alles klar -danke- keine ahnung, warum ich perl-tk überhaupt drauf hatte - ist jetzt weg :-)
ein (ausführbare Datei "gedi" aus dem Paket)
$ /usr/bin/vendor_perl/gedi
ergab aber das
295b738 is not a hash at /usr/lib/perl5/vendor_perl/Tk/MainWindow.pm line 53.
Abgebrochen (Speicherabzug geschrieben)
Offline
Ich habe das Alles mehrmals durchgelesen, aber ich verstehe nicht, um was es da geht. Ich weiss nur Eines, dass mein gprename nicht mehr funktioniert.
Kann mir mal einer bitte erklären, was ich tun muss?
$ gprename
Invalid version format (non-numeric data) at /usr/lib/perl5/core_perl/Encode.pm line 12.
BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/Encode.pm line 12.
Compilation failed in require at /usr/bin/gprename line 52.
BEGIN failed--compilation aborted at /usr/bin/gprename line 52.
Beitrag geändert von hellmi666 (05.06.2014 17:01:46)
Online
du musst vielleicht das Paket gprename selber neu bauen, wenn es denn das aus dem system repository ist
https://wiki.archlinux.org/index.php/Arch_Build_System
ich fand das englische wiki verständlicher
Offline
ich fand das englische wiki verständlicher
Ich kann doch kein auswärts.
Aber nur weil Perl sich geändert hat, soll man alle Pakete, die davon abhängig sind, neu bauen?
Werden diese Pakete nicht über kurz oder lang in den Repos erneuert?
Online
Ich kann doch kein auswärts.
gibts ja auch auf "deitsch"
Aber nur weil Perl sich geändert hat, soll man alle Pakete, die davon abhängig sind, neu bauen?
Werden diese Pakete nicht über kurz oder lang in den Repos erneuert?
wäre zu hoffen, wenn es denn mit nem Neubau getan ist - keine Ahnung
Edit: Vllt lohnt es sich einen Bugreport zu schreiben
Beitrag geändert von midixinga (05.06.2014 19:12:55)
Offline
Ich habe beide Scripten ausführbar im selben Verzeichnis liegen. Wenn ich jedoch das Script find-broken-perl-packages.sh ausführe, dann bekomme ich :
l% bash find-broken-perl-packages.sh
error: no targets specified (use -h for help)
find-broken-perl-packages.sh: line 28: module-to-dist.pl: command not found
results are in "/tmp/find-broken-perl-package.e452PNZU"
angezeigt.
Ändere ich find-broken-perl-packages.sh auf die von foxce angegebene Art, bekomme ich
error: no targets specified (use -h for help)
results are in "/tmp/find-broken-perl-package.GmuDaa4u"
angezeigt. Was mache ich falsch?
Ich habe das Alles mehrmals durchgelesen, aber ich verstehe nicht, um was es da geht. Ich weiss nur Eines, dass mein gprename nicht mehr funktioniert.
Kann mir mal einer bitte erklären, was ich tun muss?$ gprename Invalid version format (non-numeric data) at /usr/lib/perl5/core_perl/Encode.pm line 12. BEGIN failed--compilation aborted at /usr/lib/perl5/core_perl/Encode.pm line 12. Compilation failed in require at /usr/bin/gprename line 52. BEGIN failed--compilation aborted at /usr/bin/gprename line 52.
1. mittels abs das PKGBUILD von gprename holen
2. makepkg -fi aufrufen.
3 Jemanden bitten, einen Bugreport zu schreiben
Edit: zu 1 und 2: Hilft in diesem Fall nicht, habe ich geraade versucht. Die Fehlermeldung bleibt.
Zu 3: Habe ich gemacht: https://bugs.archlinux.org/task/40718
Offline
Ich habe beide Scripten ausführbar im selben Verzeichnis liegen. Wenn ich jedoch das Script find-broken-perl-packages.sh ausführe, dann bekomme ich :
l% bash find-broken-perl-packages.sh error: no targets specified (use -h for help) find-broken-perl-packages.sh: line 28: module-to-dist.pl: command not found results are in "/tmp/find-broken-perl-package.e452PNZU"
angezeigt.
Das Verzeichnis mit den beiden Skripten muss wohl im Pfad liegen.
Ändere ich find-broken-perl-packages.sh auf die von foxce angegebene Art, bekomme ich
error: no targets specified (use -h for help) results are in "/tmp/find-broken-perl-package.GmuDaa4u"
angezeigt. Was mache ich falsch?
Oder so, das ist jedenfalls das erwartete Ergebnis.
/tmp/find-broken-perl-package.GmuDaa4u
ist ein Verzeichnis, darunter befinden sich Dateien, die das Ergebnis der Untersuchung enthalten.
Offline
Zu 3: Habe ich gemacht: https://bugs.archlinux.org/task/40718
Danke.
Online
In meiner pacman.txt taucht ebenfalls subversion auf.
Ansonsten enthält perl-modules.txt:
SVN::_Repos
SVN::_Core
SVN::_Wc
SVN::_Fs
SVN::_Client
SVN::_Ra
SVN::_Delta
... und raw.txt:
/usr/lib/perl5/vendor_perl/auto/SVN/_Repos/_Repos.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Core/_Core.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Wc/_Wc.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Fs/_Fs.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Client/_Client.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Ra/_Ra.so
/usr/lib/perl5/vendor_perl/auto/SVN/_Delta/_Delta.so
Wie ist das denn zu sehen? Muss ich in irgendeiner Weise tätig werden?
Offline
Nein.
Offline
Nein.
Schön! Danke
Offline
Das Problem mit gprename scheint nicht am gprename-Paket zu liegen, sondern an perl selbst. Baut man Perl mittels folgendem PKGBUILD selbst, läuft gprename.
# $Id: PKGBUILD 215143 2014-06-14 17:58:34Z bluewind $
# Maintainer: Florian Pritz <bluewind@xinu.at>
# Contributor: Angel Velasquez <angvp@archlinux.org>
# Contributor: kevin <kevin.archlinux.org>
# Contributor: judd <jvinet.zeroflux.org>
# Contributor: francois <francois.archlinux.org>
pkgname=perl
pkgver=5.20.0
pkgrel=5
pkgdesc="A highly capable, feature-rich programming language"
arch=(i686 x86_64)
license=('GPL' 'PerlArtistic')
url="http://www.perl.org"
groups=('base')
depends=('gdbm' 'db' 'glibc')
# NOTE: This array is automatically generated by `./patchprov`.
# If you want to add entries, do so in the next array.
provides=('perl-archive-tar=1.96'
'perl-attribute-handlers=0.96'
'perl-autodie=2.23'
'perl-autoloader=5.74'
'perl-autouse=1.08'
'perl-b-debug=1.19'
'perl-base=2.22'
'perl-bignum=0.37'
'perl-carp=1.3301'
'perl-cgi=3.65'
'perl-compress-raw-bzip2=2.064'
'perl-compress-raw-zlib=2.065'
'perl-config-perl-v=0.20'
'perl-constant=1.31'
'perl-cpan-meta-requirements=2.125'
'perl-cpan-meta-yaml=0.012'
'perl-cpan-meta=2.140640'
'perl-cpan=2.05'
'perl-data-dumper=2.151'
'perl-db_file=1.831'
'perl-devel-ppport=3.21'
'perl-devel-selfstubber=1.05'
'perl-digest-md5=2.53'
'perl-digest-sha=5.88'
'perl-digest=1.17'
'perl-dumpvalue=1.17'
'perl-encode=2.60'
'perl-encoding-warnings=0.11'
'perl-env=1.04'
'perl-experimental=0.007'
'perl-exporter=5.70'
'perl-extutils-cbuilder=0.280216'
'perl-extutils-command=1.18'
'perl-extutils-constant=0.23'
'perl-extutils-install=1.67'
'perl-extutils-makemaker=6.98'
'perl-extutils-manifest=1.63'
'perl-extutils-parsexs=3.24'
'perl-file-fetch=0.48'
'perl-file-path=2.09'
'perl-file-temp=0.2304'
'perl-filter-simple=0.91'
'perl-filter-util-call=1.49'
'perl-getopt-long=2.42'
'perl-http-tiny=0.043'
'perl-i18n-collate=1.02'
'perl-i18n-langtags=0.40'
'perl-if=0.0603'
'perl-io-compress=2.064'
'perl-io-socket-ip=0.29'
'perl-io-zlib=1.10'
'perl-io=1.31'
'perl-ipc-cmd=0.92'
'perl-ipc-sysv=2.04'
'perl-json-pp=2.27203'
'perl-lib=0.63'
'perl-libnet=1.25'
'perl-locale-codes=3.30'
'perl-locale-maketext-simple=0.21'
'perl-locale-maketext=1.25'
'perl-math-bigint-fastcalc=0.31'
'perl-math-bigint=1.9993'
'perl-math-bigrat=0.2606'
'perl-math-complex=1.59'
'perl-memoize=1.03'
'perl-mime-base64=3.14'
'perl-module-build=0.4205'
'perl-module-corelist=3.11'
'perl-module-load-conditional=0.62'
'perl-module-load=0.32'
'perl-module-loaded=0.08'
'perl-module-metadata=1.000019'
'perl-net-ping=2.43'
'perl-package-constants=0.04'
'perl-params-check=0.38'
'perl-parent=0.228'
'perl-parse-cpan-meta=1.4414'
'perl-pathtools=3.47'
'perl-perl-ostype=1.007'
'perl-perlfaq=5.0150044'
'perl-perlio-via-quotedprint=0.07'
'perl-pod-checker=1.60'
'perl-pod-escapes=1.06'
'perl-pod-parser=1.62'
'perl-pod-perldoc=3.23'
'perl-pod-simple=3.28'
'perl-pod-usage=1.63'
'perl-podlators=2.5.3'
'perl-safe=2.37'
'perl-scalar-list-utils=1.38'
'perl-search-dict=1.07'
'perl-selfloader=1.21'
'perl-socket=2.013'
'perl-storable=2.49'
'perl-sys-syslog=0.33'
'perl-term-ansicolor=4.02'
'perl-term-cap=1.15'
'perl-term-complete=1.402'
'perl-term-readline=1.14'
'perl-test-harness=3.30'
'perl-test-simple=1.001002'
'perl-test=1.26'
'perl-text-abbrev=1.02'
'perl-text-balanced=2.02'
'perl-text-parsewords=3.29'
'perl-text-tabs=2013.0523'
'perl-thread-queue=3.05'
'perl-thread-semaphore=2.12'
'perl-threads-shared=1.46'
'perl-threads=1.93'
'perl-tie-file=1.00'
'perl-tie-refhash=1.39'
'perl-time-hires=1.9726'
'perl-time-local=1.2300'
'perl-time-piece=1.27'
'perl-unicode-collate=1.04'
'perl-unicode-normalize=1.17'
'perl-version=0.9908'
'perl-xsloader=0.17')
# Add your own provides here
provides=(${provides[@]})
source=(http://www.cpan.org/src/5.0/perl-${pkgver}.tar.bz2
perlbin.sh
perlbin.csh
)
md5sums=('20cbecd4e9e880ee7a50a136c8b1484e'
'5ed2542fdb9a60682f215bd33701e61a'
'1f0cbbee783e8a6d32f01be5118e0d5e'
)
options=('makeflags' '!purge')
prepare() {
cd ${srcdir}/${pkgname}-${pkgver}
chmod -R 755 $srcdir/${pkgname}-${pkgver}
chmod 644 vutil.c
sed -i '599isetlocale(LC_NUMERIC, "C");' vutil.c
}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
if [ "${CARCH}" = "x86_64" ]; then
# for x86_64
arch_opts="-Dcccdlflags='-fPIC'"
else
# for i686
arch_opts=""
fi
./Configure -des -Dusethreads -Duseshrplib -Doptimize="${CFLAGS}" \
-Dprefix=/usr -Dvendorprefix=/usr \
-Dprivlib=/usr/share/perl5/core_perl \
-Darchlib=/usr/lib/perl5/core_perl \
-Dsitelib=/usr/share/perl5/site_perl \
-Dsitearch=/usr/lib/perl5/site_perl \
-Dvendorlib=/usr/share/perl5/vendor_perl \
-Dvendorarch=/usr/lib/perl5/vendor_perl \
-Dscriptdir=/usr/bin/core_perl \
-Dsitescript=/usr/bin/site_perl \
-Dvendorscript=/usr/bin/vendor_perl \
-Dinc_version_list=none \
-Dman1ext=1perl -Dman3ext=3perl ${arch_opts} \
-Dlddlflags="-shared ${LDFLAGS}" -Dldflags="${LDFLAGS}"
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR="$pkgdir" install
### Perl Settings ###
# Change man page extensions for site and vendor module builds.
# Set no mail address since bug reports should go to the bug tracker
# and not someone's email.
sed -e '/^man1ext=/ s/1perl/1p/' -e '/^man3ext=/ s/3perl/3pm/' \
-e "/^cf_email=/ s/'.*'/''/" \
-e "/^perladmin=/ s/'.*'/''/" \
-i ${pkgdir}/usr/lib/perl5/core_perl/Config_heavy.pl
### CPAN Settings ###
# Set CPAN default config to use the site directories.
sed -e '/(makepl_arg =>/ s/""/"INSTALLDIRS=site"/' \
-e '/(mbuildpl_arg =>/ s/""/"installdirs=site"/' \
-i ${pkgdir}/usr/share/perl5/core_perl/CPAN/FirstTime.pm
# Profile script to set paths to perl scripts.
install -D -m755 ${srcdir}/perlbin.sh \
${pkgdir}/etc/profile.d/perlbin.sh
# Profile script to set paths to perl scripts on csh. (FS#22441)
install -D -m755 ${srcdir}/perlbin.csh \
${pkgdir}/etc/profile.d/perlbin.csh
(cd ${pkgdir}/usr/bin; mv perl${pkgver} perl)
(cd ${pkgdir}/usr/bin/core_perl; ln -sf c2ph pstruct; ln -sf s2p psed)
# Remove all pod files *except* those under /usr/share/perl5/core_perl/pod/
# (FS#16488)
rm -f $pkgdir/usr/share/perl5/core_perl/*.pod
for d in $pkgdir/usr/share/perl5/core_perl/*; do
if [ -d $d -a $(basename $d) != "pod" ]; then
find $d -name *.pod -delete
fi
done
find $pkgdir/usr/lib -name *.pod -delete
find $pkgdir -name .packlist -delete
}
Beitrag geändert von stefanhusmann (19.06.2014 00:54:14)
Offline
Entweder mache ich hier irgend was falsch oder ich bin zu blöd für, aber es erscheint ein Fehler:
$ makepkg
==> Erstelle Paket: perl 5.20.0-5 (Di 17. Jun 18:02:49 CEST 2014)
==> Prüfe Laufzeit-Abhängigkeiten...
==> Prüfe Buildtime-Abhängigkeiten...
==> Empfange Quellen...
-> Lade perl-5.20.0.tar.bz2 herunter...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13.1M 0 13.1M 0 0 759k 0 --:--:-- 0:00:17 --:--:-- 870k
==> FEHLER: perlbin.sh wurde nicht im build Verzeichnis gefunden und ist keine URL.
und Abbruch.
Online
Du musst via abs alle Dateien, die zum Bau von Perl nötig sind, in ein eigenes Verzeichnis kopieren und nur das PKGBUILD ersetzen.
Offline
Entschuldigung, das PKGBUILD oben enthielt noch Fehler. Ich habe es oben korrigiert.
Offline
Du musst via abs alle Dateien, die zum Bau von Perl nötig sind, in ein eigenes Verzeichnis kopieren und nur das PKGBUILD ersetzen.
Da ich in noch nie ein Paket selbst gebaut und auch das Wiki darüber mehrmals gelesen, aber nicht verstanden habe, kannst du mir da bitte mal ein Beispiel zeigen?
...alle Dateien, die zum Bau von Perl nötig sind...
Meinst du all diese hier?
provides=('perl-archive-tar=1.96'
'perl-attribute-handlers=0.96'
'perl-autodie=2.23'
'perl-autoloader=5.74'
'perl-autouse=1.08'
'perl-b-debug=1.19'
'perl-base=2.22'
'perl-bignum=0.37'
'perl-carp=1.3301'
'perl-cgi=3.65'
'perl-compress-raw-bzip2=2.064'
'perl-compress-raw-zlib=2.065'
'perl-config-perl-v=0.20'
'perl-constant=1.31'
'perl-cpan-meta-requirements=2.125'
'perl-cpan-meta-yaml=0.012'
'perl-cpan-meta=2.140640'
'perl-cpan=2.05'
'perl-data-dumper=2.151'
'perl-db_file=1.831'
'perl-devel-ppport=3.21'
'perl-devel-selfstubber=1.05'
'perl-digest-md5=2.53'
'perl-digest-sha=5.88'
'perl-digest=1.17'
'perl-dumpvalue=1.17'
'perl-encode=2.60'
'perl-encoding-warnings=0.11'
'perl-env=1.04'
'perl-experimental=0.007'
'perl-exporter=5.70'
'perl-extutils-cbuilder=0.280216'
'perl-extutils-command=1.18'
'perl-extutils-constant=0.23'
'perl-extutils-install=1.67'
'perl-extutils-makemaker=6.98'
'perl-extutils-manifest=1.63'
'perl-extutils-parsexs=3.24'
'perl-file-fetch=0.48'
'perl-file-path=2.09'
'perl-file-temp=0.2304'
'perl-filter-simple=0.91'
'perl-filter-util-call=1.49'
'perl-getopt-long=2.42'
'perl-http-tiny=0.043'
'perl-i18n-collate=1.02'
'perl-i18n-langtags=0.40'
'perl-if=0.0603'
'perl-io-compress=2.064'
'perl-io-socket-ip=0.29'
'perl-io-zlib=1.10'
'perl-io=1.31'
'perl-ipc-cmd=0.92'
'perl-ipc-sysv=2.04'
'perl-json-pp=2.27203'
'perl-lib=0.63'
'perl-libnet=1.25'
'perl-locale-codes=3.30'
'perl-locale-maketext-simple=0.21'
'perl-locale-maketext=1.25'
'perl-math-bigint-fastcalc=0.31'
'perl-math-bigint=1.9993'
'perl-math-bigrat=0.2606'
'perl-math-complex=1.59'
'perl-memoize=1.03'
'perl-mime-base64=3.14'
'perl-module-build=0.4205'
'perl-module-corelist=3.11'
'perl-module-load-conditional=0.62'
'perl-module-load=0.32'
'perl-module-loaded=0.08'
'perl-module-metadata=1.000019'
'perl-net-ping=2.43'
'perl-package-constants=0.04'
'perl-params-check=0.38'
'perl-parent=0.228'
'perl-parse-cpan-meta=1.4414'
'perl-pathtools=3.47'
'perl-perl-ostype=1.007'
'perl-perlfaq=5.0150044'
'perl-perlio-via-quotedprint=0.07'
'perl-pod-checker=1.60'
'perl-pod-escapes=1.06'
'perl-pod-parser=1.62'
'perl-pod-perldoc=3.23'
'perl-pod-simple=3.28'
'perl-pod-usage=1.63'
'perl-podlators=2.5.3'
'perl-safe=2.37'
'perl-scalar-list-utils=1.38'
'perl-search-dict=1.07'
'perl-selfloader=1.21'
'perl-socket=2.013'
'perl-storable=2.49'
'perl-sys-syslog=0.33'
'perl-term-ansicolor=4.02'
'perl-term-cap=1.15'
'perl-term-complete=1.402'
'perl-term-readline=1.14'
'perl-test-harness=3.30'
'perl-test-simple=1.001002'
'perl-test=1.26'
'perl-text-abbrev=1.02'
'perl-text-balanced=2.02'
'perl-text-parsewords=3.29'
'perl-text-tabs=2013.0523'
'perl-thread-queue=3.05'
'perl-thread-semaphore=2.12'
'perl-threads-shared=1.46'
'perl-threads=1.93'
'perl-tie-file=1.00'
'perl-tie-refhash=1.39'
'perl-time-hires=1.9726'
'perl-time-local=1.2300'
'perl-time-piece=1.27'
'perl-unicode-collate=1.04'
'perl-unicode-normalize=1.17'
'perl-version=0.9908'
'perl-xsloader=0.17')
Oder doch nur diese?
perlbin.sh
perlbin.csh
Edit: Ok, ich habs hinbekommen. Perl ist neu gebaut und installiert und gprename funktioniert auch wieder.
Danke.
Beitrag geändert von hellmi666 (21.06.2014 08:33:39)
Online
Im [testing]-Repo gibt es ein neues Perl-Paket, das das Problem mit gprename (und einige andere) auch löst.
Offline
Seiten: 1