Opened 2 months ago

Closed 2 days ago

#74076 closed defect (fixed)

iaito @6.1.6_0: error: 'loc' in capture list does not name a variable on macOS 13

Reported by: mark4o Owned by: i0ntempest
Priority: Normal Milestone:
Component: ports Version: 2.12.5
Keywords: ventura Cc:
Port: iaito

Description

iaito @6.1.6_0 fails to build on macOS 13 and earlier.

% sudo port upgrade iaito
The following port will be upgraded: iaito
Continue? [Y/n]: 
--->  Computing dependencies for iaito
--->  Fetching archive for iaito
--->  Archive not available for iaito, building locally
--->  Fetching distfiles for iaito
--->  Verifying checksums for iaito
--->  Extracting iaito
--->  Configuring iaito
--->  Building iaito                                     
Error: Failed to build iaito: command execution failed   
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_iaito/iaito/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug.
% 

The main.log file contains the following errors:

/Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -std=c++20 -include /opt/local/var/macports/build/iaito-ca38a057/work/iaito-6.1.6/src/common/CompilerWorkarounds.h -g -O0 -mmacosx-version-min=13.0 -std=c++20 -stdlib=libc++ -g -O2 -std=gnu++2a  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=13.0 -Wall -Wextra -fPIC -DIAITO_SOURCE_BUILD -DIAITO_ENABLE_DEBUGGER -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -DQT_NO_DEBUG -DQT_SVGWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_SVG_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I../src -I. -I../src -I../src/core -I../src/widgets -I../src/dialogs -I../src/common -I../src/plugins -I../src/menus -I/opt/local/include/libr -I/opt/local/include/libr/sdb -I/opt/local/include/libr -I/opt/local/include/libr/sdb -I/opt/local/libexec/qt6/lib/QtSvgWidgets.framework/Headers -I/opt/local/libexec/qt6/lib/QtWidgets.framework/Headers -I/opt/local/libexec/qt6/lib/QtSvg.framework/Headers -I/opt/local/libexec/qt6/lib/QtGui.framework/Headers -I/opt/local/libexec/qt6/lib/QtNetwork.framework/Headers -I/opt/local/libexec/qt6/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/opt/local/libexec/qt6/mkspecs/macx-clang -F/opt/local/libexec/qt6/lib -o VisualNavbar.o ../src/widgets/VisualNavbar.cpp
../src/widgets/VisualNavbar.cpp:452:50: error: 'loc' in capture list does not name a variable
        addChoice(tr(label), loc == currentLoc, [loc] { Config()->setVisualNavbarLocation(loc); });
                                                 ^
../src/widgets/VisualNavbar.cpp:452:91: error: reference to local binding 'loc' declared in enclosing function 'VisualNavbar::showRelocateMenu'
        addChoice(tr(label), loc == currentLoc, [loc] { Config()->setVisualNavbarLocation(loc); });
                                                                                          ^
../src/widgets/VisualNavbar.cpp:451:23: note: 'loc' declared here
    for (const auto &[loc, label] : locations) {
                      ^
../src/widgets/VisualNavbar.cpp:463:52: error: 'size' in capture list does not name a variable
        addChoice(tr(label), size == currentSize, [size] {
                                                   ^
../src/widgets/VisualNavbar.cpp:464:48: error: reference to local binding 'size' declared in enclosing function 'VisualNavbar::showRelocateMenu'
            Config()->setVisualNavbarThickness(size);
                                               ^
../src/widgets/VisualNavbar.cpp:462:23: note: 'size' declared here
    for (const auto &[size, label] : sizes) {
                      ^
4 errors generated.
make[1]: *** [VisualNavbar.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/opt/local/var/macports/build/iaito-ca38a057/work/iaito-6.1.6/build'
make: *** [iaito] Error 2
make: Leaving directory `/opt/local/var/macports/build/iaito-ca38a057/work/iaito-6.1.6'
Command failed:  cd "/opt/local/var/macports/build/iaito-ca38a057/work/iaito-6.1.6" && /usr/bin/make -j12 -w all 
Exit code: 2
Error: Failed to build iaito: command execution failed

Full macOS 13 x86_64 builder log: https://build.macports.org/builders/ports-13_x86_64-builder/builds/111415/steps/install-port/logs/stdio

The code is C++20, so MacPorts sets CXX to a version of MacPorts Clang that supports this. However the actual build ignores CXX and uses Xcode Clang.

Change History (1)

comment:1 Changed 2 days ago by commitmaniac <201806046+commitmaniac@…>

Resolution: fixed
Status: assignedclosed

In 95189bd64dbc024eb61839af91cdcd12e9cc9365/macports-ports (master):

iaito: Update to 6.2.0

Closes: #74076

Note: See TracTickets for help on using tickets.