Opened 9 years ago

Closed 9 years ago

#33105 closed defect (duplicate)

help2man: error: perl module Locale::gettext required

Reported by: raramayo (Rodolfo Aramayo) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc: ryandesign (Ryan Schmidt)
Port: help2man

Description

help2man is failing to install on a fresh installation of MacOSX10.6.8, XCode 3.2.6 and fresh installation of MacPorts

version:1
:debug:main epoch: in tree: 0 installed: 0
:debug:main perl5.12 5.12.3_3 exists in the ports tree
:debug:main perl5.12 5.12.3_3 +threads is the latest installed
:debug:main perl5.12 5.12.3_3 +threads is active
:debug:main Merging existing variants '+threads' into variants
:debug:main new fully merged portvariants: threads +
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/lang/perl5.12
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main Executing variant threads provides threads
:debug:main No need to upgrade! perl5.12 5.12.3_3 >= perl5.12 5.12.3_3
:debug:main epoch: in tree: 0 installed: 0
:debug:main gdbm 1.10_1 exists in the ports tree
:debug:main gdbm 1.10_1  is the latest installed
:debug:main gdbm 1.10_1  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/gdbm
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! gdbm 1.10_1 >= gdbm 1.10_1
:debug:main epoch: in tree: 0 installed: 0
:debug:main gettext 0.18.1.1_2 exists in the ports tree
:debug:main gettext 0.18.1.1_2  is the latest installed
:debug:main gettext 0.18.1.1_2  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/gettext
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/archcheck-1.0.tcl
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! gettext 0.18.1.1_2 >= gettext 0.18.1.1_2
:debug:main epoch: in tree: 0 installed: 0
:debug:main libiconv 1.14_0 exists in the ports tree
:debug:main libiconv 1.14_0  is the latest installed
:debug:main libiconv 1.14_0  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/libiconv
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/muniversal-1.0.tcl
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main universal variant already exists, so not adding the default one
:debug:main No need to upgrade! libiconv 1.14_0 >= libiconv 1.14_0
:debug:main epoch: in tree: 0 installed: 0
:debug:main ncurses 5.9_1 exists in the ports tree
:debug:main ncurses 5.9_1  is the latest installed
:debug:main ncurses 5.9_1  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/devel/ncurses
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! ncurses 5.9_1 >= ncurses 5.9_1
:debug:main epoch: in tree: 0 installed: 0
:debug:main expat 2.0.1_1 exists in the ports tree
:debug:main expat 2.0.1_1  is the latest installed
:debug:main expat 2.0.1_1  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/textproc/expat
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! expat 2.0.1_1 >= expat 2.0.1_1
:debug:main epoch: in tree: 0 installed: 0
:debug:main p5.12-locale-gettext 1.50.0_6 exists in the ports tree
:debug:main p5.12-locale-gettext 1.50.0_6  is the latest installed
:debug:main p5.12-locale-gettext 1.50.0_6  is active
:debug:main Merging existing variants '' into variants
:debug:main new fully merged portvariants:
:debug:main Changing to port directory: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/perl/p5-locale-gettext
:debug:main OS darwin/10.8.0 (Mac OS X 10.6) arch i386
:debug:main org.macports.load registered provides 'load', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.unload registered provides 'unload', a pre-existing procedure. Target override will not be provided
:debug:main org.macports.distfiles registered provides 'distfiles', a pre-existing procedure. Target override will not be provided
:debug:main Using group file /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/group/perl5-1.0.tcl
:debug:main Re-registering default for livecheck.version
:debug:main Re-registering default for configure.universal_args
:debug:main adding the default universal variant
:debug:main Reading variant descriptions from /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/_resources/port1.0/variant_descriptions.conf
:debug:main No need to upgrade! p5.12-locale-gettext 1.50.0_6 >= p5.12-locale-gettext 1.50.0_6
:msg:main --->  Computing dependencies for help2man:info:main .:debug:main Searching for dependency: perl5.12
:debug:main Found Dependency: receipt exists for perl5.12
:debug:main Searching for dependency: p5.12-locale-gettext
:debug:main Found Dependency: receipt exists for p5.12-locale-gettext
:debug:main Searching for dependency: gettext
:debug:main Found Dependency: receipt exists for gettext
:debug:main Searching for dependency: libiconv
:debug:main Found Dependency: receipt exists for libiconv
:msg:main
:debug:main Executing org.macports.main (help2man)
:debug:main changing euid/egid - current euid: 0 - current egid: 0
:debug:main egid changed to: 501
:debug:main euid changed to: 502
:debug:archivefetch archivefetch phase started at Wed Feb  1 14:21:25 CST 2012
:msg:archivefetch --->  Fetching archive for help2man
:debug:archivefetch Executing org.macports.archivefetch (help2man)
:debug:archivefetch euid/egid changed to: 0/0
:debug:archivefetch chowned /opt/local/var/macports/software/help2man to macports
:debug:archivefetch euid/egid changed to: 502/501
:debug:archivefetch euid/egid changed to: 0/0
:debug:archivefetch chowned /opt/local/var/macports/incoming to macports
:debug:archivefetch euid/egid changed to: 502/501
:info:archivefetch --->  help2man-1.40.5_0.darwin_10.i386.tbz2 doesn't seem to exist in /opt/local/var/macports/software/help2man
:msg:archivefetch --->  Attempting to fetch help2man-1.40.5_0.darwin_10.i386.tbz2 from http://packages.macports.org/help2man
:debug:archivefetch Fetching archive failed:: The requested URL returned error: 404
:debug:archivefetch Privilege de-escalation not attempted as not running as root.
:debug:fetch fetch phase started at Wed Feb  1 14:21:25 CST 2012
:notice:fetch --->  Fetching help2man
:debug:fetch euid/egid changed to: 0/0
:debug:fetch chowned /opt/local/var/macports/distfiles/help2man to macports
:debug:fetch euid/egid changed to: 502/501
:debug:fetch Executing org.macports.fetch (help2man)
:debug:fetch Privilege de-escalation not attempted as not running as root.
:debug:checksum checksum phase started at Wed Feb  1 14:21:25 CST 2012
:notice:checksum --->  Verifying checksum(s) for help2man
:debug:checksum Executing org.macports.checksum (help2man)
:info:checksum --->  Checksumming help2man-1.40.5.tar.gz
:debug:checksum Correct (rmd160) checksum for help2man-1.40.5.tar.gz
:debug:checksum Correct (sha256) checksum for help2man-1.40.5.tar.gz
:debug:checksum Privilege de-escalation not attempted as not running as root.
:debug:extract extract phase started at Wed Feb  1 14:21:25 CST 2012
:notice:extract --->  Extracting help2man
:debug:extract Executing org.macports.extract (help2man)
:info:extract --->  Extracting help2man-1.40.5.tar.gz
:debug:extract setting option extract.args to '/opt/local/var/macports/distfiles/help2man/help2man-1.40.5.tar.gz'
:debug:extract Environment: CPATH='/opt/local/include' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/h\
elp2man/work/.CC_PRINT_OPTIONS' LIBRARY_PATH='/opt/local/lib' CC_PRINT_OPTIONS='YES' MACOSX_DEPLOYMENT_TARGET='10.6'
:debug:extract Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work" && /usr/bin/gzip -dc '/op\
t/local/var/macports/distfiles/help2man/help2man-1.40.5.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -'
:debug:extract Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work" && /usr/bin/gzip -dc\
 '/opt/local/var/macports/distfiles/help2man/help2man-1.40.5.tar.gz' | /usr/bin/gnutar --no-same-owner -xf -
:debug:extract euid/egid changed to: 0/0
:debug:extract chowned /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work to macports
:debug:extract euid/egid changed to: 502/501
:debug:extract Privilege de-escalation not attempted as not running as root.
:debug:patch patch phase started at Wed Feb  1 14:21:25 CST 2012
:debug:patch Executing org.macports.patch (help2man)
:debug:patch Executing proc-post-org.macports.patch-patch-0
:debug:patch euid/egid changed to: 0/0
:debug:patch chowned /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work/help2man-1.40.5/Makefile.in to macports
:debug:patch euid/egid changed to: 502/501
:debug:patch euid/egid changed to: 0/0
:debug:patch setting attributes on /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work/help2man-1.40.5/Makefile.in
:debug:patch euid/egid changed to: 502/501
:debug:patch Privilege de-escalation not attempted as not running as root.
:debug:configure configure phase started at Wed Feb  1 14:21:25 CST 2012
:notice:configure --->  Configuring help2man
:debug:configure Using compiler 'Mac OS X gcc 4.2'
:debug:configure Executing org.macports.configure (help2man)
:debug:configure Environment: CPATH='/opt/local/include' CFLAGS='-pipe -O2 -arch i386' CPPFLAGS='-I/opt/local/include' CXXFLAGS='-pipe -O2 -arch i386' LIBRARY_PATH='/opt/local/lib' MACOSX_DEPLOYMENT_TA\
RGET='10.6' PERL='/opt/local/bin/perl5.12' CXX='/usr/bin/g++-4.2' CC_PRINT_OPTIONS_FILE='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc\
_help2man/help2man/work/.CC_PRINT_OPTIONS' F90FLAGS='-pipe -O2 -m32' LDFLAGS='-L/opt/local/lib -arch i386' OBJC='/usr/bin/gcc-4.2' FCFLAGS='-pipe -O2 -m32' INSTALL='/usr/bin/install -c' OBJCFLAGS='-pip\
e -O2 -arch i386' FFLAGS='-pipe -O2 -m32' CC_PRINT_OPTIONS='YES' CC='/usr/bin/gcc-4.2'
:debug:configure Assembled command: 'cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work/help2man-1.40.5" && ./co\
nfigure --prefix=/opt/local --enable-nls'
:debug:configure Executing command line:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work/help2man-1.40.5" &&\
 ./configure --prefix=/opt/local --enable-nls
:info:configure checking for perl... /opt/local/bin/perl5.12
:info:configure checking for module Locale::gettext... no
:info:configure checking for msgfmt... /opt/local/bin/msgfmt
:info:configure checking for gcc... /usr/bin/gcc-4.2
:info:configure checking whether the C compiler works... yes
:info:configure checking for C compiler default output file name... a.out
:info:configure checking for suffix of executables...
:info:configure checking whether we are cross compiling... no
:info:configure checking for suffix of object files... o
:info:configure checking whether we are using the GNU C compiler... yes
:info:configure checking whether /usr/bin/gcc-4.2 accepts -g... yes
:info:configure checking for /usr/bin/gcc-4.2 option to accept ISO C89... none needed
:info:configure checking for library containing dlsym... none required
:info:configure checking for library containing bindtextdomain... -lintl
:info:configure configure: error: perl module Locale::gettext required
:info:configure shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/work/help2man-1.40.5" && ./configu\
re --prefix=/opt/local --enable-nls " returned error 1
:error:configure Target org.macports.configure returned: configure failure: shell command failed (see log for details)
:debug:configure Backtrace: configure failure: shell command failed (see log for details)
    while executing
"$procedure $targetname"
:info:configure Warning: the following items did not execute (for help2man): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:configure Log for help2man is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_textproc_help2man/help2man/main.log

Change History (8)

comment:1 Changed 9 years ago by ryandesign (Ryan Schmidt)

Cc: ryandesign@… added

And I am seeing the same error on an upgrade. This is a very common error with the help2man port, however this time it may be affecting more people / more installations.

comment:2 Changed 9 years ago by ryandesign (Ryan Schmidt)

Summary: help2man fails to installhelp2man: error: perl module Locale::gettext required

comment:3 Changed 9 years ago by cmconnelly (Claire Connelly)

Seems to be an issue with the p5.12-locale-gettext port not showing up in Perl -- that is, it also isn't found if you run

perl -pe 'use Locale::gettext;'

After a bunch of experimentation, I found that port uninstall p5.12-locale-gettext; port clean p5.12-locale-gettext and then trying to upgrade again caused p5-locale-gettext to be reinstalled, and the rest of the upgrade worked from there.

comment:4 Changed 9 years ago by raramayo (Rodolfo Aramayo)

I proceeded as follows:

88# port uninstall p5.12-locale-gettext; port clean p5.12-locale-gettext
--->  Deactivating p5.12-locale-gettext @1.50.0_6
--->  Cleaning p5.12-locale-gettext
--->  Uninstalling p5.12-locale-gettext @1.50.0_6
--->  Cleaning p5.12-locale-gettext
--->  Cleaning p5.12-locale-gettext
89# port install help2man
--->  Computing dependencies for help2man
--->  Dependencies to be installed: p5.12-locale-gettext
--->  Fetching archive for p5.12-locale-gettext
--->  Attempting to fetch p5.12-locale-gettext-1.50.0_6.darwin_10.i386.tbz2 from http://packages.macports.org/p5.12-locale-gettext
--->  Fetching p5.12-locale-gettext
--->  Attempting to fetch gettext-1.05.tar.gz from ftp://mirror.hiwaay.net/CPAN/modules/by-module/Locale
--->  Verifying checksum(s) for p5.12-locale-gettext
--->  Extracting p5.12-locale-gettext
--->  Applying patches to p5.12-locale-gettext
--->  Configuring p5.12-locale-gettext
--->  Building p5.12-locale-gettext
--->  Staging p5.12-locale-gettext into destroot
--->  Installing p5.12-locale-gettext @1.50.0_6
--->  Activating p5.12-locale-gettext @1.50.0_6
--->  Cleaning p5.12-locale-gettext
--->  Configuring help2man
--->  Building help2man
--->  Staging help2man into destroot
--->  Installing help2man @1.40.5_0
--->  Activating help2man @1.40.5_0
--->  Cleaning help2man

and it works!

Thanks

comment:5 Changed 9 years ago by ecronin (Eric Cronin)

:debug:main perl5.12 5.12.3_3 exists in the ports tree
:debug:main perl5.12 5.12.3_3 +threads is the latest installed
:debug:main perl5.12 5.12.3_3 +threads is active

+threads is not the default for perl5.12, and w/ or w/o threads changes the directory name where perl looks for modules and where modules get installed (see source:trunk/dports/lang/perl5.12/Portfile#L82), so I would guess that you initially installed perl5.12 and p5.12-locale-gettext, and then installed perl5.12 +threads. Uninstalling p5.12-local-gettext and rebuilding/installing it with perl5.12 +threads active put the modules where your current perl is looking for it.

This situation is bad/confusing enough, but it just occurred to me that as stands this is unfixable when installing using pre-built packages-- the buildbot builds p5.12-locale-gettext against perl5.12 -threads, which contains different and incompatible files from p5.12-locale-gettext built against perl5.12 +threads, even though both have identical names/versions/variants for p5.12-locale-gettext... You lucked out because there is only an x86_64 package for p5.12-locale-gettext on packages.macports.org, but if someone installed p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2 on top of perl5.12 +threads perl would not see the module despite macports thinking everything was fine

comment:6 in reply to:  5 Changed 9 years ago by raramayo (Rodolfo Aramayo)

Replying to ecronin@…:

:debug:main perl5.12 5.12.3_3 exists in the ports tree
:debug:main perl5.12 5.12.3_3 +threads is the latest installed
:debug:main perl5.12 5.12.3_3 +threads is active

+threads is not the default for perl5.12, and w/ or w/o threads changes the directory name where perl looks for modules and where modules get installed (see source:trunk/dports/lang/perl5.12/Portfile#L82), so I would guess that you initially installed perl5.12 and p5.12-locale-gettext, and then installed perl5.12 +threads. Uninstalling p5.12-local-gettext and rebuilding/installing it with perl5.12 +threads active put the modules where your current perl is looking for it.

You are right. In this machine I did just that. I forgot to install +threads and then uninstalled everything, all perl ports including perl itself and then started clean with +threads. But somehow, I run into help2man problems here and this was the only machine that gave me this problem...

I guess somehow I assumed that uninstalling and cleaning and then re-installing was going to eliminate this kind of problems. Obviously I must have messed up at some point...

This situation is bad/confusing enough, but it just occurred to me that as stands this is unfixable when installing using pre-built packages-- the buildbot builds p5.12-locale-gettext against perl5.12 -threads, which contains different and incompatible files from p5.12-locale-gettext built against perl5.12 +threads, even though both have identical names/versions/variants for p5.12-locale-gettext... You lucked out because there is only an x86_64 package for p5.12-locale-gettext on packages.macports.org, but if someone installed p5.12-locale-gettext-1.50.0_6.darwin_10.x86_64.tbz2 on top of perl5.12 +threads perl would not see the module despite macports thinking everything was fine

comment:7 Changed 9 years ago by jmroot (Joshua Root)

This may be a duplicate of #32171. Does this problem still occur now that that's fixed?

comment:8 Changed 9 years ago by jmroot (Joshua Root)

Resolution: duplicate
Status: newclosed

Assuming duplicate.

Note: See TracTickets for help on using tickets.