Skip to content

Commit 9ce4d45

Browse files
author
Tor Didriksen
committed
Bug #32877062 SWITCH TO GCC 8 ON UBUNTU 18.04
On Ubuntu 18, look for CC=/usr/bin/gcc-8 and CXX=/usr/bin/g++-8 Change-Id: I5e1ae755c604c888fd6ca2d367d0d993264dfa24
1 parent a177c90 commit 9ce4d45

File tree

3 files changed

+41
-14
lines changed

3 files changed

+41
-14
lines changed

CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,22 @@ IF(MY_HOST_SYSTEM_NAME MATCHES "Linux")
243243
ENDIF()
244244
ENDIF()
245245

246+
IF(NOT LINUX_RHEL AND MY_HOST_SYSTEM_NAME MATCHES "Linux")
247+
IF(EXISTS "/etc/os-release")
248+
FILE(READ "/etc/os-release" MY_OS_RELEASE)
249+
IF(MY_OS_RELEASE MATCHES "Debian")
250+
SET(LINUX_DEBIAN 1)
251+
ELSEIF(MY_OS_RELEASE MATCHES "Ubuntu")
252+
SET(LINUX_UBUNTU 1)
253+
IF(MY_OS_RELEASE MATCHES "16.04")
254+
SET(LINUX_UBUNTU_16_04 1)
255+
ELSEIF(MY_OS_RELEASE MATCHES "18.04")
256+
SET(LINUX_UBUNTU_18_04 1)
257+
ENDIF()
258+
ENDIF()
259+
ENDIF()
260+
ENDIF()
261+
246262
IF(CMAKE_HOST_UNIX AND NOT FORCE_UNSUPPORTED_COMPILER
247263
AND NOT CMAKE_C_COMPILER AND NOT CMAKE_CXX_COMPILER)
248264
# Cannot INCLUDE(CMakeDetermineSystem) prior to PROJECT initialization below.
@@ -281,6 +297,26 @@ IF(CMAKE_HOST_UNIX AND NOT FORCE_UNSUPPORTED_COMPILER
281297
MESSAGE(FATAL_ERROR "Please set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER explicitly.")
282298
ENDIF()
283299

300+
ELSEIF(LINUX_UBUNTU_18_04)
301+
MESSAGE(STATUS "Looking for gcc-8 on Ubuntu 18.04")
302+
FIND_PROGRAM(ALTERNATIVE_GCC gcc-8
303+
NO_DEFAULT_PATH
304+
PATHS "/usr/bin")
305+
FIND_PROGRAM(ALTERNATIVE_GPP g++-8
306+
NO_DEFAULT_PATH
307+
PATHS "/usr/bin")
308+
IF (ALTERNATIVE_GCC AND ALTERNATIVE_GPP)
309+
SET(CMAKE_C_COMPILER ${ALTERNATIVE_GCC})
310+
SET(CMAKE_CXX_COMPILER ${ALTERNATIVE_GPP})
311+
MESSAGE(STATUS "Using ${ALTERNATIVE_GCC}")
312+
MESSAGE(STATUS "Using ${ALTERNATIVE_GPP}")
313+
ELSE()
314+
MESSAGE(WARNING "Could not find gcc-8")
315+
MESSAGE(FATAL_ERROR
316+
"Please do 'apt install gcc-8 g++-8'\n"
317+
"or set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER explicitly.")
318+
ENDIF()
319+
284320
ELSEIF(MY_HOST_SYSTEM_NAME MATCHES "Linux" AND
285321
EXISTS "/etc/os-release")
286322
FILE(READ "/etc/os-release" MY_OS_RELEASE)

cmake/os/Linux.cmake

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,6 @@ IF(EXISTS "/etc/fedora-release")
5252
ENDIF()
5353
ENDIF()
5454

55-
IF(EXISTS "/etc/os-release")
56-
FILE(READ "/etc/os-release" MY_OS_RELEASE)
57-
IF(MY_OS_RELEASE MATCHES "Ubuntu" AND
58-
MY_OS_RELEASE MATCHES "16.04")
59-
SET(LINUX_UBUNTU_16_04 1)
60-
ENDIF()
61-
IF(MY_OS_RELEASE MATCHES "Debian")
62-
SET(LINUX_DEBIAN 1)
63-
ELSEIF(MY_OS_RELEASE MATCHES "Ubuntu")
64-
SET(LINUX_UBUNTU 1)
65-
ENDIF()
66-
ENDIF()
67-
6855
# We require at least GCC 5.3 or Clang 3.4.
6956
IF(NOT FORCE_UNSUPPORTED_COMPILER)
7057
IF(MY_COMPILER_IS_GNU)

packaging/deb-in/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,11 @@ ENDIF()
235235

236236
# Enable various apparmor systems for Ubuntu
237237
IF(DEB_ID STREQUAL "ubuntu")
238-
SET (DEB_CONTROL_BDEPS ", dh-apparmor")
238+
IF(DEB_CODENAME STREQUAL "bionic")
239+
SET (DEB_CONTROL_BDEPS ", dh-apparmor, gcc-8, g++-8")
240+
ELSE()
241+
SET (DEB_CONTROL_BDEPS ", dh-apparmor")
242+
ENDIF()
239243
SET (DEB_RULES_INSTALL_APPARMOR "install -g root -o root -m 0644 -D debian/extra/apparmor-profile debian/tmp/etc/apparmor.d/usr.sbin.mysqld")
240244
SET (DEB_RULES_APPARMOR_LOAD "dh_apparmor -pmysql-${DEB_PRODUCTNAME}-server --profile-name=usr.sbin.mysqld")
241245
SET (DEB_INSTALL_SERVER_APPARMOR "etc/apparmor.d/usr.sbin.mysqld")

0 commit comments

Comments
 (0)