Opened 8 years ago

Closed 8 years ago

#51505 closed defect (worksforme)

libcerf build error on 10.6.8

Reported by: chrisjogorman Owned by: mojca (Mojca Miklavec)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: libcerf

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Macintosh:~ chrisgorman$ sudo port -v install libcerf
--->  Building libcerf
Executing:  cd "/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4" && /usr/bin/make -j2 -w all 
make: Entering directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4'
/usr/bin/make  all-recursive
make[1]: Entering directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4'
Making all in lib
make[2]: Entering directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4/lib'
Making all in man
make[2]: Entering directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4/man'
pod2man -s 3 -c "libcerf manual" erfcx.pod > erfcx.3
pod2man -s 3 -c "libcerf manual" erfcx.pod > cerfcx.3
/bin/sh: /usr/bin/pod2man: Permission denied
make[2]: *** [erfcx.3] Error 126
make[2]: *** Waiting for unfinished jobs....
/bin/sh: /usr/bin/pod2man: Permission denied
make[2]: *** [cerfcx.3] Error 126
make[2]: Leaving directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4/man'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4'
make: *** [all] Error 2
make: Leaving directory `/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4'
Command failed:  cd "/sandbox/var/macports/build/_sandbox_trunk_dports_math_libcerf/libcerf/work/libcerf-1.4" && /usr/bin/make -j2 -w all 
Exit code: 2
Error: Failed to build libcerf: command execution failed
Error: See /sandbox/var/macports/logs/_sandbox_trunk_dports_math_libcerf/libcerf/main.log for details.
Error: Follow http://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port libcerf failed

Attachments (2)

main.log (37.4 KB) - added by chrisjogorman 8 years ago.
51505.diff (2.7 KB) - added by chrisjogorman 8 years ago.

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by chrisjogorman

Attachment: main.log added

comment:1 Changed 8 years ago by chrisjogorman

/usr/bin/pod2man and /usr/bin/pod2html are not executable on my machine. to get the package installed I ...

  1. mv /usr/bin/pod2man /usr/bin/pod2man.bak
  2. ln -snf /usr/bin/pod2man5.8.9 /usr/bin/pod2man
  3. mv /usr/bin/pod2html /usr/bin/pod2html.bak
  4. ln -snf /usr/bin/pod2html5.8.9 /usr/bin/pod2html

reran port install and it works.

Last edited 8 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 8 years ago by chrisjogorman

Upon investigating, this pod2man and pod2html work well with the perl from macports, but don't work well with the perl 5.10.0 / 5.8.9 hybrid installed on snow leopard. The pod2man, pod2html files indicate that the perl interpreter is supposed to differentiate between the versions. When libcerf builds it's man pages, it calls both programs without specifying a version, eg. /usr/bin/pod2html rather than /usr/bin/pod2html5.10.0 and fails to build because pod2html and pod2man are not executable. (Whereas pod2man5.10.0, pod2man5.8.9, pod2html5.10.0 and pod2html5.8.9 are executable.) I have attached a patch that should be applied only to snow leopard installs without a macports perl installed. It hardcodes pod2{html,man}5.10.0 instead of pod2{html,man}. I do not know of a way to have macports apply a patch to only snowleopard, however, this task is still to be done. Perhaps a better fix would be to predepend on a macports perl version?

Changed 8 years ago by chrisjogorman

Attachment: 51505.diff added

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

Description: modified (diff)
Keywords: libcerf pod2man removed

Remember to use WikiFormatting when writing in Trac.

comment:4 Changed 8 years ago by mojca (Mojca Miklavec)

Cc: mojca@… removed
Owner: changed from macports-tickets@… to mojca@…
Version: 2.3.4

What about the following patch?

  • Portfile

     
    2121                    sha256  101265dd1e1b10339adb70b22b60e65ef12c4e01c4a3f52e508562eceef62272
    2222extract.suffix      .tgz
    2323
     24# system perl usually does the job, but pod2man is not executable on 10.6
     25depends_build       port:perl5
     26
    2427livecheck.type      regex
    2528livecheck.url       http://apps.jcns.fz-juelich.de/src/libcerf
    2629livecheck.regex     ${name}-(\[0-9.\]+)${extract.suffix}

comment:5 Changed 8 years ago by chrisjogorman

Yes. This will work too. When I installed perl5 the error disappeared.

comment:6 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)

pod2man and pod2html are executable on the 10.6 buildbot server, so if they were not executable on the user's system, I suspect repairing permissions would set that right.

comment:7 Changed 8 years ago by mojca (Mojca Miklavec)

On my 10.6 VM there is:

-rwxr-xr-x  37 root  wheel    807 24 Jun  2009 /usr/bin/pod2html
-rwxr-xr-x   1 root  wheel   2369 24 Jun  2009 /usr/bin/pod2html5.10.0
-rwxr-xr-x   1 root  wheel   2368 24 Jun  2009 /usr/bin/pod2html5.8.9
-rwxr-xr-x  37 root  wheel    807 24 Jun  2009 /usr/bin/pod2man
-rwxr-xr-x   1 root  wheel  19557 24 Jun  2009 /usr/bin/pod2man5.10.0
-r-xr-xr-x   1 root  wheel  19641 24 Jun  2009 /usr/bin/pod2man5.8.9

I don't know the reason for the lack of executable permissions (permissions for pod2man5.8.9 on my VM are also weird), but I would say that the machine where this was a problems seems "broken" and something like

sudo chmod +x /usr/bin/pod2html
sudo chmod +x /usr/bin/pod2man

should have solved the problem on that particular machine. If this isn't a problem for anyone else, we could leave things as they are.

comment:8 Changed 8 years ago by chrisjogorman

Here are the permissions on my machine. Note they are read write for everyone! Probably not the best setup.

-rw-rw-rw-  35 root  wheel    807 24 Jun  2009 /usr/bin/pod2html
-rwxr-xr-x   1 root  wheel   2369 24 Jun  2009 /usr/bin/pod2html5.10.0
-rwxr-xr-x   1 root  wheel   2368 24 Jun  2009 /usr/bin/pod2html5.8.9
-rw-rw-rw-  35 root  wheel    807 24 Jun  2009 /usr/bin/pod2man
-rwxr-xr-x   1 root  wheel  19557 24 Jun  2009 /usr/bin/pod2man5.10.0
-r-xr-xr-x   1 root  wheel  19641 24 Jun  2009 /usr/bin/pod2man5.8.9

Examining pod2man and pod2html I get

#!/usr/bin/perl

=head1 DESCRIPTION

The contents of this script should normally never run!  The perl wrapper
should pick the correct script in /usr/bin by appending the appropriate version.
You can try appending the appropriate perl version number.  See perlmacosx.pod
for more information about multiple version support in Mac OS X.

=cut

I'd like to know why the permissions are not the same on your 10.6 vm. That said I have no problem running chmod +x on these two files and leaving it at that.

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

I would not be concerned about the contents of the pod2man and pod2html scripts. I would use Disk Utility to repair permissions.

comment:10 in reply to:  9 Changed 8 years ago by chrisjogorman

Replying to ryandesign@…:

I would not be concerned about the contents of the pod2man and pod2html scripts. I would use Disk Utility to repair permissions.

And you would be correct. My disk has been misbehaving. diskutil repaired the permissions on pod2man and pod2html. Thank you.

comment:11 Changed 8 years ago by mojca (Mojca Miklavec)

Resolution: worksforme
Status: newclosed
Note: See TracTickets for help on using tickets.