Opened 11 months ago
Last modified 10 months ago
#71670 new defect
qt58-qtbase fails to configure on mavericks
| Reported by: | tehcog (tehcog) | Owned by: | |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.10.5 |
| Keywords: | mavericks | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
| Port: | qt58-qtbase |
Description
MacPorts Installed Version: Version: 2.10.5
The following installed ports are outdated: boost176 1.76.0_11 < 1.76.0_12 ... icu 74.2_0 < 76.1_0 .... qt58-qtbase 5.8.0_13 < 5.8.0_14 qt58-qtbase-docs 5.8.0_13 < 5.8.0_14
There are plenty of outdated ports, but these are the pertinant ones (we think)
We try to update boost176.
sudo port -v upgrade boost176
First, port fetches, installs and activates, in the following order:
icu @76.1_0 libxml2 @2.13.5_2 boost176 @1.76.0_12+no_single+no_static+python310, builds with clang++-mp-16
Then we get this:
---> Updating database of binaries
---> Scanning binaries for linking errors
Could not open /opt/local/lib/libicudata.74.dylib: Error opening or reading file (referenced from /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore)
Could not open /opt/local/lib/libicuuc.74.dylib: Error opening or reading file (referenced from /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore)
Could not open /opt/local/lib/libicui18n.74.dylib: Error opening or reading file (referenced from /opt/local/libexec/qt5/lib/QtCore.framework/Versions/5/QtCore)
Could not open /opt/local/lib/libicuio.74.dylib: Error opening or reading file (referenced from /opt/local/libexec/texlive/binaries/bibtexu)
---> Found 93 broken files, matching files to ports
---> Found 10 broken ports, determining rebuild order
---> Rebuilding in order
fsearch @0.2.3_3
gspell @1.12.2_0
raptor2 @2.0.16_2
harfbuzz-icu @10.1.0_0
webkit2-gtk @2.28.2_8+minibrowser+x11
libical @3.0.18_0
boost171 @1.71.0_8+no_single+no_static+python310
boost181 @1.81.0_11+no_single+no_static+python311
qt58-qtbase @5.8.0_13+openssl
texlive-bin @2024.70613_0+x11
This is a listing segment of '/opt/local/lib/' prior to the icu upgrade:
.rwxr-xr-x 31M root admin 6 Jan 16:59 libicudata.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicudata.74.dylib -> libicudata.74.2.dylib .rwxr-xr-x 31M root admin 6 Jan 16:59 libicudata.a lrwxr-xr-x - root admin 6 Jan 16:59 libicudata.dylib -> libicudata.74.2.dylib .rwxr-xr-x 3.0M root admin 6 Jan 16:59 libicui18n.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicui18n.74.dylib -> libicui18n.74.2.dylib .rwxr-xr-x 6.0M root admin 6 Jan 16:59 libicui18n.a lrwxr-xr-x - root admin 6 Jan 16:59 libicui18n.dylib -> libicui18n.74.2.dylib .rwxr-xr-x 62k root admin 6 Jan 16:59 libicuio.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicuio.74.dylib -> libicuio.74.2.dylib .rwxr-xr-x 78k root admin 6 Jan 16:59 libicuio.a lrwxr-xr-x - root admin 6 Jan 16:59 libicuio.dylib -> libicuio.74.2.dylib .rwxr-xr-x 71k root admin 6 Jan 16:59 libicutest.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicutest.74.dylib -> libicutest.74.2.dylib .rwxr-xr-x 92k root admin 6 Jan 16:59 libicutest.a lrwxr-xr-x - root admin 6 Jan 16:59 libicutest.dylib -> libicutest.74.2.dylib .rwxr-xr-x 208k root admin 6 Jan 16:59 libicutu.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicutu.74.dylib -> libicutu.74.2.dylib .rwxr-xr-x 314k root admin 6 Jan 16:59 libicutu.a lrwxr-xr-x - root admin 6 Jan 16:59 libicutu.dylib -> libicutu.74.2.dylib .rwxr-xr-x 1.8M root admin 6 Jan 16:59 libicuuc.74.2.dylib lrwxr-xr-x - root admin 6 Jan 16:59 libicuuc.74.dylib -> libicuuc.74.2.dylib .rwxr-xr-x 3.2M root admin 6 Jan 16:59 libicuuc.a lrwxr-xr-x - root admin 6 Jan 16:59 libicuuc.dylib -> libicuuc.74.2.dylib
This is a listing segment of '/opt/local/lib/' after the icu upgrade:
.rwxr-xr-x 32M root admin 22 Dec 14:39 libicudata.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicudata.76.dylib -> libicudata.76.1.dylib .rwxr-xr-x 32M root admin 22 Dec 14:39 libicudata.a lrwxr-xr-x - root admin 22 Dec 14:39 libicudata.dylib -> libicudata.76.1.dylib .rwxr-xr-x 3.1M root admin 22 Dec 14:39 libicui18n.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicui18n.76.dylib -> libicui18n.76.1.dylib .rwxr-xr-x 5.6M root admin 22 Dec 14:39 libicui18n.a lrwxr-xr-x - root admin 22 Dec 14:39 libicui18n.dylib -> libicui18n.76.1.dylib .rwxr-xr-x 61k root admin 22 Dec 14:39 libicuio.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicuio.76.dylib -> libicuio.76.1.dylib .rwxr-xr-x 68k root admin 22 Dec 14:39 libicuio.a lrwxr-xr-x - root admin 22 Dec 14:39 libicuio.dylib -> libicuio.76.1.dylib .rwxr-xr-x 68k root admin 22 Dec 14:39 libicutest.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicutest.76.dylib -> libicutest.76.1.dylib .rwxr-xr-x 81k root admin 22 Dec 14:39 libicutest.a lrwxr-xr-x - root admin 22 Dec 14:39 libicutest.dylib -> libicutest.76.1.dylib .rwxr-xr-x 201k root admin 22 Dec 14:39 libicutu.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicutu.76.dylib -> libicutu.76.1.dylib .rwxr-xr-x 273k root admin 22 Dec 14:39 libicutu.a lrwxr-xr-x - root admin 22 Dec 14:39 libicutu.dylib -> libicutu.76.1.dylib .rwxr-xr-x 1.8M root admin 22 Dec 14:39 libicuuc.76.1.dylib lrwxr-xr-x - root admin 22 Dec 14:39 libicuuc.76.dylib -> libicuuc.76.1.dylib .rwxr-xr-x 2.8M root admin 22 Dec 14:39 libicuuc.a lrwxr-xr-x - root admin 22 Dec 14:39 libicuuc.dylib -> libicuuc.76.1.dylib
The rebuilds succeed until qt58-qtbase, which fails to configure.
Now apps like KeePassXC, LibreCAD, sqlitebrowser, stellarium & wireshark3 no longer function.
Please see attached main.log
Thanks for your help.
Attachments (4)
Change History (13)
Changed 11 months ago by tehcog (tehcog)
| Attachment: | qt58-qtbase.main.log added |
|---|
comment:1 Changed 11 months ago by RobK88
I get a similar error regarding not being able to enable ICU on Mtn Lion when trying to configure qt57-qtbase.
I also see the error message fatal error: 'string_view' file not found.
See #71685
comment:2 follow-up: 3 Changed 11 months ago by rmottola (Riccardo)
Boost and ICU compile fine on my Mavericks MBP. So please try to consistently upgrade all your ports and see what is left behind?
Try.
port clean outdated port -p upgrade outdated port clean outdated port -p upgrade outdated
and then "port outdated" to see what remained
This will try to update everything skipping errors, then clean the builds, then you retry and see if some issue fixed by itself.. what is left could be issues on Mavericks which need to be checked.
comment:3 Changed 11 months ago by aeiouaeiouaeiouaeiouaeiouaeiou
Replying to rmottola:
Boost and ICU compile fine on my Mavericks MBP.
Does it compile with Xcode Clang?
ICU >=76 is written using the C++17 standard, and every port that depends on it should also use a compatible compiler (example).
Nevermind, I thought it was about qt58-qtbase. I need more sleep and less caffeine.
comment:4 Changed 11 months ago by tehcog (tehcog)
Thanks for everyones help.
I tried this again, only by upgrading ffmpeg, which built fine but then mp wants to upgrade a bunch of stuff:
---> Scanning binaries for linking errors
---> Found 122 broken files, matching files to ports
---> Found 13 broken ports, determining rebuild order
---> Rebuilding in order
fsearch @0.2.3_3
ffmpeg7 @7.1_1+gpl2+jack+nonfree+x11
qt58-qtbase @5.8.0_13+openssl
gspell @1.12.2_0
raptor2 @2.0.16_2
harfbuzz-icu @10.1.0_0
webkit2-gtk @2.28.2_8+minibrowser+x11
libical @3.0.18_0
boost171 @1.71.0_8+no_single+no_static+python310
boost176 @1.76.0_11+no_single+no_static+python310
texlive-bin @2024.70613_0+x11
boost181 @1.81.0_11+no_single+no_static+python311
ffmpeg6 @6.1.2_1+gpl2+nonfree+x11
when it gets to qt58-qtbase, it fails to configure.
please see the attached config log. Is anyone else having problems with qt58-qtbase?
Thanks
comment:5 Changed 11 months ago by tehcog (tehcog)
BTW, everytime I try something like this, I have to restore /opt/local/ from backup as it basically breaks a bunch of stuff that I need.
comment:6 follow-up: 7 Changed 11 months ago by ryandesign (Ryan Carsten Schmidt)
According to your log the problem is:
Checking for ICU...
Trying source 0 (type inline) of library icu ...
=> source failed condition.
Trying source 1 (type inline) of library icu ...
=> source failed condition.
Trying source 2 (type inline) of library icu ...
+ cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/config.tests/unix/icu && /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/bin/qmake -qtconf /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/bin/qt.conf "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console" 'LIBS += -licui18n -licuuc -licudata' /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/config.tests/unix/icu
+ cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/config.tests/unix/icu && MAKEFLAGS= /usr/bin/make
> /Applications/Utilities/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -stdlib=libc++ -arch x86_64 -isysroot /Applications/Utilities/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -mmacosx-version-min=10.9 -Os -std=gnu++11 -Wall -W -fPIC -I. -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt58/qt58-qtbase/work/qtbase-opensource-src-5.8.0/mkspecs/macx-clang -o icu.o icu.cpp
> In file included from icu.cpp:40:
> In file included from /opt/local/include/unicode/utypes.h:39:
> /opt/local/include/unicode/uversion.h:167:11: error: nested namespace definition must define each namespace separately
> namespace U_HEADER_ONLY_NAMESPACE {}
> ^
> /opt/local/include/unicode/uversion.h:165:48: note: expanded from macro 'U_HEADER_ONLY_NAMESPACE'
> #define U_HEADER_ONLY_NAMESPACE U_ICU_NAMESPACE::U_HEADER_NESTED_NAMESPACE
> ^
> In file included from icu.cpp:41:
> In file included from /opt/local/include/unicode/ucol.h:17:
> In file included from /opt/local/include/unicode/unorm.h:25:
> In file included from /opt/local/include/unicode/unorm2.h:35:
> /opt/local/include/unicode/uset.h:36:10: fatal error: 'string_view' file not found
> #include <string_view>
> ^
> 2 errors generated.
> make: *** [icu.o] Error 1
=> source failed verification.
test config.corelib.libraries.icu FAILED
ERROR: Feature 'icu' was enabled, but the pre-condition 'libs.icu' failed.
string_view is a C++17 header, so one change that's needed (which may not be the only needed change) is to mark the qt58-qtbase port as requiring C++17 or newer.
comment:7 follow-up: 8 Changed 11 months ago by tehcog (tehcog)
Replying to ryandesign:
According to your log the problem is: ... string_view is a C++17 header, so one change that's needed (which may not be the only needed change) is to mark the qt58-qtbase port as requiring C++17 or newer.
Thanks for your help Ryan,
I tried changing to C++17 two different ways. First by using:
> sudo port -v upgrade qt58-qtbase configure.compiler=macports-clang-17
and Second by changing the qtbase port file header, both instances give the same (fail) results. Attached, please find 2 log files: "qt58-qtbase.main.2.log" & "qt58-qtbase.upgrade.log"
Thanks
Changed 11 months ago by tehcog (tehcog)
| Attachment: | qt58-qtbase.main.2.log added |
|---|
qt58-qtbase C++17 main.log
Changed 11 months ago by tehcog (tehcog)
| Attachment: | qt58-qtbase.upgrade.log added |
|---|
qt58-qtbase C++17 verbose macports upgrade log
comment:8 Changed 10 months ago by tehcog (tehcog)
comment:9 Changed 10 months ago by aeiouaeiouaeiouaeiouaeiouaeiou
We have the icu58 portfile, it might be a good idea to use it in unsupported versions of Qt (like building OpenSSL with clang-11-bootstrap).

main.log