#39703 closed defect (fixed)
udunits: destroot fails
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | tenomoto (Takeshi Enomoto) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.1.3 |
Keywords: | haspatch | Cc: | |
Port: | udunits |
Description
Destroot fails with:
making `install' in directory /opt/local/var/macports/build/_Users_rschmidt_macports_dports_science_udunits/udunits/work/udunits-1.12.11/src/perl make[1]: Entering directory `/opt/local/var/macports/build/_Users_rschmidt_macports_dports_science_udunits/udunits/work/udunits-1.12.11/src/perl' cp UDUNITS.pm blib/lib/UDUNITS.pm AutoSplitting blib/lib/UDUNITS.pm (blib/lib/auto/UDUNITS) Files found in blib/arch: installing files in blib/lib into architecture dependent library tree !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/opt/local/lib/perl5/site_perl/5.12.4/darwin-thread-multi-2level' Do not have write permissions on '/opt/local/lib/perl5/site_perl/5.12.4/darwin-thread-multi-2level' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at -e line 1 make[1]: *** [pure_site_install] Error 1
Indeed it's not permitted for ports to write directly into ${prefix} at destroot time; they must write into ${destroot}.
Attachments (2)
Change History (6)
Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | udunits.main.log added |
---|
comment:1 Changed 11 years ago by tenomoto (Takeshi Enomoto)
comment:2 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | haspatch added |
---|
You should disable building the perl module, because you don't know for which perl it will be built. (It would depend on which variant of the perl5 port the user has selected.) If someone actually needs the perl module, it can be reintroduced later as a p5-udunits port with subports for each supported version of perl.
According to the INSTALL file, the way to disable the perl module is to set the environment variable PERL
to the empty string. Doing this causes a new message to appear during configure:
./configure: ERROR: The following variables need values: VARIABLE DESCRIPTION EXAMPLE -------- ------- ------- LD_YACC yacc library -ly
The INSTALL file does not explain this option, but simply adding LD_YACC=-ly
to the environment as well allowed the build to succeed for me on OS X 10.8. Patch attached.
Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | udunits-no-perl.diff added |
---|
proposed patch
comment:4 Changed 11 years ago by tenomoto (Takeshi Enomoto)
Resolution: | → fixed |
---|---|
Status: | new → closed |
I don't have enough knowledge to build perl module, I just disabled building a perl module. Thanks for the patch, Ryan. Committed in r108480.
I confirmed the proble. It appears that a perl module is installed directly. Looking at src/perl/Makefile, $(MOD_INSTALL) calls ExtUtils::Install that takes an argument from_to. The pair of the source and destination seems to be OK since DESTINSTALL* rather tan INSTALL* are used as the destination. I don't have a clue. Maybe related to #36215?