Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#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)

udunits.main.log (52.2 KB) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.
udunits-no-perl.diff (838 bytes) - added by ryandesign (Ryan Carsten Schmidt) 11 years ago.
proposed patch

Download all attachments as: .zip

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)

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?

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:3 Changed 11 years ago by larryv (Lawrence Velázquez)

Has duplicate #39841.

comment:4 Changed 11 years ago by tenomoto (Takeshi Enomoto)

Resolution: fixed
Status: newclosed

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.

Note: See TracTickets for help on using tickets.