[MacPorts] #60893: gcc5 unusable in trace mode (was: mysql8: can't configure with gcc5 under tracemode)
MacPorts
noreply at macports.org
Thu Jul 23 18:10:13 UTC 2020
#60893: gcc5 unusable in trace mode
---------------------------+--------------------------------
Reporter: chrstphrchvz | Owner: macports-tickets@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.6.3
Resolution: | Keywords:
Port: gcc5 |
---------------------------+--------------------------------
Changes (by chrstphrchvz):
* owner: herbygillot => macports-tickets@…
* port: mysql8 => gcc5
Old description:
> (Ticket 1 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
> [https://dev.mysql.com/doc/refman/8.0/en/source-installation-
> prerequisites.html 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`, configuring the port fails
> when using tracemode (configuration succeeds without trace mode, but the
> build still fails eventually: #60894):
>
> {{{
> ---> Configuring mysql8
> (using ccache)
> Executing: cd
> "/opt/local/var/macports/build/_opt_local_var_macports_sources_github
> .com_macports_macports-ports_databases_mysql8/mysql8/work/build" &&
> /opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles"
> -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/opt/local"
> -DCMAKE_INSTALL_NAME_DIR="/opt/local/lib"
> -DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr"
> -DCMAKE_C_COMPILER_LAUNCHER=/opt/local/bin/ccache
> -DCMAKE_CXX_COMPILER_LAUNCHER=/opt/local/bin/ccache
> -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX"
> -DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW
> -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON
> -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
> -DCMAKE_MAKE_PROGRAM=/usr/bin/make
> -DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules"
> -DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules"
> -DCMAKE_INSTALL_RPATH=";/opt/local/lib" -Wno-dev -DWITH_DEBUG=OFF
> -DWITH_DTRACE:BOOL=OFF -DWITH_UNIT_TESTS=OFF
> -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
> -DCMAKE_INSTALL_NAME_DIR:PATH="/opt/local/lib/mysql8/mysql"
> -DFORCE_UNSUPPORTED_COMPILER=ON -DDOWNLOAD_BOOST=0
> -DENABLE_DOWNLOADS:BOOL=OFF -DINSTALL_LAYOUT:STRING=MACPORTS
> -DMYSQL_DATADIR:PATH="/opt/local/var/db/mysql8"
> -DMYSQL_UNIX_ADDR:PATH="/opt/local/var/run/mysql8/mysqld.sock"
> -DSYSCONFDIR:PATH="/opt/local/etc/mysql8"
> -DWITH_BOOST:PATH="/opt/local/var/macports/build/_opt_local_var_macports_sources_github
> .com_macports_macports-
> ports_databases_mysql8/mysql8/work/mysql-8.0.21/../boost_1_72_0"
> -DWITH_ICU:PATH="/opt/local" -DWITH_INNODB_MEMCACHED=1
> -DWITH_PROTOBUF=bundled -DWITH_SASL:PATH="/opt/local"
> -DWITH_SSL:PATH="/opt/local" -DWITH_ZLIB:PATH="/opt/local"
> -DWITH_ZSTD=system -DWITH_ROUTER:BOOL=OFF
> -DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15"
> -DCMAKE_OSX_SYSROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
> /opt/local/var/macports/build/_opt_local_var_macports_sources_github
> .com_macports_macports-ports_databases_mysql8/mysql8/work/mysql-8.0.21
> -- Running cmake version 3.17.3
> -- Found Git: /usr/bin/git (found version "2.24.3 (Apple Git-128)")
> -- MySQL 8.0.21
> -- The C compiler identification is GNU 5.5.0
> -- The CXX compiler identification is GNU 5.5.0
> -- Checking whether C compiler has -isysroot
> -- Checking whether C compiler has -isysroot - yes
> -- Checking whether C compiler supports OSX deployment target flag
> -- Checking whether C compiler supports OSX deployment target flag - yes
> -- Check for working C compiler: /opt/local/bin/gcc-mp-5
> -- Check for working C compiler: /opt/local/bin/gcc-mp-5 - broken
> CMake Error at
> /opt/local/share/cmake-3.17/Modules/CMakeTestCCompiler.cmake:60
> (message):
> The C compiler
>
> "/opt/local/bin/gcc-mp-5"
>
> is not able to compile a simple test program.
>
> It fails with the following output:
>
> Change Dir:
> /opt/local/var/macports/build/_opt_local_var_macports_sources_github
> .com_macports_macports-
> ports_databases_mysql8/mysql8/work/build/CMakeFiles/CMakeTmp
>
> Run Build Command(s):/usr/bin/make cmTC_4632c/fast &&
> /Library/Developer/CommandLineTools/usr/bin/make -f
> CMakeFiles/cmTC_4632c.dir/build.make CMakeFiles/cmTC_4632c.dir/build
> Building C object CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o
> /opt/local/bin/gcc-mp-5 -pipe -Os -DNDEBUG -I/opt/local/include
> -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch
> x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
> -mmacosx-version-min=10.15 -o
> CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o -c
> /opt/local/var/macports/build/_opt_local_var_macports_sources_github
> .com_macports_macports-
> ports_databases_mysql8/mysql8/work/build/CMakeFiles/CMakeTmp/testCCompiler.c
> Linking C executable cmTC_4632c
> /opt/local/bin/cmake -E cmake_link_script
> CMakeFiles/cmTC_4632c.dir/link.txt --verbose=1
> /opt/local/bin/gcc-mp-5 -pipe -Os -DNDEBUG -I/opt/local/include
> -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -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 -L/opt/local/lib
> -Wl,-headerpad_max_install_names
> -Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
> CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o -o cmTC_4632c
> collect2: fatal error: close: Bad file descriptor
> compilation terminated.
> make[1]: *** [cmTC_4632c] Error 1
> make[1]: *** Deleting file `cmTC_4632c'
> make: *** [cmTC_4632c/fast] Error 2
>
>
>
> CMake will not be able to correctly generate this project.
> Call Stack (most recent call first):
> CMakeLists.txt:354 (PROJECT)
>
> -- Configuring incomplete, errors occurred!
> }}}
New description:
**Edit**: ticket was originally for `mysql8`, but other simpler ports
(e.g. `pv`) appear to be affected.
Using `compiler.whitelist macports-gcc-5` to force compiling with `gcc5`,
a port fails to configure/build using trace mode. Example with `mysql8`:
{{{
---> Configuring mysql8
(using ccache)
Executing: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-ports_databases_mysql8/mysql8/work/build" &&
/opt/local/bin/cmake -G "CodeBlocks - Unix Makefiles"
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/opt/local"
-DCMAKE_INSTALL_NAME_DIR="/opt/local/lib"
-DCMAKE_SYSTEM_PREFIX_PATH="/opt/local;/usr"
-DCMAKE_C_COMPILER_LAUNCHER=/opt/local/bin/ccache
-DCMAKE_CXX_COMPILER_LAUNCHER=/opt/local/bin/ccache
-DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX"
-DCMAKE_POLICY_DEFAULT_CMP0025=NEW -DCMAKE_POLICY_DEFAULT_CMP0060=NEW
-DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_COLOR_MAKEFILE=ON
-DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-DCMAKE_MAKE_PROGRAM=/usr/bin/make
-DCMAKE_MODULE_PATH="/opt/local/share/cmake/Modules"
-DCMAKE_PREFIX_PATH="/opt/local/share/cmake/Modules"
-DCMAKE_INSTALL_RPATH=";/opt/local/lib" -Wno-dev -DWITH_DEBUG=OFF
-DWITH_DTRACE:BOOL=OFF -DWITH_UNIT_TESTS=OFF
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
-DCMAKE_INSTALL_NAME_DIR:PATH="/opt/local/lib/mysql8/mysql"
-DFORCE_UNSUPPORTED_COMPILER=ON -DDOWNLOAD_BOOST=0
-DENABLE_DOWNLOADS:BOOL=OFF -DINSTALL_LAYOUT:STRING=MACPORTS
-DMYSQL_DATADIR:PATH="/opt/local/var/db/mysql8"
-DMYSQL_UNIX_ADDR:PATH="/opt/local/var/run/mysql8/mysqld.sock"
-DSYSCONFDIR:PATH="/opt/local/etc/mysql8"
-DWITH_BOOST:PATH="/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-
ports_databases_mysql8/mysql8/work/mysql-8.0.21/../boost_1_72_0"
-DWITH_ICU:PATH="/opt/local" -DWITH_INNODB_MEMCACHED=1
-DWITH_PROTOBUF=bundled -DWITH_SASL:PATH="/opt/local"
-DWITH_SSL:PATH="/opt/local" -DWITH_ZLIB:PATH="/opt/local"
-DWITH_ZSTD=system -DWITH_ROUTER:BOOL=OFF
-DCMAKE_OSX_ARCHITECTURES="x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET="10.15"
-DCMAKE_OSX_SYSROOT="/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk"
/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-ports_databases_mysql8/mysql8/work/mysql-8.0.21
-- Running cmake version 3.17.3
-- Found Git: /usr/bin/git (found version "2.24.3 (Apple Git-128)")
-- MySQL 8.0.21
-- The C compiler identification is GNU 5.5.0
-- The CXX compiler identification is GNU 5.5.0
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /opt/local/bin/gcc-mp-5
-- Check for working C compiler: /opt/local/bin/gcc-mp-5 - broken
CMake Error at
/opt/local/share/cmake-3.17/Modules/CMakeTestCCompiler.cmake:60 (message):
The C compiler
"/opt/local/bin/gcc-mp-5"
is not able to compile a simple test program.
It fails with the following output:
Change Dir:
/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-
ports_databases_mysql8/mysql8/work/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_4632c/fast &&
/Library/Developer/CommandLineTools/usr/bin/make -f
CMakeFiles/cmTC_4632c.dir/build.make CMakeFiles/cmTC_4632c.dir/build
Building C object CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o
/opt/local/bin/gcc-mp-5 -pipe -Os -DNDEBUG -I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch
x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
-mmacosx-version-min=10.15 -o
CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o -c
/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-
ports_databases_mysql8/mysql8/work/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_4632c
/opt/local/bin/cmake -E cmake_link_script
CMakeFiles/cmTC_4632c.dir/link.txt --verbose=1
/opt/local/bin/gcc-mp-5 -pipe -Os -DNDEBUG -I/opt/local/include
-isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -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 -L/opt/local/lib
-Wl,-headerpad_max_install_names
-Wl,-syslibroot,/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk
CMakeFiles/cmTC_4632c.dir/testCCompiler.c.o -o cmTC_4632c
collect2: fatal error: close: Bad file descriptor
compilation terminated.
make[1]: *** [cmTC_4632c] Error 1
make[1]: *** Deleting file `cmTC_4632c'
make: *** [cmTC_4632c/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:354 (PROJECT)
-- Configuring incomplete, errors occurred!
}}}
--
Comment:
gcc5 seemed to work without trace mode (see #60894). However trying to
compile another simple port `pv` in trace mode fails, so this issue might
indeed have nothing to do with `mysql8`. I'm not sure if this issue is in
gcc5 or possibly in trace mode itself (base).
{{{
---> Configuring pv
Executing: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-ports_sysutils_pv/pv/work/pv-1.6.6" && ./configure
--prefix=/opt/local --mandir=/opt/local/share/man
--infodir=/opt/local/share/info
checking for gcc... /opt/local/bin/gcc-mp-5
checking for C compiler default output file name...
configure: error: in
`/opt/local/var/macports/build/_opt_local_var_macports_sources_github
.com_macports_macports-ports_sysutils_pv/pv/work/pv-1.6.6':
configure: error: C compiler cannot create executables
}}}
--
Ticket URL: <https://trac.macports.org/ticket/60893#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list