Opened 13 years ago
Closed 12 years ago
#31041 closed defect (fixed)
libgsf fails to see installed XML::parser and fails to install
Reported by: | raramayo (Rodolfo Aramayo) | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.0.1 |
Keywords: | haspatch | Cc: | ghosthound, mjg@…, markus.doits@…, ryandesign (Ryan Carsten Schmidt) |
Port: | libgsf |
Description (last modified by mf2k (Frank Schima))
When trying to install it gives me the following: ==========
---> Computing dependencies for libgsf ---> Fetching archive for libgsf ---> Attempting to fetch libgsf-1.14.21_0.darwin_10.x86_64.tbz2 from http://packages.macports.org/libgsf ---> Fetching libgsf ---> Attempting to fetch libgsf-1.14.21.tar.bz2 from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/libgsf ---> Verifying checksum(s) for libgsf ---> Extracting libgsf ---> Configuring libgsf Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details) Log for libgsf is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgsf/libgsf/main.log Error: Status 1 encountered during processing. To report a bug, see <http://guide.macports.org/#project.tickets>
==========
and the log file clearly shows that XML::parser is the culprit: ==========
:info:configure checking whether to build shared libraries... yes :info:configure checking whether to build static libraries... yes :info:configure checking for _LARGEFILE_SOURCE value needed for large files... no :info:configure checking for special C compiler options needed for large files... no :info:configure checking for _FILE_OFFSET_BITS value needed for large files... no :info:configure checking for pkg-config... /opt/local/bin/pkg-config :info:configure checking whether NLS is requested... yes :info:configure checking for intltool >= 0.35.0... 0.40.6 found :info:configure checking for intltool-update... /opt/local/bin/intltool-update :info:configure checking for intltool-merge... /opt/local/bin/intltool-merge :info:configure checking for intltool-extract... /opt/local/bin/intltool-extract :info:configure checking for xgettext... /opt/local/bin/xgettext :info:configure checking for msgmerge... /opt/local/bin/msgmerge :info:configure checking for msgfmt... /opt/local/bin/msgfmt :info:configure checking for gmsgfmt... /opt/local/bin/msgfmt :info:configure checking for perl... /opt/local/bin/perl :info:configure checking for perl >= 5.8.1... 5.12.3 :info:configure checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool :info:configure shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgsf/libgsf/work/libgsf-1.14.21" && ./configure --prefix=/opt/local --without-python --disable-schemas-install " returned error 2 :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 libgsf): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install :notice:configure Log for libgsf is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_gnome_libgsf/libgsf/main.log
==========
Yet both:
p5-xml-sax-expat @0.400.0_3 (active) p5.12-xml-sax-expat @0.400.0_3 (active)
are installed
Attachments (2)
Change History (13)
comment:1 Changed 13 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Port: | libgsf added |
Changed 13 years ago by pixilla (Bradley Giesbrecht)
comment:2 Changed 13 years ago by pixilla (Bradley Giesbrecht)
In my case XML/Parser.pm is located here:
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level/XML/Parser.pm
This path is not in perls @INC:
$ /usr/bin/env perl -e "require XML::Parser" Can't locate XML/Parser.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.12.3/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.12.3 /opt/local/lib/perl5/vendor_perl/5.12.3/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.12.3 /opt/local/lib/perl5/5.12.3/darwin-thread-multi-2level /opt/local/lib/perl5/5.12.3 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl .) at -e line 1.
perl5.12 is installed with threads:
$ port installed perl5* The following ports are currently installed: perl5 @5.12.3_1+perl5_12 (active) perl5.12 @5.12.3_1+threads perl5.12 @5.12.3_2+threads (active)
Should perl5.12 be adding this path to @INC?
vendor_perl/5.12.3/darwin-multi-2level
Should p5.12-xml-parser install to this path?
vendor_perl/5.12.3/darwin-thread-multi-2level
comment:3 Changed 13 years ago by pixilla (Bradley Giesbrecht)
Cc: | ricci@… mjg@… added |
---|
comment:4 Changed 13 years ago by pixilla (Bradley Giesbrecht)
Adding PERL5LIB with path to XML::Parser allows libgsf configure to complete.
configure.env-append "PERL5LIB=${prefix}/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level"
This does not feel like the correct way to fix this.
I have other port installed p5.12-* perl modules in vendor_perl/5.12.3/darwin-multi-2level.
comment:5 Changed 13 years ago by markus.doits@…
fresh install on 10.6, libgsf was pulled it as a dependency of, same problem, and configure.env-append fixes it.
comment:8 follow-up: 9 Changed 13 years ago by d-lamb (Derek Lamb)
I received a similar error to the OP. But I am also using macports perl 5.14 as my active version, with 5.12.3 installed alongside but inactive. For me the correct path to p5-xml-parser was in the @INC of perl5.12, but not of perl5.14. I manually added
INTLTOOL_PERL=/opt/local/bin/perl5.12
to the ./configure call of libgsf and then libgsf configured and built apparently correctly. Before making that change I had
checking for gmsgfmt... /opt/local/bin/msgfmt checking for perl... /opt/local/bin/perl checking for perl >= 5.8.1... 5.14.1 checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool
and after making the change I had
checking for gmsgfmt... /opt/local/bin/msgfmt checking for perl... /opt/local/bin/perl5.12 checking for perl >= 5.8.1... 5.12.3 checking for XML::Parser... ok
and libgsf configured and built just fine. (note I didn't change the portfile, I just called ./configure manually)
comment:9 Changed 13 years ago by d-lamb (Derek Lamb)
Changed 12 years ago by jmroot (Joshua Root)
Attachment: | libgsf-INTLTOOL_PERL.patch added |
---|
comment:10 Changed 12 years ago by jmroot (Joshua Root)
Keywords: | haspatch added |
---|
The shared and threads variants for perl really need to go away (probably by becoming the default). Problems like this are inevitable with the way things currently work.
The attached patch should at least take care of the issue mentioned in comment:8. It's really inconvenient to have to do this to every port that uses IT_PROG_INTLTOOL though. It would be much better for intltool to provide a way to directly query which perl it's configured to use.
comment:11 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ryandesign@… added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Please attach the complete log file. What version of Mac OS X are you running?