Opened 14 months ago

Closed 6 weeks ago

Last modified 6 weeks ago

#70682 closed defect (fixed)

qt5-qttools @5.15.15 build failure

Reported by: yoshikazu-tanaka-1961 Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: highsierra mojave Cc: reneeotten (Renee Otten), RobK88, jrandall814, ballapete (Peter "Pete" Dyballa), sambthompson (Sam Thompson), mascguy (Christopher Nielsen), contextnerror, Dave-Allured (Dave Allured), barracuda156, Blokkendoos (Johan)
Port: qt5-qttools

Description

Command "sudo port upgrade outdated" fails at "Building qt5-qttools"

My "Mac OS" is "10.13.6": High Sierra

Log file is attached.

--->  Computing dependencies for qt5-qttools
--->  Fetching archive for qt5-qttools
--->  Attempting to fetch qt5-qttools-5.15.15_0.darwin_17.x86_64.tbz2 from http://kmq.jp.packages.macports.org/qt5-qttools
--->  Attempting to fetch qt5-qttools-5.15.15_0.darwin_17.x86_64.tbz2 from http://packages.macports.org/qt5-qttools
--->  Attempting to fetch qt5-qttools-5.15.15_0.darwin_17.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/qt5-qttools
--->  Fetching distfiles for qt5-qttools
--->  Attempting to fetch qttools-everywhere-opensource-src-5.15.15.tar.xz from http://kmq.jp.distfiles.macports.org/qt5
--->  Verifying checksums for qt5-qttools
--->  Extracting qt5-qttools
--->  Applying patches to qt5-qttools
--->  Configuring qt5-qttools
--->  Building qt5-qttools
Error: Failed to build qt5-qttools: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_aqua_qt5/qt5-qttools/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.

Attachments (3)

main.log.bz2 (31.0 KB) - added by yoshikazu-tanaka-1961 14 months ago.
main.log.2.bz2 (31.0 KB) - added by yoshikazu-tanaka-1961 14 months ago.
main.log.3.bz2 (30.4 KB) - added by sambthompson (Sam Thompson) 7 weeks ago.
install under Mojave

Download all attachments as: .zip

Change History (35)

Changed 14 months ago by yoshikazu-tanaka-1961

Attachment: main.log.bz2 added

Changed 14 months ago by yoshikazu-tanaka-1961

Attachment: main.log.2.bz2 added

comment:1 Changed 14 months ago by jmroot (Joshua Root)

Cc: reneeotten added
Owner: set to MarcusCalhoun-Lopez
Port: qt5-qttools added
Status: newassigned
Summary: Failed to build qt5-qttools @5.15.15 : command execution failedqt5-qttools @5.15.15 build failure
:info:build Undefined symbols for architecture x86_64:
:info:build   "vtable for ApplicationEventFilter", referenced from:
:info:build       _main in main.o
:info:build   NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

comment:2 Changed 14 months ago by RobK88

Cc: RobK88 added

comment:3 Changed 14 months ago by RobK88

I have the exact same problem and error on my Mac running High Sierra. I hope it can easily be fixed.

comment:4 Changed 14 months ago by jrandall814

I have the same problem too, on OS 10.13.6. The same error in my logs, while building linguist.

comment:5 Changed 14 months ago by TheLastLovemark

I have the same problem, on the same os after selfupdate. The same issue may also affect qt5-qtconnectivity

comment:6 Changed 14 months ago by jrandall814

Cc: jrandall814 added

comment:7 Changed 14 months ago by ballapete (Peter "Pete" Dyballa)

Cc: ballapete added

comment:8 Changed 14 months ago by detlevd (Detlev Droege)

Same problem here, High Sierra 10.13.6, selfupdate to MacPorts 2.10.1 did not cure it.

comment:9 Changed 14 months ago by sambthompson (Sam Thompson)

Also affecting Mojave 10.14.6.

comment:10 Changed 14 months ago by sambthompson (Sam Thompson)

Cc: sambthompson added

comment:11 Changed 14 months ago by nilason (Nicklas Larsson)

Similar or related issue #62964.

comment:12 Changed 12 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:13 Changed 11 months ago by jrandall814

This has octave as a dependent, and the failure to fix the problem now prevents an update from octave 9.2.0_1 to 9.3.0_0.

I added a ticket for octave (#71552), but the ticket was closed, with the explanation that it would not be practical to open tickets for each of the more than 450 dependents of qt5-qttools that will now be blocked by its build failure.

Last edited 10 months ago by jrandall814 (previous) (diff)

comment:14 Changed 10 months ago by pa3axa

Hi,

i was upgrading my Macport install om OS Mojave, run into exactly the problem as described in this ticket.

Any idea if this will be resolved in the near future. Is there a workaround as this is preventing the install of gnuradio.

Regards Rens

comment:15 Changed 10 months ago by ballapete (Peter "Pete" Dyballa)

My often used temporary solution for this situation is to edit Portfile and set version and revision number to the values of the installed port so that nothing needs to be upgraded, it's just postponed to some time in the future. When you save the "old fashioned" version somewhere (cp $(port file qt5-qttools) ~/Portfile-qt5-qttools.OK) you can copy it over and over again after each (useless) selfupdate (sudo cp ~/Portfile-qt5-qttools.OK $(port file qt5-qttools) – using bash syntax because Trac would interpret the backticks as text markup).

comment:16 Changed 8 months ago by contextnerror

Cc: contextnerror added

comment:17 Changed 5 months ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:18 Changed 2 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: barracuda156 Blokkendoos added
Keywords: highsierra mojave added

Has duplicate #71479.

comment:19 Changed 7 weeks ago by tomio-arisaka (Tomio Arisaka)

On macOS High Sierra, qt5-qttools @5.15.17 can be built with clang-18 as follows:

sudo port install qt5-qttools configure.compiler=macports-clang-18
$ port -v installed qt5-qttools and active
The following ports are currently installed:
  qt5-qttools @5.15.17_0 (active) requested_variants='' platform='darwin 17' archs='x86_64' date='2025-09-25T22:34:37+0900'

comment:20 Changed 7 weeks ago by reneeotten (Renee Otten)

In 33edb4e4e0ce55b7e826359895493b7eaebba53d/macports-ports (master):

qt5-qttools: attempt to fix build on macOS 10.1[3,4]

See: #70682

comment:21 in reply to:  20 ; Changed 7 weeks ago by sambthompson (Sam Thompson)

Replying to reneeotten:

In 33edb4e4e0ce55b7e826359895493b7eaebba53d/macports-ports (master):

Thanks for this; unfortunately this fix doesn't work for Mojave. Still getting the 'missing vtable' error. Can provide log if wanted.

comment:22 in reply to:  21 ; Changed 7 weeks ago by reneeotten (Renee Otten)

Replying to sambthompson:

Replying to reneeotten:

In 33edb4e4e0ce55b7e826359895493b7eaebba53d/macports-ports (master):

Thanks for this; unfortunately this fix doesn't work for Mojave. Still getting the 'missing vtable' error. Can provide log if wanted.

Sure... based on comment:19 I had hoped that using that same compiler would solve the issue. But aparently not... I don't have such an old OS to test and and to be honest don't have much time to spend on this. But if you provide a log, one can always take a look and see if something stands out.

Changed 7 weeks ago by sambthompson (Sam Thompson)

Attachment: main.log.3.bz2 added

install under Mojave

comment:23 in reply to:  22 Changed 7 weeks ago by sambthompson (Sam Thompson)

Replying to reneeotten:

Sure... based on comment:19 I had hoped that using that same compiler would solve the issue. But aparently not... I don't have such an old OS to test and and to be honest don't have much time to spend on this. But if you provide a log, one can always take a look and see if something stands out.

Me too. Thanks for looking at this; log for Mojave added.

comment:24 in reply to:  20 Changed 6 weeks ago by tomio-arisaka (Tomio Arisaka)

Replying to reneeotten:

In 33edb4e4e0ce55b7e826359895493b7eaebba53d/macports-ports (master):

qt5-qttools: attempt to fix build on macOS 10.1[3,4]

See: #70682

Thanks for the work. But the fix does not work on macOS High Sierra, too. Because the using compiler Xcode Clang has not been changed. See: https://ports.macports.org/port/qt5-qttools/builds/

An extract from the error log https://build.macports.org/builders/ports-10.13_x86_64-builder/builds/268060/steps/install-port/logs/stdio

--->  Configuring qt5-qttools
DEBUG: Preferred compilers: clang macports-clang-17 macports-clang-16 macports-clang-15 macports-clang-14 macports-clang-13 macports-clang-12 macports-clang-11 macports-clang-10 macports-clang-9.0 macports-clang-8.0 macports-clang-7.0 macports-clang-6.0 macports-clang-5.0
DEBUG: Using compiler 'Xcode Clang'
...
...
Undefined symbols for architecture x86_64:
  "vtable for ApplicationEventFilter", referenced from:
      _main in main.o
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [../../../bin/Linguist.app/Contents/MacOS/Linguist] Error 1

comment:25 Changed 6 weeks ago by reneeotten (Renee Otten)

In 3be176231d6dc062f59fb67846c35f76dae56bb5/macports-ports (master):

qt5-qttools: set compiler.cxx_standard

The build adds "-std=c++1z", which appears to refer to the CXX17
standard during its draft phase.
Try to set the compiler.cxx_standard to 2017 and see if that fixes the
build failure on 10.13 and 10.14.

See: #70682

comment:26 in reply to:  25 Changed 6 weeks ago by sambthompson (Sam Thompson)

Replying to reneeotten:

In 3be176231d6dc062f59fb67846c35f76dae56bb5/macports-ports (master):

qt5-qttools: set compiler.cxx_standard

The build adds "-std=c++1z", which appears to refer to the CXX17
standard during its draft phase.
Try to set the compiler.cxx_standard to 2017 and see if that fixes the
build failure on 10.13 and 10.14.

See: #70682

Thanks for further attempts on this. Still no go on Mojave; same missing vtable error as before.

comment:27 Changed 6 weeks ago by reneeotten (Renee Otten)

@Sam: did this work for you

sudo port install qt5-qttools configure.compiler=macports-clang-18

?

If so, I’ do another attempt otherwise I don’t know and someone who actually uses these old-ish OSes will have to find a fix and can submit a PR.

comment:28 in reply to:  27 Changed 6 weeks ago by sambthompson (Sam Thompson)

Replying to reneeotten:

If so, I’ do another attempt otherwise I don’t know and someone who actually uses these old-ish OSes will have to find a fix and can submit a PR.

Thanks; I can confirm the supplied command with the explicit configure.compiler=... worked on Mojave.

comment:29 Changed 6 weeks ago by reneeotten (Renee Otten)

Resolution: fixed
Status: assignedclosed

In a6a12e4901174646e37add04956800dbf4a2a93b/macports-ports (master):

qt5-qttools: use macports-clang-18 on 10.1[3,4]

Pragmatic way to fix the build on 10.13 and 10.14; earlier attempts to
set the cxx_standard did not work. This "fix" is confirmed to work on
10.13 and 10.14 and the compiler is already installed by the port
anyway.

Closes: #70682

comment:30 Changed 6 weeks ago by sambthompson (Sam Thompson)

Can confirm the updated portfile works without needing to separately specify configure.compiler. Thanks again for fixing this; has unblocked a long-standing issue with upgrading sqlitebrowser for me.

comment:31 Changed 6 weeks ago by jmroot (Joshua Root)

The reason that setting the language standard didn't help is that clang-18 is currently only added to the fallback list on macOS 13 and later. https://github.com/macports/macports-ports/blob/master/_resources/port1.0/compilers/clang_compilers.tcl#L17

comment:32 Changed 6 weeks ago by reneeotten (Renee Otten)

Looks like the underlying issue might be with the legacysupport PortGroup as other wt5 subports are still failing on 10.13 and 10.14 with similar cryptic error messages.

See this PR, which I missed/didn’t remember anymore: https://github.com/macports/macports-ports/pull/27297

I am not sure what the fallout of making that change so I am bit reluctant to merge that. Also, I don’t think that QtWebEngine will build on these older systems, so perhaps there is little point in trying to fix more..

Note: See TracTickets for help on using tickets.