[MacPorts] #54151: qjackctl @0.45+qt4: variant +qt4 fails to build on Sierra

MacPorts noreply at macports.org
Thu May 11 18:20:58 UTC 2017

#54151: qjackctl @0.45+qt4: variant +qt4 fails to build on Sierra
  Reporter:  detlevd   |      Owner:
      Type:  defect    |     Status:  new
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.4.1
Resolution:            |   Keywords:
      Port:  qjackctl  |

Comment (by kencu):

 Hah. This is a strange one.  Turns out the issue is not with the
 `-Xarch_x86_64` flag, which is perfectly fine for clang, but with the
 dangling `-arch` flag before that without a valid architecture to follow

 This can happen when qt4-mac is not installed `+universal`.

 Indeed, installing `qt4-mac +universal` on Sierra, then `qtjackctl +qt4`
 works fine:

 $ port -v installed qjackctl
 The following ports are currently installed:
   qjackctl @0.4.5_0+dbus+portaudio+qt4 (active) platform='darwin 16'
 archs='x86_64' date='2017-05-11T11:10:35-0700'

 and here is the link line:
 /usr/bin/clang++ -headerpad_max_install_names -L/opt/local/lib
 -Wl,-headerpad_max_install_names -arch x86_64 -o
 qjackctl.app/Contents/MacOS/qjackctl .obj/qjackctl.o
 .obj/qjackctlAlsaConnect.o .obj/qjackctlConnect.o
 .obj/qjackctlConnectAlias.o .obj/qjackctlInterfaceComboBox.o
 .obj/qjackctlJackConnect.o .obj/qjackctlPatchbay.o
 .obj/qjackctlPatchbayFile.o .obj/qjackctlPatchbayRack.o
 .obj/qjackctlSession.o .obj/qjackctlSetup.o .obj/qjackctlSystemTray.o
 .obj/qjackctlAboutForm.o .obj/qjackctlConnectionsForm.o
 .obj/qjackctlMainForm.o .obj/qjackctlMessagesStatusForm.o
 .obj/qjackctlPatchbayForm.o .obj/qjackctlSessionForm.o
 .obj/qjackctlSetupForm.o .obj/qjackctlSocketForm.o
 .obj/moc_qjackctlConnect.o .obj/moc_qjackctlPatchbay.o
 .obj/moc_qjackctlPatchbayRack.o .obj/moc_qjackctlSystemTray.o
 .obj/moc_qjackctlAboutForm.o .obj/moc_qjackctlConnectionsForm.o
 .obj/moc_qjackctlMainForm.o .obj/moc_qjackctlMessagesStatusForm.o
 .obj/moc_qjackctlPatchbayForm.o .obj/moc_qjackctlSessionForm.o
 .obj/moc_qjackctlSetupForm.o .obj/moc_qjackctlSocketForm.o
 .obj/qrc_qjackctl.o   -F/opt/local/libexec/qt4/Library/Frameworks
 -F/opt/local/libexec/qt4/lib  -L/opt/local/libexec/qt4/lib
 -L/opt/local/lib -ljack -lpthread -framework CoreAudio -framework
 CoreServices -framework AudioUnit -framework CoreFoundation -lX11
 -F/opt/local/libexec/qt4/Library/Frameworks -F/opt/local/libexec/qt4/lib
 -framework QtXml -F/opt/local/Library/Frameworks -framework QtCore
 -framework QtGui

 michaelld at macports.com, who has been doing this much much longer than me,
 found this error in 2010, and fixed it like so:
 <https://trac.macports.org/changeset/73290> in a different port. We could
 do that...

 So - yeah - commotion deep in the guts of qt4. Options are to use
 something like that tricky tricky bit of `sed`'ing Michael used, or to
 just tell people to install qt4-mac as +universal and be done with it for
 all ports that might have this issue.

 Doesn't look like michaelld actually figured out why it happened
 sometimes. Just fixed it up after. Must be some reason it occurs in
 certain ports, of course.

 I installed qt4-mac +universal last year, and so would never see this
 error, I guess. Seems pretty tempting to just force qt4-mac to be
 +univeral by default... not the purist thing, to be sure, but heck,
 qt4-using ports are not going to generate a ton of interest any more.

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

More information about the macports-tickets mailing list