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)
Change History (13)
Changed 8 years ago by chrisjogorman
comment:1 Changed 8 years ago by chrisjogorman
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
21 21 sha256 101265dd1e1b10339adb70b22b60e65ef12c4e01c4a3f52e508562eceef62272 22 22 extract.suffix .tgz 23 23 24 # system perl usually does the job, but pod2man is not executable on 10.6 25 depends_build port:perl5 26 24 27 livecheck.type regex 25 28 livecheck.url http://apps.jcns.fz-juelich.de/src/libcerf 26 29 livecheck.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 follow-up: 10 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 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: | new → closed |
/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.