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

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

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

macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
----------------------+----------------------------
 Reporter:  jtressle  |      Owner:  (none)
     Type:  defect    |     Status:  new
 Priority:  Normal    |  Milestone:  MacPorts 2.7.0
Component:  ports     |    Version:  2.6.4
 Keywords:  QT5       |       Port:  QT5
----------------------+----------------------------
 When trying to import Qt5 frameworks into Xcode, I noticed frameworks
 "QtRepParser.framework" and "QtUiPlugin.framework" had missing TBD files.
 Xcode is unable to recognize these two as frameworks because of this.

 QT5 version was 5.15.2.  I'm running MacOS 10.15.7 (Catalina).

 Thanks

--
Ticket URL: <https://trac.macports.org/ticket/62358>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------
Changes (by ryandesign):

 * status:  new => assigned
 * owner:  (none) => MarcusCalhoun-Lopez
 * port:  QT5 => qt5
 * keywords:  QT5 =>
 * milestone:  MacPorts 2.7.0 =>


--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------

Comment (by kencu):

 I wasn't aware that any of the qt5 frameworks came with tbd files, but I
 never looked too closely. Looking in {{{/opt/local/libexec/qt5/lib}}} I
 don't see any tbd files there.

 You know you can make your own with the tapi tool:

 {{{
 /Library/Developer/CommandLineTools/usr/bin/tapi
 }}}

 If this is something useful to have, we can probably figure out some
 method to use to generate these during the destroot phase.... haven't done
 that before, but looks easy.

--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------

Comment (by jtressle):

 I'll check out the tapi tool.  It might be a lot easier than building QT5
 from scratch.

 Regarding the frameworks, all the other QT5 frameworks in the
 /opt/local/libexec/qt5/lib directory have the .TBD files other than the
 two mentioned.  Here are the screenshots of what I had.

--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------
Changes (by jtressle):

 * Attachment "corefoundation.png" added.

 CoreFoundation Framework contents

--
Ticket URL: <https://trac.macports.org/ticket/62358>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------
Changes (by jtressle):

 * Attachment "qtuiplugin.png" added.

 QtUIPlugin Frameworks

--
Ticket URL: <https://trac.macports.org/ticket/62358>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------
Changes (by jtressle):

 * Attachment "qtsql" added.

 QtSql frameworks

--
Ticket URL: <https://trac.macports.org/ticket/62358>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------

Comment (by jtressle):

 How does tabi work?  Does it create a framework?  Or does it create a .tbd
 file?

 Replying to [comment:2 kencu]:
 > I wasn't aware that any of the qt5 frameworks came with tbd files, but I
 never looked too closely. Looking in {{{/opt/local/libexec/qt5/lib}}} I
 don't see any tbd files there.
 >
 > You know you can make your own with the tapi tool:
 >
 > {{{
 > /Library/Developer/CommandLineTools/usr/bin/tapi
 > }}}
 >
 > If this is something useful to have, we can probably figure out some
 method to use to generate these during the destroot phase.... haven't done
 that before, but looks easy.

--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#62358: qt5 version 5.15.2 missing TBD files from two frameworks
-----------------------+---------------------------------
  Reporter:  jtressle  |      Owner:  MarcusCalhoun-Lopez
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.6.4
Resolution:            |   Keywords:
      Port:  qt5       |
-----------------------+---------------------------------

Comment (by jtressle):

 You can close this.  Looks like the QT version downloaded from their
 website has the exact same structure.

--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#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         |
-------------------------+---------------------------------
Changes (by mf2k):

 * status:  assigned => closed
 * resolution:   => worksforme


--
Ticket URL: <https://trac.macports.org/ticket/62358#comment:6>
MacPorts <https://www.macports.org/>
Ports system for macOS
Reply | Threaded
Open this post in threaded view
|

Re: #62358: qt5 version 5.15.2 missing TBD files from two frameworks

macports-4
In reply to this post by macports-4
#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