Opened 3 months ago

#70621 new defect

port:gdbm +compat naggles (affecting the Python ports)

Reported by: RJVB (René Bertin) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: gdbm

Description

I just found out 2 nuisances with port:gdbm's +compat variant:

1) the build process will pick up and link to the installed $prefix/lib/libgdbm.X.dylib ... which will of course disappear when you activate the new gdbm version. The +compat variant thus needs to be bootstrapped by first installing the -compat version, OR the user needs to be instructed to move $prefix/lib/libgdbm_compat.dylib aside during the configure+build steps.

2) if you build any port:pythonXY version it will detect and link to libgdbm_compat.X.dylib, e.g.

> otool -L /opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload/_dbm.cpython-311-darwin.so
/opt/local/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/lib-dynload/_dbm.cpython-311-darwin.so:
        /opt/local/lib/libgdbm_compat.4.dylib (compatibility version 5.0.0, current version 5.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

It seems that the Python ports need to declare some kind of build conflict with port:gdbm+compat unless they want to start declaring a dependency on port:gdbm (*which they don't ATM*).

(Actually I ran into 1) on Linux, but there is no a priori reason why the same thing wouldn't happen on Mac.)

Change History (0)

Note: See TracTickets for help on using tickets.