Opened 12 years ago

Closed 12 years ago

#32950 closed defect (invalid)

glib2 @2.30.2 destroot staging failure when /opt/local/bin/perl doesn't work

Reported by: ollie@… Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.0.3
Keywords: Cc:
Port: glib2

Description

When trying to install glib2, I encounter a problem similar to #32185, though it seems that particular problem has been resolved already (and the work-around failed, too). I get the following message when trying to install glib2. (After sudo port clean glib2, of course.) I am running OSX 10.5.8 on a G5 and with XCode 3.1.4 installed.

sandbox >: sudo port install glib2
--->  Computing dependencies for glib2
--->  Fetching archive for glib2
--->  Attempting to fetch glib2-2.30.2_2.darwin_9.ppc.tbz2 from http://packages.macports.org/glib2
--->  Fetching glib2
--->  Verifying checksum(s) for glib2
--->  Extracting glib2
--->  Applying patches to glib2
--->  Configuring glib2
--->  Building glib2
--->  Staging glib2 into destroot
Error: Target org.macports.destroot returned: shell command failed (see log for details)
Log for glib2 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_glib2/glib2/main.log
Error: Status 1 encountered during processing.
To report a bug, see <http://guide.macports.org/#project.tickets>

It doesn't seem to be a problem with pkgconfig or gettext, as other similar problems are. To check what I already have, I did the following:

sandbox >: sudo port installed glib2
None of the specified ports are installed.
sandbox >: sudo port installed pkgconfig
The following ports are currently installed:
  pkgconfig @0.25_1
  pkgconfig @0.25_2 (active)
sandbox >: sudo port installed gettext
The following ports are currently installed:
  gettext @0.18.1.1_2 (active)
  gettext @0.18.1.1_2+universal

The log is attached. I can't figure out how glib2 could compile, but the last step would fail.

Attachments (2)

glib2.main.log (108.2 KB) - added by ollie@… 12 years ago.
error log file mentioned in output from port install glib2
perl5.contents.txt (36.0 KB) - added by ollie@… 12 years ago.
port contents perl5 results

Download all attachments as: .zip

Change History (9)

Changed 12 years ago by ollie@…

Attachment: glib2.main.log added

error log file mentioned in output from port install glib2

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

Cc: ryandesign@… removed
Keywords: pkgconfig gettext leopard removed
Owner: changed from macports-tickets@… to ryandesign@…

I don't see any similarity with #32185. The relevant error seems to be:

/opt/local/bin/gtkdoc-rebase: /opt/local/bin/perl: bad interpreter: No such file or directory

/opt/local/bin/gtkdoc-rebase is provided by the gtk-doc port, and the gtk-doc port does declare a dependency on the perl5 port, which is what is supposed to provide /opt/local/bin/perl. glib2 itself also declares a dependency on perl5. So my questions to you are:

  • is the perl5 port installed and active? (port installed perl5)
  • what does it contain? (port contents perl5)

Possibly more curious is why gtkdoc-rebase is being run at all; glib2 does not declare a dependency on the gtk-doc port so it should not be using any part of it.

Changed 12 years ago by ollie@…

Attachment: perl5.contents.txt added

port contents perl5 results

comment:2 Changed 12 years ago by ollie@…

The installed version of perl is given by

>: port installed perl5
The following ports are currently installed:
  perl5 @5.12.3_1+perl5_12 (active)

The contents are in a file attached (perl5.contents.txt).

comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Ok, so it shows /opt/local/bin/perl does exist. It is usually a symlink. What is it a symlink to, and does that file exist?

comment:4 Changed 12 years ago by ollie@…

Here's the results of ls -lr | grep perl while in /opt/local/bin.

lrwxr-xr-x  1 root   admin       19 May 13  2011 cpanp-run-perl -> cpanp-run-perl-5.12
lrwxr-xr-x  1 root   admin       14 May 13  2011 find2perl -> find2perl-5.12
-rwxr-xr-x  1 root   admin    24125 Mar 11  2011 find2perl-5.8
lrwxr-xr-x  1 root   admin        8 May 13  2011 perl -> perl5.12
lrwxr-xr-x  1 root   admin        8 May 13  2011 perl5 -> perl5.12
-rwxr-xr-x  1 root   admin  1220364 Mar 11  2011 perl5.8
lrwxr-xr-x  1 root   admin        7 Mar 11  2011 perl5.8.9 -> perl5.8
lrwxr-xr-x  1 root   admin       12 May 13  2011 perlbug -> perlbug-5.12
-rwxr-xr-x  1 root   admin    44765 Mar 11  2011 perlbug-5.8
-rwxr-xr-x  1 root   admin    17965 Mar 11  2011 perlcc-5.8
lrwxr-xr-x  1 root   admin       12 May 13  2011 perldoc -> perldoc-5.12
-rwxr-xr-x  1 root   admin      236 Mar 11  2011 perldoc-5.8
lrwxr-xr-x  1 root   admin       12 May 13  2011 perlivp -> perlivp-5.12
-rwxr-xr-x  1 root   admin    12286 Mar 11  2011 perlivp-5.8
lrwxr-xr-x  1 root   admin       15 May 13  2011 perlthanks -> perlthanks-5.12
-rwxr-xr-x  1 root   admin    44765 Mar 11  2011 perlthanks-5.8

However, which perl returns

/usr/bin/perl

which is a binary.

comment:5 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Summary: glib2 @2.30.2 destroot staging failureglib2 @2.30.2 destroot staging failure when /opt/local/bin/perl doesn't work

It looks like you have installed the variant of perl5 that says you want to use perl 5.12, but you don't have perl 5.12 installed. So you need to either:

  • sudo port install perl5 +perl5_8 (if you want to use perl 5.8), or
  • sudo port install perl5.12 (if you want to use perl 5.12)

comment:6 in reply to:  5 Changed 12 years ago by ollie@…

Replying to ryandesign@…:

It looks like you have installed the variant of perl5 that says you want to use perl 5.12, but you don't have perl 5.12 installed. So you need to either:

That seems to have worked. Perl5.12 didn't want to activate, but activating 5.8 allowed glib2 to be installed.

comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed

Ok, then I think we'll call it a day.

Note: See TracTickets for help on using tickets.