[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
it.
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