[MacPorts] #62358: qt5 version 5.15.2 missing TBD files from two frameworks

MacPorts noreply at macports.org
Fri Feb 26 05:01:43 UTC 2021


#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-------------------------+---------------------------------
  Reporter:  jtressle    |      Owner:  MarcusCalhoun-Lopez
      Type:  defect      |     Status:  closed
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.6.4
Resolution:  worksforme  |   Keywords:
      Port:  qt5         |
-------------------------+---------------------------------

Comment (by kencu):

 You do this:

 find the "dylib" which in a framework does not have the extension "dylib"
 on it.

 {{{
 % otool -L /opt/local/libexec/qt5/lib/QtSql.framework/QtSql
 /opt/local/libexec/qt5/lib/QtSql.framework/QtSql:
         /opt/local/libexec/qt5/lib/QtSql.framework/Versions/5/QtSql
 (compatibility version 5.15.0, current version 5.15.2)
         /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore
 (compatibility version 5.15.0, current version 5.15.2)
 /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
 (compatibility version 1.0.0, current version 1.0.0)
         /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
 (compatibility version 1.0.0, current version 275.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 904.4.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1292.0.0)
 }}}

 then once you have the dynamic library, your use tapi to stubify it like
 this:
 {{{
 sudo tapi stubify /opt/local/libexec/qt5/lib/QtSql.framework/QtSql
 }}}
 and it writes the *.tbd file for you
 {{{
 % ls -la /opt/local/libexec/qt5/lib/QtSql.framework/Versions/5/QtSql.tbd
 -rw-r--r--  1 root  admin  24366 25 Feb 20:57
 /opt/local/libexec/qt5/lib/QtSql.framework/Versions/5/QtSql.tbd
 }}}

 and so:

 {{{
 % cat /opt/local/libexec/qt5/lib/QtSql.framework/Versions/5/QtSql.tbd
 --- !tapi-tbd-v3
 archs:           [ x86_64 ]
 uuids:           [ 'x86_64: 77798691-0931-3DA6-8987-6B8C1F1B7781' ]
 platform:        macosx
 install-name:
 /opt/local/libexec/qt5/lib/QtSql.framework/Versions/5/QtSql
 current-version: 5.15.2
 compatibility-version: 5.15
 objc-constraint: none
 exports:
   - archs:           [ x86_64 ]
     symbols:         [ __ZN10QSqlDriver11cancelQueryEv,
 __ZN10QSqlDriver11qt_metacallEN11QMetaObject4CallEiPPv,
                        __ZN10QSqlDriver11qt_metacastEPKc,
 __ZN10QSqlDriver12notificationERK7QString,
 __ZN10QSqlDriver12notificationERK7QStringNS_18NotificationSourceERK8QVariant,
                        __ZN10QSqlDriver12setLastErrorERK9QSqlError,
 __ZN10QSqlDriver12setOpenErrorEb,
                        __ZN10QSqlDriver16beginTransactionEv,
 __ZN10QSqlDriver16staticMetaObjectE,
                        __ZN10QSqlDriver17commitTransactionEv,
 __ZN10QSqlDriver19rollbackTransaction
 ...
 }}}

 I can't verify it works as it should, but it works to generate the TBD
 files.

 Please report back if this is useful in some way, etc.

-- 
Ticket URL: <https://trac.macports.org/ticket/62358#comment:7>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list