Opened 7 years ago

Closed 7 years ago

#54964 closed defect (worksforme)

qt5-qtbase fails to build now

Reported by: mouse07410 (Mouse) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: qt5-qtbase

Description

MacOS 10.12.6, Xcode-9.0, XQuartz 2.7.11 (latest available).

+ cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work/qtbase-opensource-src-5.9.1/config.tests/x11/xlib && MAKEFLAGS= /usr/bin/make
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC  -I. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work/qtbase-opensource-src-5.9.1/mkspecs/macx-clang -o xlib.o xlib.cpp
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names  -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.12 -Wl,-rpath,@executable_path/Frameworks -o xlib xlib.o    
> Undefined symbols for architecture x86_64:
>   "_XCloseDisplay", referenced from:
>       _main in xlib.o
>   "_XOpenDisplay", referenced from:
>       _main in xlib.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make: *** [xlib] Error 1
test config.gui.tests.xlib FAILED

Current version installed:

$ port installed qt5-qtbase
The following ports are currently installed:
  qt5-qtbase @5.8.0_0+openssl (active)
$

Attachments (1)

qt5-qtbase.log.txt (427.7 KB) - added by mouse07410 (Mouse) 7 years ago.
Full log of the failed qt5-qtbase installation

Download all attachments as: .zip

Change History (8)

comment:1 Changed 7 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Owner: set to MarcusCalhoun-Lopez
Status: newaccepted

Certain configuration tests are supposed to fail on macOS.
The X11 test is one of them.
The real error seems to be

> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++11  -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Develope\
r/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.12 -Wall -W -fPIC  -I. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarbal\
ls_ports_aqua_qt5/qt5-qtbase/work/qtbase-opensource-src-5.9.1/mkspecs/macx-clang -o libjpeg.o libjpeg.cpp
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -headerpad_max_install_names  -arch x86_64 -Wl,-syslibroot,/Applications/Xcode.app/Contents\
/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -mmacosx-version-min=10.12 -Wl,-rpath,@executable_path/Frameworks -o libjpeg libjpeg.o   -ljpeg
> Undefined symbols for architecture x86_64:
>   "_jpeg_CreateCompress", referenced from:
>       _main in libjpeg.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> make: *** [libjpeg] Error 1

Is there any reason to think that the port jpeg is not installed correctly?
There might be a hint in main.log (located by running port logfile qt5-qtbase).
You might also try port provides /opt/local/lib/libjpeg.dylib to make sure the jpeg library is installed correctly.
If neither of those gives any insight, nm -gU /opt/local/lib/libjpeg.dylib should contain the symbol _jpeg_CreateCompress.

comment:2 Changed 7 years ago by mouse07410 (Mouse)

$ port provides /opt/local/lib/libjpeg.dylib
/opt/local/lib/libjpeg.dylib is provided by: jpeg
$ port installed jpeg
The following ports are currently installed:
  jpeg @9b_0 (active)
$ nm -gU /opt/local/lib/libjpeg.dylib | grep jpeg_CreateCompress
0000000000017de2 T __cg_jpeg_CreateCompress
$
Last edited 7 years ago by mouse07410 (Mouse) (previous) (diff)

comment:3 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: mcalhoun@… removed

libjpeg.dylib from the jpeg port is supposed to provide __jpeg_CreateCompress:

$ nm -gU /opt/local/lib/libjpeg.dylib | grep jpeg_CreateCompress
00000000000011a0 T _jpeg_CreateCompress

libJPEG.dylib from the macOS ImageIO framework is supposed to provide __cg_jpeg_CreateCompress:

$ nm -gU /System/Library/Frameworks/ImageIO.framework/Versions/Current/Resources/libJPEG.dylib | grep jpeg_CreateCompress
0000000000017de2 T __cg_jpeg_CreateCompress

So I don't know why your MacPorts jpeg port is behaving as if it were Apple's ImageIO framework.

You don't have the DYLD_LIBRARY_PATH environment variable set, do you?

Can you show the output of:

otool -L /opt/local/lib/libjpeg.dylib

comment:4 Changed 7 years ago by mouse07410 (Mouse)

I forced re-installation of the jpeg port, and the error changed. But the installation still fails (I've replaced the full log with the new one).

$ cat <path-to>/main.log
. . . . .
:info:configure Qt Gui:
:info:configure   Accessibility .......................... yes
:info:configure   FreeType ............................... yes
:info:configure     Using system FreeType ................ yes
:info:configure   HarfBuzz ............................... yes
:info:configure     Using system HarfBuzz ................ yes
:info:configure   Fontconfig ............................. no
:info:configure   Image formats:
:info:configure     GIF .................................. yes
:info:configure     ICO .................................. yes
:info:configure     JPEG ................................. yes
:info:configure       Using system libjpeg ............... no
:info:configure     PNG .................................. yes
:info:configure       Using system libpng ................ yes
:info:configure   EGL .................................... no
:info:configure   OpenVG ................................. no
:info:configure   OpenGL:
:info:configure     Desktop OpenGL ....................... yes
:info:configure     OpenGL ES 2.0 ........................ no
:info:configure     OpenGL ES 3.0 ........................ no
:info:configure     OpenGL ES 3.1 ........................ no
:info:configure   Session Management ..................... yes
:info:configure Features used by QPA backends:
:info:configure   evdev .................................. no
:info:configure   libinput ............................... no
:info:configure   INTEGRITY HID .......................... no
:info:configure   mtdev .................................. no
:info:configure   tslib .................................. no
:info:configure   xkbcommon-evdev ........................ no
:info:configure QPA backends:
:info:configure   DirectFB ............................... no
:info:configure   EGLFS .................................. no
:info:configure   LinuxFB ................................ no
:info:configure   VNC .................................... no
:info:configure   Mir client ............................. no
:info:configure Qt Widgets:
:info:configure   GTK+ ................................... no
:info:configure   Styles ................................. Fusion macOS Windows
:info:configure Qt PrintSupport:
:info:configure   CUPS ................................... yes
:info:configure Qt Sql:
:info:configure   DB2 (IBM) .............................. no
:info:configure   InterBase .............................. no
:info:configure   MySql .................................. no
:info:configure   OCI (Oracle) ........................... no
:info:configure   ODBC ................................... no
:info:configure   PostgreSQL ............................. no
:info:configure   SQLite2 ................................ no
:info:configure   SQLite ................................. no
:info:configure     Using system provided SQLite ......... no
:info:configure   TDS (Sybase) ........................... no
:info:configure Note: When linking against OpenSSL, you can override the default
:info:configure library names through OPENSSL_LIBS.
:info:configure For example:
:info:configure     OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
:info:configure WARNING: On OS X, AAT is supported only with -qt-harfbuzz.
:info:configure ERROR: Feature 'system-jpeg' was enabled, but the pre-condition 'features.jpeg && libs.libjpeg' failed.
:info:configure Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work/qtbase-opensource-src-5.9.1" && ./configure -prefix /opt/local/libexec/qt5 -bindir /opt/local/libexec/qt5/bin -headerdir /opt/local/libexec/qt5/include -libdir /opt/local/libexec/qt5/lib -archdatadir /opt/local/libexec/qt5 -plugindir /opt/local/libexec/qt5/plugins -importdir /opt/local/libexec/qt5/imports -qmldir /opt/local/libexec/qt5/qml -datadir /opt/local/libexec/qt5 -docdir /opt/local/libexec/qt5/doc -translationdir /opt/local/libexec/qt5/translations -sysconfdir /opt/local/libexec/qt5/etc/xdg -examplesdir /opt/local/libexec/qt5/examples -testsdir /opt/local/libexec/qt5/tests -hostdatadir /opt/local/libexec/qt5 -release -opensource -confirm-license -shared -accessibility -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -platform macx-clang -optimize-size -no-testcocoon -no-gcov -force-pkg-config -system-zlib -no-mtdev -no-journald -no-syslog -system-libpng -system-libjpeg -system-freetype -system-harfbuzz -no-libproxy -system-pcre --disable-xcb -glib -no-gtk -make libs -make tools -nomake examples -nomake tests -gui -widgets -no-rpath -verbose -cups -no-iconv -no-evdev -no-tslib -icu -no-fontconfig -strip -no-pch -no-ltcg -dbus-linked -no-use-gold-linker -no-separate-debug-info -no-xcb -no-eglfs -no-gbm -no-directfb -no-linuxfb -no-kms -no-mirclient -no-libinput -no-system-proxies -framework -sdk macosx -no-libudev -no-egl -openssl-linked 
:info:configure Exit code: 3
:error:configure Failed to configure qt5-qtbase, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/work/qtbase-opensource-src-5.9.1/config.log
:error:configure Failed to configure qt5-qtbase: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
:debug:configure     while executing
:debug:configure "$procedure $targetname"
:error:configure See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtbase/main.log for details.
$ otool -L /opt/local/lib/libjpeg.dylib
/opt/local/lib/libjpeg.dylib:
	/opt/local/lib/libjpeg.9.dylib (compatibility version 12.0.0, current version 12.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)
$ nm -gU /opt/local/lib/libjpeg.dylib | grep jpeg_CreateCompress
000000000000197c T _jpeg_CreateCompress
$

Update

After I port clean qt5-qtbase and retried the upgrade, the build process started. Will report here if more problems occur.

Last edited 7 years ago by mouse07410 (Mouse) (previous) (diff)

Changed 7 years ago by mouse07410 (Mouse)

Attachment: qt5-qtbase.log.txt added

Full log of the failed qt5-qtbase installation

comment:5 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Could you attach the config.log? That might give us more of an idea what it's having a problem with.

comment:6 Changed 7 years ago by mouse07410 (Mouse)

Installation of qt5-qtbase succeeded. Thank you! (Now let's hope the rest of the Qt5 update would run smoothly. ;)

comment:7 Changed 7 years ago by mf2k (Frank Schima)

Resolution: worksforme
Status: acceptedclosed
Note: See TracTickets for help on using tickets.