Opened 9 years ago

Closed 9 years ago

#32425 closed defect (fixed)

shared-mime-info @0.91 configure error with perl5 +perl5_8/10/14

Reported by: larryv (Lawrence Velázquez) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: haspatch Cc:
Port: shared-mime-info

Description

The configure phase for shared-mime-info @0.91 fails when perl5 +perl5_14 is installed, and I assume any other variant that isn’t +perl5_12.

Since intltool requires perl5.12 and 5.12-specific modules, the shared-mime-info configure script fails to find them if the default Perl is not 5.12:

: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

[...snip...]

:info:configure checking for perl... /opt/local/bin/perl
:info:configure checking for perl >= 5.8.1... 5.14.1
:info:configure checking for XML::Parser... configure: error: XML::Parser perl module is required for intltool

(I do have intltool installed, as well as its library dependencies, such as p5.12-xml-parser.)

The patch corrects this by explicitly providing the path to the perl5.12 executable. This would have to be updated when intltool is updated to perl5.14.

(This patch is practically identical to that in #32423.)

Attachments (1)

Portfile-shared-mime-info.diff (465 bytes) - added by larryv (Lawrence Velázquez) 9 years ago.
Patch to use perl5.12 explicitly

Download all attachments as: .zip

Change History (7)

Changed 9 years ago by larryv (Lawrence Velázquez)

Patch to use perl5.12 explicitly

comment:1 Changed 9 years ago by freezingmariner@…

I am having the same problem except that I have perl 5.12 installed along with all the necessary dependencies.

Here is what I have from my log file:

:info:configure checking for perl >= 5.8.1... 5.14.1
: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_devel_shared-mime-info/shared-mime-info/work/shared-mime-info-0.91" && ./configure --prefix=/opt/local --disable-update-mimedb " 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 shared-mime-info): org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:configure Log for shared-mime-info is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_shared-mime-info/shared-mime-info/main.log

comment:2 Changed 9 years ago by larryv (Lawrence Velázquez)

It doesn't matter if you have perl5.12 installed, because the bug here is that shared-mime-info doesn't look for perl5.12. It looks for perl5. So if your perl5 doesn't point to perl5.12 (which yours doesn't, you have perl5 +perl5_14), shared-mime-info won't find any of intltool's dependencies, since they're all p5.12-* ports.

If you're not too attached to perl5 +perl5_14, a very easy fix is to install perl5 +perl5_12 instead.

comment:3 Changed 9 years ago by khepler

xkeyboard-config is also affected. Fixed by re-installing perl5 without +perl5_14. This left perl5.14 installed, but not the version invoked by the /opt/local/bin/perl link:

[Wallstreet:~] kris% port installed perl5\*
The following ports are currently installed:
  perl5 @5.12.3_1+perl5_12 (active)
  perl5 @5.12.3_1+perl5_14
  perl5.12 @5.12.3_2 (active)
  perl5.14 @5.14.1_1 (active)
[Wallstreet:~] kris% dir /opt/local/bin/perl*
lrwxrwxrwx   1 root  admin       8B Dec 14 16:35 /opt/local/bin/perl@ -> perl5.12
lrwxrwxrwx   1 root  admin       8B Dec 14 16:35 /opt/local/bin/perl5@ -> perl5.12
-rwxr-xr-x   1 root  admin       1M Dec  8 18:51 /opt/local/bin/perl5.12*
lrwxrwxrwx   1 root  admin       8B Dec  8 19:05 /opt/local/bin/perl5.12.3@ -> perl5.12
-rwxr-xr-x   1 root  admin       1M Dec  8 17:08 /opt/local/bin/perl5.14*
lrwxrwxrwx   1 root  admin       8B Dec 14 16:52 /opt/local/bin/perl5.14.1@ -> perl5.14
lrwxrwxrwx   1 root  admin      12B Dec 14 16:35 /opt/local/bin/perlbug@ -> perlbug-5.12
-rwxr-xr-x   2 root  admin      44K Dec  8 18:52 /opt/local/bin/perlbug-5.12*
-rwxr-xr-x   2 root  admin      44K Dec  8 17:09 /opt/local/bin/perlbug-5.14*
lrwxrwxrwx   1 root  admin      12B Dec 14 16:35 /opt/local/bin/perldoc@ -> perldoc-5.12
-rwxr-xr-x   1 root  admin     236B Dec  8 18:52 /opt/local/bin/perldoc-5.12*
-rwxr-xr-x   1 root  admin     236B Dec  8 17:09 /opt/local/bin/perldoc-5.14*
lrwxrwxrwx   1 root  admin      12B Dec 14 16:35 /opt/local/bin/perlivp@ -> perlivp-5.12
-rwxr-xr-x   1 root  admin      12K Dec  8 18:52 /opt/local/bin/perlivp-5.12*
-rwxr-xr-x   1 root  admin      11K Dec  8 17:09 /opt/local/bin/perlivp-5.14*
lrwxrwxrwx   1 root  admin      15B Dec 14 16:35 /opt/local/bin/perlthanks@ -> perlthanks-5.12
-rwxr-xr-x   2 root  admin      44K Dec  8 18:52 /opt/local/bin/perlthanks-5.12*
-rwxr-xr-x   2 root  admin      44K Dec  8 17:09 /opt/local/bin/perlthanks-5.14*

So you can still have perl5.14 installed if you like, but will have to call it explicitly with "perl5.14" instead of merely "perl".

comment:4 Changed 9 years ago by larryv (Lawrence Velázquez)

I've submitted a fix for xkeyboard-config at #32545.

comment:5 Changed 9 years ago by drkp (Dan Ports)

Owner: changed from macports-tickets@… to dports@…
Status: newassigned

comment:6 Changed 9 years ago by drkp (Dan Ports)

Resolution: fixed
Status: assignedclosed

Thanks, committed in r89377.

Note: See TracTickets for help on using tickets.