Opened 3 months ago

Closed 3 months ago

#69211 closed defect (fixed)

R portgroup: test phase fails if destroot phase is run first

Reported by: barracuda156 Owned by: barracuda156
Priority: Normal Milestone:
Component: ports Version: 2.9.0
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), jmroot (Joshua Root), mascguy (Christopher Nielsen)
Port: R

Description

This is an example, but no R port works now for port test.

36-246% sudo port -v -n test R-ess
Warning: configured user/group macports does not exist, will build as root
Portfile for R-ess changed since last build; discarding previous state.
--->  Computing dependencies for R-ess.
--->  Fetching distfiles for R-ess
--->  Verifying checksums for R-ess
--->  Checksumming ess_1.1.2.tar.gz
--->  Extracting R-ess
--->  Extracting ess_1.1.2.tar.gz
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work" && /usr/bin/gzip -dc '/opt/local/var/macports/distfiles/R-ess/ess_1.1.2.tar.gz' | /usr/bin/gnutar --no-same-owner -xf - 
--->  Configuring R-ess
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/ess" && /opt/local/bin/R CMD build . --no-manual --no-build-vignettes --keep-empty-dirs 
* checking for file ‘./DESCRIPTION’ ... OK
* preparing ‘ess’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘ess_1.1.2.tar.gz’

--->  Building R-ess
--->  Staging R-ess into destroot
. changed
	gid expected 0 found 80 modified
./usr missing (created)
. missing (directory not created: File exists)
./Applications missing (created)
./Developer missing (created)
./Library missing (created)
. changed
	gid expected 80 found 0 modified
./bin missing (created)
./etc missing (created)
./include missing (created)
./lib missing (created)
./lib/pkgconfig missing (created)
./libexec missing (created)
./sbin missing (created)
./share missing (created)
./share/doc missing (created)
./share/info missing (created)
./share/man missing (created)
./share/man/cat1 missing (created)
./share/man/cat2 missing (created)
./share/man/cat3 missing (created)
./share/man/cat4 missing (created)
./share/man/cat5 missing (created)
./share/man/cat6 missing (created)
./share/man/cat7 missing (created)
./share/man/cat8 missing (created)
./share/man/cat9 missing (created)
./share/man/catl missing (created)
./share/man/catn missing (created)
./share/man/man1 missing (created)
./share/man/man2 missing (created)
./share/man/man3 missing (created)
./share/man/man4 missing (created)
./share/man/man5 missing (created)
./share/man/man6 missing (created)
./share/man/man7 missing (created)
./share/man/man8 missing (created)
./share/man/man9 missing (created)
./share/man/manl missing (created)
./share/man/mann missing (created)
./share/nls missing (created)
./share/nls/C missing (created)
./share/nls/af_ZA.ISO8859-1 missing (created)
./share/nls/af_ZA.ISO8859-15 missing (created)
./share/nls/bg_BG.CP1251 missing (created)
./share/nls/cs_CZ.ISO8859-2 missing (created)
./share/nls/da_DK.ISO8859-1 missing (created)
./share/nls/da_DK.ISO8859-15 missing (created)
./share/nls/de_AT.ISO8859-1 missing (created)
./share/nls/de_AT.ISO8859-15 missing (created)
./share/nls/de_CH.ISO8859-1 missing (created)
./share/nls/de_CH.ISO8859-15 missing (created)
./share/nls/de_DE.ISO8859-1 missing (created)
./share/nls/de_DE.ISO8859-15 missing (created)
./share/nls/el_GR.ISO8859-7 missing (created)
./share/nls/en_AU.ISO8859-1 missing (created)
./share/nls/en_AU.ISO8859-15 missing (created)
./share/nls/en_AU.US-ASCII missing (created)
./share/nls/en_CA.ISO8859-1 missing (created)
./share/nls/en_CA.ISO8859-15 missing (created)
./share/nls/en_CA.US-ASCII missing (created)
./share/nls/en_GB.ISO8859-1 missing (created)
./share/nls/en_GB.ISO8859-15 missing (created)
./share/nls/en_GB.US-ASCII missing (created)
./share/nls/en_NZ.ISO8859-1 missing (created)
./share/nls/en_NZ.ISO8859-15 missing (created)
./share/nls/en_NZ.US-ASCII missing (created)
./share/nls/en_US.ISO8859-1 missing (created)
./share/nls/en_US.ISO8859-15 missing (created)
./share/nls/es_ES.ISO8859-1 missing (created)
./share/nls/es_ES.ISO8859-15 missing (created)
./share/nls/et_EE.ISO8859-15 missing (created)
./share/nls/fi_FI.ISO8859-1 missing (created)
./share/nls/fi_FI.ISO8859-15 missing (created)
./share/nls/fr_BE.ISO8859-1 missing (created)
./share/nls/fr_BE.ISO8859-15 missing (created)
./share/nls/fr_CA.ISO8859-1 missing (created)
./share/nls/fr_CA.ISO8859-15 missing (created)
./share/nls/fr_CH.ISO8859-1 missing (created)
./share/nls/fr_CH.ISO8859-15 missing (created)
./share/nls/fr_FR.ISO8859-1 missing (created)
./share/nls/fr_FR.ISO8859-15 missing (created)
./share/nls/hi_IN.ISCII-DEV missing (created)
./share/nls/hr_HR.ISO8859-2 missing (created)
./share/nls/hu_HU.ISO8859-2 missing (created)
./share/nls/is_IS.ISO8859-1 missing (created)
./share/nls/is_IS.ISO8859-15 missing (created)
./share/nls/it_CH.ISO8859-1 missing (created)
./share/nls/it_CH.ISO8859-15 missing (created)
./share/nls/it_IT.ISO8859-1 missing (created)
./share/nls/it_IT.ISO8859-15 missing (created)
./share/nls/ja_JP.SJIS missing (created)
./share/nls/ja_JP.eucJP missing (created)
./share/nls/ko_KR.eucKR missing (created)
./share/nls/la_LN.ISO8859-1 missing (created)
./share/nls/la_LN.ISO8859-15 missing (created)
./share/nls/la_LN.ISO8859-2 missing (created)
./share/nls/la_LN.ISO8859-4 missing (created)
./share/nls/la_LN.US-ASCII missing (created)
./share/nls/lt_LT.ISO8859-4 missing (created)
./share/nls/nl_BE.ISO8859-1 missing (created)
./share/nls/nl_BE.ISO8859-15 missing (created)
./share/nls/nl_NL.ISO8859-1 missing (created)
./share/nls/nl_NL.ISO8859-15 missing (created)
./share/nls/no_NO.ISO8859-1 missing (created)
./share/nls/no_NO.ISO8859-15 missing (created)
./share/nls/pl_PL.ISO8859-2 missing (created)
./share/nls/pt_BR.ISO8859-1 missing (created)
./share/nls/pt_PT.ISO8859-1 missing (created)
./share/nls/pt_PT.ISO8859-15 missing (created)
./share/nls/ro_RO.ISO8859-2 missing (created)
./share/nls/ru_RU.CP866 missing (created)
./share/nls/ru_RU.ISO8859-5 missing (created)
./share/nls/ru_RU.KOI8-R missing (created)
./share/nls/sk_SK.ISO8859-2 missing (created)
./share/nls/sl_SI.ISO8859-2 missing (created)
./share/nls/sv_SE.ISO8859-1 missing (created)
./share/nls/sv_SE.ISO8859-15 missing (created)
./share/nls/tr_TR.ISO8859-9 missing (created)
./share/nls/uk_UA.ISO8859-5 missing (created)
./share/nls/uk_UA.KOI8-U missing (created)
./share/nls/zh_CN.eucCN missing (created)
./share/nls/zh_TW.Big5 missing (created)
./share/skel missing (created)
./var missing (created)
./var/cache missing (created)
./var/db missing (created)
./var/log missing (created)
./var/run missing (created)
./var/spool missing (created)
./www missing (created)
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources
xinstall: mkdir /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library
Executing:  cd "/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/ess" && /opt/local/bin/R CMD INSTALL . --library=/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library --install-tests 
* installing *source* package ‘ess’ ...
** package ‘ess’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-mp-13 (MacPorts gcc13 13.2.0_4+stdlib_flag) 13.2.0’
using C++11
Warning in system2("xcrun", "--show-sdk-path", TRUE, TRUE) :
  running command ''xcrun' --show-sdk-path 2>&1' had status 64
using SDK: ‘NA’‘NA’‘NA’‘NA’‘NA’‘NA’
/opt/local/bin/g++-mp-13 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc  -c RcppExports.cpp -o RcppExports.o
/opt/local/bin/g++-mp-13 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc  -c dfs.cpp -o dfs.o
/opt/local/bin/g++-mp-13 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc  -c rip.cpp -o rip.o
/opt/local/bin/g++-mp-13 -std=gnu++11 -I"/opt/local/Library/Frameworks/R.framework/Resources/include" -DNDEBUG  -I'/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/Rcpp/include' -isystem/opt/local/include/LegacySupport -I/opt/local/include    -fPIC  -pipe -Os -arch ppc  -c set_ops.cpp -o set_ops.o
/opt/local/bin/g++-mp-13 -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/opt/local/Library/Frameworks/R.framework/Resources/lib -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -Wl,-rpath,/opt/local/lib/libgcc -arch ppc -o ess.so RcppExports.o dfs.o rip.o set_ops.o -F/opt/local/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_R_R-ess/R-ess/work/destroot/opt/local/Library/Frameworks/R.framework/Versions/4.3/Resources/library/00LOCK-ess/00new/ess/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** tests
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (ess)
--->  Testing R-ess
Warning: ‘./ess_1.1.2.tar.gz’ is neither a file nor directory, skipping

This should be fixed, it is quite upsetting to have 4k+ ports broken for testing :)

  1. S. Ryan, maybe you could suggest something? I know I am the maintainer for R PG stuff, but this is definitely some change in the base.

Change History (6)

comment:1 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Most of the changes in 2.9.0 were from Josh.

What immediately stood out for me in your output above is that the destroot phase was run before the test phase. That didn't happen in MacPorts 2.8.x and earlier. Does the destroot phase of your port or the portgroups it includes move or delete that file it's looking for? If so, that means the tests in those ports were already broken prior to MacPorts 2.9.0 if the destroot phase had been run before running the test phase.

Looking through the 2.9.0 release notes, only one change mentions the test phase: [ddc26554e6ed49ce8501069b967284739fa6d34e/macports-base]. I see right at the top of that diff the change that makes the test phase now require the destroot phase.

comment:2 Changed 3 months ago by ryandesign (Ryan Carsten Schmidt)

Component: baseports
Summary: Macports 2.9.0 has broken port test for R portgroupR portgroup: test phase fails if destroot phase is run first

comment:3 in reply to:  1 Changed 3 months ago by barracuda156

Replying to ryandesign:

Most of the changes in 2.9.0 were from Josh.

What immediately stood out for me in your output above is that the destroot phase was run before the test phase. That didn't happen in MacPorts 2.8.x and earlier. Does the destroot phase of your port or the portgroups it includes move or delete that file it's looking for? If so, that means the tests in those ports were already broken prior to MacPorts 2.9.0 if the destroot phase had been run before running the test phase.

Looking through the 2.9.0 release notes, only one change mentions the test phase: [ddc26554e6ed49ce8501069b967284739fa6d34e/macports-base]. I see right at the top of that diff the change that makes the test phase now require the destroot phase.

Thank you for the ref.

I think we clean the tarball in post-destroot, so that it does not get installed into R framework (we certainly do not want that), and then R CMD check has nothing to use for running checks, since it expects a tarball.

UPD. Let me think if I can rewrite the PG to do the build in the build stage and not destroot, that will probably solve this issue along, or if not, it is a desirable change anyway.

Last edited 3 months ago by barracuda156 (previous) (diff)

comment:4 Changed 3 months ago by barracuda156

Owner: set to barracuda156
Status: newassigned

comment:5 Changed 3 months ago by barracuda156

Yeah, I can fix it.

comment:6 Changed 3 months ago by barracuda156

Resolution: fixed
Status: assignedclosed

In 8e1c254a76374311fdae4d183d1b687abc521337/macports-ports (master):

R PG: fix port phases following Macports update to 2.9.0

Fixes: #69211
Fixes: #67282
Closes: #67229
Closes: #67299

Note: See TracTickets for help on using tickets.