RJVB / macstrop

RJVB's repository of alternative macports, with ports missing from or overriding those in the standard collection, including a set of KF5 ports.
20 stars 9 forks source link

kf5-kio @5.60.0_2 failed to install #68

Closed Tatsh closed 4 years ago

Tatsh commented 4 years ago

This seems to be because acl-dev fails to install files into destroot.

acl-dev log: main.log

kf5-kio log: main.log

RJVB commented 4 years ago

Did the earlier 5.60.0 revisions install correctly for you?

Tatsh commented 4 years ago

Yes. That is the version I have now.

Tatsh commented 4 years ago

The issue is with acl-dev not really kf5-kio. kf5-kio needs acl-dev to build.

 $ port outdated
The following installed ports are outdated:
kf5-kio                        5.60.0_1 < 5.60.0_2

 $ port upgrade outdated
--->  Computing dependencies for kde-extra-cmake-modules
--->  Fetching distfiles for kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from https://distfiles.macports.org/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://aus.us.distfiles.macports.org/macports/distfiles/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://ywg.ca.distfiles.macports.org/mirror/macports/distfiles/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://lil.fr.distfiles.macports.org/kde-extra-cmake-modules
--->  Attempting to fetch extra-cmake-modules-5.60.0.tar.xz from http://download.kde.org/stable/frameworks/5.60/
--->  Verifying checksums for kde-extra-cmake-modules
--->  Extracting kde-extra-cmake-modules
--->  Applying patches to kde-extra-cmake-modules
--->  Configuring kde-extra-cmake-modules
--->  Building kde-extra-cmake-modules
--->  Staging kde-extra-cmake-modules into destroot
--->  Installing kde-extra-cmake-modules @5.60.0_0
--->  Activating kde-extra-cmake-modules @5.60.0_0
--->  Cleaning kde-extra-cmake-modules
--->  Computing dependencies for acl-dev
--->  Fetching distfiles for acl-dev
--->  Verifying checksums for acl-dev
--->  Extracting acl-dev
--->  Configuring acl-dev
--->  Building acl-dev
--->  Staging acl-dev into destroot
Error: No files have been installed in the destroot directory!
Error: Please make sure that this software supports 'make install DESTDIR=${destroot}' or implement an alternative destroot mechanism in the Portfile.
Error: Files might have been installed directly into your system, check before proceeding.
Error: Failed to destroot acl-dev: Staging acl-dev into destroot failed
RJVB commented 4 years ago

Error: No files have been installed in the destroot directory!

Was this a clean install of port:acl and port:acl-dev?

Could you try

> sudo port deactivate -f acl
> sudo port activate acl
> sudo port -n install acl-dev

-dev ports are created in a single go with the corresponding main port (just like on Debuntu), but given how MacPorts works I'm obliged to store the dev content in a "hidden" tarball. That tarball is unpacked when you install the devport, and then removed to avoid having THREE copies of the dev content. Normally this won't cause problems, unless you uninstall the -dev port. You'd get an error when you try to reinstall it, because the tarball is gone.

This doesn't seem to apply to the present case, judging from the attached logfile, but it doesn't hurt to double-check with the above commands.

I did add some features to the devport PG which is responsible for generating and installing -dev ports but that shouldn't have any side-effects.

Tatsh commented 4 years ago

That fixes it for me and kf5-kio installed fine.

RJVB commented 4 years ago

That fixes it for me and kf5-kio installed fine.

Can you recall having uninstalled port:acl-dev?

RJVB commented 4 years ago

I've tweaked the devport PG a bit more, trying to get it to recreate the -dev port tarball if necessary. It seems to work on my end but I've only been able to test it on Linux so far.

If you're up for it, try this;

> sudo port uninstall acl-dev
> sudo port -n install acl-dev

This should work if I didn't make mistakes with the calculation of the active main port's install image in $prefix/var/macports/software/${name} .

You already know how to restore acl-dev if the above does fail ;)

Tatsh commented 4 years ago
 $ port uninstall acl-dev
--->  Deactivating acl-dev @2.5.53_2
--->  Cleaning acl-dev
--->  Uninstalling acl-dev @2.5.53_2
--->  Cleaning acl-dev

 $ port -n install --unrequested acl-dev
--->  Computing dependencies for acl-dev
--->  Fetching distfiles for acl-dev
--->  Verifying checksums for acl-dev
--->  Extracting acl-dev
--->  Configuring acl-dev
--->  Building acl-dev
--->  Staging acl-dev into destroot
Error: No files have been installed in the destroot directory!
Error: Please make sure that this software supports 'make install DESTDIR=${destroot}' or implement an alternative destroot mechanism in the Portfile.
Error: Files might have been installed directly into your system, check before proceeding.
Error: Failed to destroot acl-dev: Staging acl-dev into destroot failed
Error: See /opt/local/var/macports/logs/_Users_tatsh_dev_macstrop_sysutils_acl/acl-dev/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port acl-dev failed
RJVB commented 4 years ago

AAARGH!

Does the logfile for this the install show any of the diag output in the procedures restore_devport_tarball and unpack_devport_content from devport-1.0.tcl ?

Annoyingly tar doesn't raise an error for empty .tar files, so I'd have to throw one explicitly. In fact, I just pushed an additional tweak that does just that.