Opened 4 years ago

Closed 3 years ago

#60894 closed defect (fixed)

mysql8: build fails with gcc5

Reported by: chrstphrchvz (Christopher Chavez) Owned by: herbygillot (Herby Gillot)
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc:
Port: mysql8

Description

(Ticket 2 of 2) The mysql8 port was set to avoid compiling with gcc5 initially in [f33623dd62/macports-ports] and refined in [3db241d4f4/macports-ports], [93573a70d6/macports-ports]. But I have not found a detailed explanation of why this was done. Note that upstream documentation only mentions support for building on macOS with Xcode 9 or later; the port bypasses this check (#58579).

Using compiler.whitelist macports-gcc-5 (without tracemode, otherwise it errors when configuring: #60893), the build eventually fails:

:info:build [  6%] Linking CXX executable ../runtime_output_directory/uca9dump
:info:build cd /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_databases_mysql8/mysql8/work/build/strings && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/uca9dump.dir/link.txt --verbose=ON
:info:build /opt/local/bin/g++-mp-5  -std=c++14 -fno-omit-frame-pointer -ftls-model=initial-exec -pipe -Os -DNDEBUG -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wall -Wextra -Wformat-security -Wvla -Wundef -Wmissing-format-attribute -Woverloaded-virtual -Wcast-qual -Wlogical-op -DDBUG_OFF -ffunction-sections -fdata-sections -O3 -DNDEBUG -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.15 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -fuse-ld=gold -Wl,--gc-sections -L/opt/local/lib -Wl,-headerpad_max_install_names -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk CMakeFiles/uca9dump.dir/uca9-dump.cc.o  -o ../runtime_output_directory/uca9dump 
:info:build ld: unknown option: --gc-sections
:info:build collect2: error: ld returned 1 exit status
:info:build make[2]: *** [runtime_output_directory/uca9dump] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_macports_macports-ports_databases_mysql8/mysql8/work/build'
:info:build make[1]: *** [strings/CMakeFiles/uca9dump.dir/all] Error 2

Attachments (1)

mysql8-gcc5.log.xz (39.6 KB) - added by chrstphrchvz (Christopher Chavez) 4 years ago.
main.log for building (without tracemode)

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by chrstphrchvz (Christopher Chavez)

Attachment: mysql8-gcc5.log.xz added

main.log for building (without tracemode)

comment:1 Changed 4 years ago by kencu (Ken)

gcc5 on 10.15 -- you are an intrepid explorer, sir.

comment:2 Changed 4 years ago by kencu (Ken)

as per the other ticket about this 60893, no gcc version, gcc-5 included, should be used to build c++ ports on systems configured to use libc++.dylib.

The gcc-5 blacklist would be of interest only to systems that are configured to use libstdc++.dylib, and to test whether it's truly needed, you'd have to be on one of those systems.

comment:3 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

MySQL 8.0.27 will require C++17, so failure to build with GCC 5 will be irrelevant.

comment:4 Changed 3 years ago by chrstphrchvz (Christopher Chavez)

Resolution: fixed
Status: assignedclosed

In eefc91937236b0bef934f598cfbe5516c47df846/macports-ports (master):

mysql8: pre-C++17 compiler restriction cleanup

Closes: #60894

Note: See TracTickets for help on using tickets.