Opened 3 years ago

Closed 3 years ago

#63993 closed defect (worksforme)

py39-opencv4 4.5.2_1 port build fails on macOS12 arm64

Reported by: bal-agates Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: opencv4 Cc: stromnov (Andrey Stromnov)
Port: py39-opencv4

Description

The command "sudo port install py39-opencv4" failed on macOS 12 (Monterey) for arm64 with

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

I think the problem is it could not find

https://packages.macports.org/py39-opencv4/py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2

I verified that file does not exist.

Building from source with the "port -s" option worked.

Change History (4)

comment:1 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy removed
Owner: set to mascguy
Status: newassigned

comment:2 Changed 3 years ago by jmroot (Joshua Root)

The log from the failed installation would be needed to diagnose the problem. The lack of an archive is not the problem since MacPorts will fall back to building from source in that case anyway.

comment:3 Changed 3 years ago by bal-agates

I thought MacPorts should fallback on building from source if an archive wasn't found, but the behavior when using the "-s" option lead me to think that wasn't happening.

When I successfully built using the "-s" switch MacPorts appears to have deleted the failing logfile. Today I uninstalled py39-opencv4 and then tried reinstalling without the "-s" switch but now I cannot duplicate the problem. Sorry. I should have kept a copy of the failing logfile before I did more experimenting. The only thing I saved was the direct build output.

Failing install

% sudo port install py39-opencv4
--->  Computing dependencies for py39-opencv4
--->  Fetching archive for py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://packages.macports.org/py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://mse.uk.packages.macports.org/py39-opencv4
--->  Staging py39-opencv4 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 py39-opencv4: Staging py39-opencv4 into destroot failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_opencv4/py39-opencv4/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
Error: Processing of port py39-opencv4 failed

Successful install today

% sudo port install py39-opencv4
--->  Computing dependencies for py39-opencv4
--->  Fetching archive for py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://packages.macports.org/py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/py39-opencv4
--->  Attempting to fetch py39-opencv4-4.5.2_1.darwin_21.arm64.tbz2 from https://mse.uk.packages.macports.org/py39-opencv4
--->  Fetching distfiles for py39-opencv4
--->  Attempting to fetch opencv-4.5.2.tar.gz from https://distfiles.macports.org/opencv4
--->  Verifying checksums for py39-opencv4                                           
--->  Extracting py39-opencv4
--->  Applying patches to py39-opencv4
--->  Configuring py39-opencv4
--->  Building py39-opencv4                              
--->  Staging py39-opencv4 into destroot                 
--->  Installing py39-opencv4 @4.5.2_1
--->  Activating py39-opencv4 @4.5.2_1
--->  Cleaning py39-opencv4
--->  Scanning binaries for linking errors
--->  No broken files found.
--->  No broken ports found.

I noticed the Fetching distfiles is missing in the failed attempt. I do not know what changed. Is MacPorts somehow remembering something from my "-s" build. I had tried to build py39-opencv4 on 6-Nov-2021 and 17-Nov-2021 with the same failing results. Was a server or file unavailable at the time I was doing both of my failing builds? Between those dates I had done a couple of port selfupdates. My first successful build with "-s" option was later on 17-Nov-2021.

If there is not enough information to diagnose feel free to close the issue.

comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)

Resolution: worksforme
Status: assignedclosed

Let's close for now, since your issue is resolved. But if it occurs again, let us know via this ticket. Thanks!

Note: See TracTickets for help on using tickets.