[MacPorts] #50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL
#50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL ------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: scons ------------------------+-------------------------- serf1 was recently revbumped to rebuild against an updated OpenSSL. In doing so, other ports on my system broke because the dylib version of libserf changed: /tmp/r1 $ tar xjf .../serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 /tmp/r1 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libssl.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libcrypto.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /opt/local/lib/libapr-1.0.dylib (compatibility version 6.0.0, current version 6.2.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) /opt/local/lib/libaprutil-1.0.dylib (compatibility version 6.0.0, current version 6.4.0) /opt/local/lib/db46/libdb-4.6.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0) /tmp/r0 $ tar xjf .../serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 /tmp/r0 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 1.3.4, current version 1.3.4) /opt/local/lib/libssl.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libcrypto.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /opt/local/lib/libapr-1.0.dylib (compatibility version 6.0.0, current version 6.2.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) /opt/local/lib/libaprutil-1.0.dylib (compatibility version 6.0.0, current version 6.4.0) /opt/local/lib/db46/libdb-4.6.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0) --- Timestamps of when they were built: -rw-r--r-- 1 root admin 424529 Oct 17 00:33 serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 -rw-r--r-- 1 root admin 410869 Mar 10 11:09 serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 The only change to the serf1 port since Oct 17 was the revbump. However, scons was recently updated from 2.3.4 to 2.4.1, and that certainly seems like the likley cause. I'll give a try reverting it. -- Ticket URL: <https://trac.macports.org/ticket/50854> MacPorts <https://www.macports.org/> Ports system for OS X
#50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: scons | -------------------------+-------------------------- Description changed by jeremyhu@…: Old description:
serf1 was recently revbumped to rebuild against an updated OpenSSL. In doing so, other ports on my system broke because the dylib version of libserf changed:
/tmp/r1 $ tar xjf .../serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2
/tmp/r1 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libssl.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libcrypto.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /opt/local/lib/libapr-1.0.dylib (compatibility version 6.0.0, current version 6.2.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) /opt/local/lib/libaprutil-1.0.dylib (compatibility version 6.0.0, current version 6.4.0) /opt/local/lib/db46/libdb-4.6.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
/tmp/r0 $ tar xjf .../serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2
/tmp/r0 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 1.3.4, current version 1.3.4) /opt/local/lib/libssl.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libcrypto.35.dylib (compatibility version 36.0.0, current version 36.0.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.8) /opt/local/lib/libapr-1.0.dylib (compatibility version 6.0.0, current version 6.2.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1) /opt/local/lib/libaprutil-1.0.dylib (compatibility version 6.0.0, current version 6.4.0) /opt/local/lib/db46/libdb-4.6.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libexpat.1.dylib (compatibility version 8.0.0, current version 8.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)
---
Timestamps of when they were built:
-rw-r--r-- 1 root admin 424529 Oct 17 00:33 serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 -rw-r--r-- 1 root admin 410869 Mar 10 11:09 serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2
The only change to the serf1 port since Oct 17 was the revbump.
However, scons was recently updated from 2.3.4 to 2.4.1, and that certainly seems like the likley cause. I'll give a try reverting it.
New description: serf1 was recently revbumped to rebuild against an updated OpenSSL. In doing so, other ports on my system broke because the dylib version of libserf changed: {{{ /tmp/r1 $ tar xjf .../serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 /tmp/r1 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 0.0.0, current version 0.0.0) ... /tmp/r0 $ tar xjf .../serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 /tmp/r0 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 1.3.4, current version 1.3.4) ... }}} --- Timestamps of when they were built: -rw-r--r-- 1 root admin 424529 Oct 17 00:33 serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 -rw-r--r-- 1 root admin 410869 Mar 10 11:09 serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 The only change to the serf1 port since Oct 17 was the revbump. However, scons was recently updated from 2.3.4 to 2.4.1, and that certainly seems like the likley cause. I'll give a try reverting it. -- -- Ticket URL: <https://trac.macports.org/ticket/50854#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: scons | -------------------------+-------------------------- Description changed by jeremyhu@…: Old description:
serf1 was recently revbumped to rebuild against an updated OpenSSL. In doing so, other ports on my system broke because the dylib version of libserf changed: {{{ /tmp/r1 $ tar xjf .../serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2
/tmp/r1 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 0.0.0, current version 0.0.0) ...
/tmp/r0 $ tar xjf .../serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2
/tmp/r0 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 1.3.4, current version 1.3.4) ... }}} ---
Timestamps of when they were built:
-rw-r--r-- 1 root admin 424529 Oct 17 00:33 serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 -rw-r--r-- 1 root admin 410869 Mar 10 11:09 serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2
The only change to the serf1 port since Oct 17 was the revbump.
However, scons was recently updated from 2.3.4 to 2.4.1, and that certainly seems like the likley cause. I'll give a try reverting it.
New description: serf1 was recently revbumped to rebuild against an updated OpenSSL. In doing so, other ports on my system broke because the dylib version of libserf changed: {{{ /tmp/r1 $ tar xjf .../serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 /tmp/r1 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 0.0.0, current version 0.0.0) ... /tmp/r0 $ tar xjf .../serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 /tmp/r0 $ otool -L opt/local/lib/libserf-1.dylib opt/local/lib/libserf-1.dylib: /opt/local/lib/libserf-1.dylib (compatibility version 1.3.4, current version 1.3.4) ... }}} --- Timestamps of when they were built: {{{ -rw-r--r-- 1 root admin 424529 Oct 17 00:33 serf1-1.3.4_0+universal.darwin_15.i386-x86_64.tbz2 -rw-r--r-- 1 root admin 410869 Mar 10 11:09 serf1-1.3.4_1+universal.darwin_15.i386-x86_64.tbz2 }}} The only change to the serf1 port since Oct 17 was the revbump. However, scons was recently updated from 2.3.4 to 2.4.1, and that certainly seems like the likley cause. I'll give a try reverting it. -- -- Ticket URL: <https://trac.macports.org/ticket/50854#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: scons | -------------------------+-------------------------- Comment (by ryandesign@…): Yuck. From the scons 2.4.1 CHANGES.txt file: {{{ From Paweł Tomulik: - Reimplemented versioning for shared libraries, with the following effects - Fixed tigris issues #3001, #3006. - Fixed several other issues not reported to tigris, including: issues with versioned libraries in subdirectories with tricky names, issues with versioned libraries and variant directories, issue with soname not being injected to library when using D linkers, - Switched to direct symlinks instead of daisy-chained ones -- soname and development symlinks point directly to the versioned shared library now), for rationale see: https://www.debian.org/doc/debian-policy/ch-sharedlibs.html https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages https://bitbucket.org/scons/scons/pull-requests/247/new-versioned- libraries-gnulink-cyglink/diff#comment-10063929 - New construction variables to allow override default behavior: SONAME, SHLIBVERSIONFLAGS, _SHLIBVERSIONFLAGS, SHLIBNOVERSIONSYMLINKS, LDMODULEVERSION, LDMODULEVERSIONFLAGS, _LDMODULEVERSIONFLAGS, LDMODULENOVERSIONSYMLINKS. - Changed logic used to configure the versioning machinery from platform-centric to linker-oriented. - The SHLIBVERSION/LDMODULEVERSION variables are no longer validated by SCons (more freedom to users). - InstallVersionedLib() doesn't use SHLIBVERSION anymore. - Enchanced docs for the library versioning stuff. - New tests for versioned libraries. - Library versioning is currently implemented for the following linker tools: 'cyglink', 'gnulink', 'sunlink'. - Fix to swig tool - pick-up 'swig', 'swig3.0' and 'swig2.0' (in order). - Fix to swig tool - respect env['SWIG'] provided by user. }}} -- Ticket URL: <https://trac.macports.org/ticket/50854#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#50854: scons incorrectly builds projects, serf1 unexpectedly changed dylib versions with just a revbump for OpenSSL -------------------------+-------------------------- Reporter: jeremyhu@… | Owner: ryandesign@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: scons | -------------------------+-------------------------- Comment (by jeremyhu@…): Yep, definitely scons. Rolling back to 2.3.4 produced a libserf with the same versioning. -- Ticket URL: <https://trac.macports.org/ticket/50854#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts