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)

qt58-qtbase.main.log (436.4 KB) - added by tehcog (tehcog) 11 months ago.
main.log
qt58.txt (391.5 KB) - added by tehcog (tehcog) 11 months ago.
qt58.config.log
qt58-qtbase.main.2.log (58.6 KB) - added by tehcog (tehcog) 11 months ago.
qt58-qtbase C++17 main.log
qt58-qtbase.upgrade.log (24.9 KB) - added by tehcog (tehcog) 11 months ago.
qt58-qtbase C++17 verbose macports upgrade log

Download all attachments as: .zip

Change History (13)

Changed 11 months ago by tehcog (tehcog)

Attachment: qt58-qtbase.main.log added

main.log

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

Last edited 11 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 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 in reply to:  2 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.

Last edited 11 months ago by aeiouaeiouaeiouaeiouaeiouaeiou (previous) (diff)

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

Changed 11 months ago by tehcog (tehcog)

Attachment: qt58.txt added

qt58.config.log

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 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 in reply to:  6 ; 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

Last edited 11 months ago by tehcog (tehcog) (previous) (diff)

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 in reply to:  7 Changed 10 months ago by tehcog (tehcog)

Replying to tehcog:

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"

This now looks similar to #71685

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).

Note: See TracTickets for help on using tickets.