Opened 4 years ago

Closed 4 years ago

#62271 closed defect (invalid)

Update to openjpeg 2.4.0_0 fails with dyld: Library not loaded: /opt/local/lib/libarchive.13.dylib

Reported by: breun (Nils Breunese) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), michaelld (Michael Dickens)
Port: openjpeg cmake

Description

Upgrading openjpeg 2.3.1_0 to 2.4.0_0 fails with:

:info:configure dyld: Library not loaded: /opt/local/lib/libarchive.13.dylib
:info:configure   Referenced from: /opt/local/bin/cmake
:info:configure   Reason: image not found

I've attached the full logging.

Attachments (1)

openjpeg_2.4.0_0_build_failure.txt (10.5 KB) - added by breun (Nils Breunese) 4 years ago.

Download all attachments as: .zip

Change History (6)

Changed 4 years ago by breun (Nils Breunese)

comment:1 Changed 4 years ago by breun (Nils Breunese)

I ran sudo port install libarchive to add that missing library in the error message, but that failed on another missing library:

:info:configure dyld: Library not loaded: /opt/local/lib/libuv.1.dylib
:info:configure   Referenced from: /opt/local/bin/cmake
:info:configure   Reason: image not found

After running sudo port install libuv it finally succeeded.

So, I guess libarchive and libuv need to be added as build/runtime (I don't know) dependencies of openjpeg.

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

Cc: MarcusCalhoun-Lopez michaelld added
Port: cmake added

The cmake port declares dependencies on libarchive and libuv, and openjpeg declares a dependency on cmake. However it does so via a path: style dependency, so if the specified file exists, the dependency is considered satisfied. Your log says this:

:debug:main Searching for dependency: cmake
:debug:main Didn't find receipt, going to depspec regex for: cmake
:debug:main Found Dependency: path: /opt/local/bin filename: cmake regex: ^cmake$

which means that the cmake port is not registered as installed, yet /opt/local/bin/cmake exists. That would be why cmake's dependencies were not upgraded automatically: since the file is not provided by a port, there are no dependency declarations to follow.

comment:3 Changed 4 years ago by breun (Nils Breunese)

The output of port installed | grep cmake is empty, but /opt/local/bin/cmake indeed exists. I have no idea how that is possible.

comment:4 Changed 4 years ago by breun (Nils Breunese)

I've explicitly installed cmake and forced its activation. Hopefully my setup is now ok again. Thanks for the pointer.

comment:5 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.