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)

main.log (54.0 KB) - added by pixilla (Bradley Giesbrecht) 13 years ago.
libgsf-INTLTOOL_PERL.patch (398 bytes) - added by jmroot (Joshua Root) 12 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 13 years ago by mf2k (Frank Schima)

Description: modified (diff)
Port: libgsf added

Please attach the complete log file. What version of Mac OS X are you running?

Changed 13 years ago by pixilla (Bradley Giesbrecht)

Attachment: main.log added

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:6 Changed 13 years ago by markus.doits@…

should be ... dependency of gimp ...

comment:7 Changed 13 years ago by markus.doits@…

Cc: markus.doits@… added

Cc Me!

comment:8 Changed 12 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 in reply to:  8 Changed 12 years ago by d-lamb (Derek Lamb)

Replying to derek@…:

Anyway, this isn't unique to libgsf, doing a ticket query on XML::Parser returns basically the same thing in many gimp dependencies. See e.g., Ticket #30124.

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: newclosed
Note: See TracTickets for help on using tickets.