Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#28592 closed defect (fixed)

qjackctl relies on qt4-x11, which doesn't build

Reported by: frases@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.9.2
Keywords: Cc: michaelld (Michael Dickens), dbevans (David B. Evans), ryandesign (Ryan Schmidt)
Port: qt4-x11, qt4-mac, qjackctl

Description

Guys, I am experiencing a problem installing qt4-x11 with the most recent version of MacPorts:

bash-3.2$ sudo port version
Version: 1.9.2

on MacOSX 10.5.8 running XCode 3.1.2.

I had performed a recent reinstall of MacPorts using these instructions: http://guide.macports.org/#installing.macports.uninstalling

And then built from the binary .dmg: http://guide.macports.org/#installing.macports.binary

After I did the reinstall, I installed my preferred set of packages. I wanted to install qjackctl, which depended on qt gui toolkit. The install bombs on the build of qt4-x11. So I focused my attention on that package. Procedurally, I first performed a plain old, install:

bash-3.2$ sudo port install qt4-x11

Based on some other posts of similar issues, I tried this:

bash-3.2$ sudo port clean qt4-x11
--->  Cleaning qt4-x11
bash-3.2$ sudo port uninstall qt4-x11
bash-3.2$ sudo port -fR upgrade openssl
bash-3.2$ sudo port install qt4-x11

Both ended up the same way:

:info:build /usr/bin/g++-4.0 -c -pipe -O2 -arch i386 -isystem/opt/local/include -I/opt/local/include/mysql5/mysql -I/opt/local/include/postgresql83 -I/opt/local/include/gstreamer-0.10 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include/libxml2 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -fPIC -DQT_SHARED -D__USE_WS_X11__ -DQT_BUILD_NETWORK_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/darwin-g++ -I. -I../../include/QtCore -I../../include/QtCore -I../../include -I../../include/QtNetwork -I.rcc/release-shared -Ikernel -I/usr/include -I.moc/release-shared -I.uic/release-shared -o .obj/release-shared/qsslconfiguration.o ssl/qsslconfiguration.cpp
:info:build ssl/qsslsocket_openssl_symbols_p.h:264: error: variable or field 'q_sk_free' declared void
:info:build ssl/qsslsocket_openssl_symbols_p.h:264: error: 'STACK' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:264: error: 'a' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:265: error: 'STACK' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:265: error: 'a' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:266: error: 'STACK' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:266: error: 'a' was not declared in this scope
:info:build ssl/qsslsocket_openssl_symbols_p.h:266: error: expected primary-expression before 'int'
:info:build ssl/qsslsocket_openssl_symbols_p.h:266: error: initializer expression list treated as compound expression
:info:build ssl/qsslcertificate.cpp: In member function 'QMultiMap<QSsl::AlternateNameEntryType, QString> QSslCertificate::alternateSubjectNames() const':
:info:build ssl/qsslcertificate.cpp:372: error: 'STACK' was not declared in this scope
:info:build ssl/qsslcertificate.cpp:372: error: 'altNames' was not declared in this scope
:info:build ssl/qsslcertificate.cpp:372: error: expected primary-expression before ')' token
:info:build ssl/qsslcertificate.cpp:372: error: expected `;' before 'q_X509_get_ext_d2i'
:info:build ssl/qsslcertificate.cpp:393: error: 'q_sk_free' cannot be used as a function
:info:build make[1]: *** [.obj/release-shared/qsslcertificate.o] Error 1
:info:build make[1]: *** Waiting for unfinished jobs....
:info:build make: *** [sub-network-make_default-ordered] Error 2
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_qt4-x11/work/qt-x11-opensource-src-4.4.3" && /usr/bin/make -j2 first " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for qt4-x11): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:notice:build Log for qt4-x11 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_x11_qt4-x11/main.log

I'm using the most recent version of openssl:

mac:~ newuser$ sudo port installed | grep openssl
Password:
  openssl @0.9.8k_0
  openssl @1.0.0a_0
  openssl @1.0.0d_0 (active)

The other versions of openssl are in the list because I tried various combinations of older versions of qt4-x11 and openssl. To no avail, of course.

Does anyone have any ideas? Is it necessary that openssl be used for qt4-x11? Can I just disable it from the configure process of qt4-x11?

thanks, scott

Change History (14)

comment:1 Changed 10 years ago by ryandesign (Ryan Schmidt)

Cc: michaelld@… devans@… ryandesign@… added
Port: qt4-x11 qt4-mac qjackctl added

qt4-x11 is totally obsolete; I don't know why the port still exists (Michael?) or why qjackctl is using it (Dave?). The qt4-mac port is what should be being used...

comment:2 in reply to:  1 Changed 10 years ago by frases@…

FYI:

mac:local newuser$ sudo port deps qjackctl
Full Name: qjackctl @0.3.4_0
Library Dependencies: jack, qt4-x11, xorg-libX11, xorg-libXext

comment:3 Changed 10 years ago by michaelld (Michael Dickens)

I started working on "qt4-mac +x11"; never found a working combination of QMake build files' tweaks. I became burdened down with other tasks, and haven't gotten back to it (yet). With the release of 4.7.2, maybe I'll give it another go ...

comment:4 Changed 10 years ago by ryandesign (Ryan Schmidt)

I thought the idea was that ports that use qt4-mac shouldn't care whether they use Aqua/Quartz or X11, therefore it became a single port with an +x11 variant. Could qjackctl use qt4-mac?

comment:5 Changed 10 years ago by jmroot (Joshua Root)

Summary: qt4-x11 install bombqt4-x11 build failure in ssl/qsslsocket_openssl_symbols_p.h

Please use a summary that describes the actual problem.

comment:6 Changed 10 years ago by michaelld (Michael Dickens)

I'm playing with qjackctl right now; looks like it'll work with whatever recent Qt4 is installed. I'll update qjackctl to use qt4-mac instead of qt4-x11 & that should solve this issue for now.

comment:7 Changed 10 years ago by michaelld (Michael Dickens)

Done in r76645. Please do a selfupdate & try installing qjackctl again. If that works, then IMHO we can close this ticket since there's already (at least) another ticket open on qt4-x11 not compiling / needing upgrade / etc ...

comment:8 in reply to:  7 Changed 10 years ago by frases@…

Mike,

After a clean:

mac:Documents newuser$ sudo port clean qjackctl
--->  Cleaning qjackctl

The compile seems to have worked:

mac:Documents newuser$ sudo port install qjackctl
--->  Computing dependencies for qjackctl
--->  Fetching qjackctl
--->  Verifying checksum(s) for qjackctl
--->  Extracting qjackctl
--->  Applying patches to qjackctl
--->  Configuring qjackctl
--->  Building qjackctl
--->  Staging qjackctl into destroot
--->  Installing qjackctl @0.3.7_0+dbus+portaudio
--->  Activating qjackctl @0.3.7_0+dbus+portaudio
--->  Cleaning qjackctl

However, there was no executable created in /opt/local/bin:

mac:Documents newuser$ qjackctl
-bash: qjackctl: command not found

mac:Documents newuser$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin
mac:Documents newuser$ sudo port installed | grep qjack
  qjackctl @0.3.7_0+dbus+portaudio (active)

Doing a find, I see that an executable was created here:

/local/var/macports/software/qjackctl/0.3.7_0+dbus+portaudio/Applications/MacPorts/qjackctl.app/Contents/MacOS/qjackctl

I started the executable in this directory and it seems to work, but I'm not sure why the file got plopped here and not in /opt/local/bin.

scott

comment:9 Changed 10 years ago by frases@…

For completeness, I should say that before the "clean" above, I did a selfupdate and "port upgrade outdated":

mac:Documents newuser$ sudo port selfupdate
Password:
--->  Updating the ports tree
--->  Updating MacPorts base sources using rsync
MacPorts base version 1.9.2 installed,
MacPorts base version 1.9.2 downloaded.
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
mac:Documents newuser$ sudo port upgrade outdated
--->  Fetching ncursesw
..

thanks for the work on this, Mike. scott

comment:10 Changed 10 years ago by michaelld (Michael Dickens)

In r76657, I add a link from ${prefix}/bin/qjackctl -> ${applications_dir}/qjackctl.app/Contents/MacOS/qjackctl .. do a 'sync' and then update qjackctl for this change. Works for me; hopefully will for you too ;)

comment:11 in reply to:  10 Changed 10 years ago by frases@…

Right on, Mike..looks good!

mac:~ newuser$ sudo port sync
Password:
mac:~ newuser$ sudo port selfupdate
--->  Updating the ports tree
--->  Updating MacPorts base sources using rsync
MacPorts base version 1.9.2 installed,
MacPorts base version 1.9.2 downloaded.
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
mac:~ newuser$ sudo port upgrade outdated
--->  Computing dependencies for qjackctl
--->  Fetching qjackctl
--->  Verifying checksum(s) for qjackctl
--->  Extracting qjackctl
--->  Applying patches to qjackctl
--->  Configuring qjackctl
--->  Building qjackctl
--->  Staging qjackctl into destroot
--->  Computing dependencies for qjackctl
--->  Installing qjackctl @0.3.7_1+dbus+portaudio
--->  Deactivating qjackctl @0.3.7_0+dbus+portaudio
--->  Cleaning qjackctl
--->  Activating qjackctl @0.3.7_1+dbus+portaudio
--->  Cleaning qjackctl
mac:~ newuser$ which qjackctl
/opt/local/bin/qjackctl

Thanks for the help! I think we can close this out.

scott

comment:12 Changed 10 years ago by michaelld (Michael Dickens)

Summary: qt4-x11 build failure in ssl/qsslsocket_openssl_symbols_p.hqjackctl relies on qt4-x11, which doesn't build

You're welcome; thanks for the quick feedback!

comment:13 Changed 10 years ago by michaelld (Michael Dickens)

Resolution: fixed
Status: newclosed

comment:14 in reply to:  13 Changed 10 years ago by frases@…

No prob..thanks for fixing!

Note: See TracTickets for help on using tickets.