Open wrussian opened 2 years ago
C++11 support in GCC is feature complete since GCC 4.8.1 so it is either picking up a compiler from somewhere else, or there is something unusual about your build of GCC/8.2.0
Ah, I found https://stackoverflow.com/a/59809110 which indicates that it may be the drive you are building on that is causing the problem. Try changing the buildpath to another filesystem, e.g., --buildpath=/dev/shm/$USER
Wow. Many thanks for the quick reply. Impressive. I tried: eb CMake-3.13.3-GCCcore-8.2.0.eb --debug --robot --buildpath=/dev/shm/$USER but, still got:
-- Check for working CXX compiler: /opt/local/GCCcore/8.2.0/bin/g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking if compiler supports C11 _Thread_local -- Checking if compiler supports C11 _Thread_local - yes -- Checking if compiler supports needed C++17 constructs -- Checking if compiler supports needed C++17 constructs - yes -- Checking if compiler supports C++ make_unique -- Checking if compiler supports C++ make_unique - no -- Checking if compiler supports C++ unique_ptr -- Checking if compiler supports C++ unique_ptr - no CMake Error at CMakeLists.txt:92 (message): The C++ compiler does not support C++11 (e.g. std::unique_ptr).
again. Should I attach the logfile completly?
No, that's ok, there won't be much useful there I suspect, you'll need to go digging in the build directory and looking at the CMake logs to see if you can find the issue.
This thread on Gentoo might help https://bugs.gentoo.org/691544, do you have distcc
on your system?
I bundled the cmake logs into a tar archive and attached it below. From what I saw only information items are listed consistent to those in the eb logfile had been written, but I might have overlooked something. (?)
No, I don't use distcc. The build node had been set-up with help of a xCAT image and is the only 'builder' instance at the moment.
Should I try (--force) a re-installation of gcc-8.2.0?
I'm sorry. The previous log attached wasn't the one I intended to upload. Here's the correct one. Sorry for the confusion cmake-3.13.3Logs.zip .
OK, you are getting a warning from binutils
at linking that is causing the error (the warning is treated as a fatal error):
/opt/local/binutils/2.31.1-GCCcore-8.2.0/bin/ld.gold: warning: /usr/lib64/libc_nonshared.a(elf-init.oS): section .debug_str contains incorrectly aligned strings; the alignment of those strings won't be preserved
I'm afraid I don't know what to do about that since it is specific to your system. I can see a few things to try:
--filter-deps=binutils
to your command line.preconfigopts = 'export CXXFLAGS="$CXXFLAGS -fuse-ld=bfd" &&'
to the easyconfig and try again.
Source/Checks/cm_cxx_features.cmake
, as recommended in https://bugs.gentoo.org/691544#c1). I worry though that this issue might come up again whenever you use CMake. What is the OS? It's funny that it is linking against a static libc (EDIT: reason is https://stackoverflow.com/questions/66701091/what-is-the-purpose-of-libc-nonshared-a).
The OS is sles15.3 and the shared library is bundled in ~ # rpm -q --whatprovides /usr/lib64/libc_nonshared.a glibc-devel-2.31-9.3.2.x86_64 and provides for the following RPMs: ~ # rpm -q -R glibc-devel-2.31-9.3.2.x86_64 /bin/sh glibc = 2.31 libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.4)(64bit) libdl.so.2()(64bit) libdl.so.2(GLIBC_2.2.5)(64bit) libxcrypt-devel linux-kernel-headers rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(PayloadIsXz) <= 5.2-1
I checked in the easybuild installation directory. None of GCC installation provides this file. Did this indicate an erroneous set-up of the easybuild compile environment? and of course if so, what's wrong actually(?) From the stackoverflow posting (66701091), it not clear to me whether this feature, file should be local (and shows it only by accident, because of the compiler warning) or be should part of the gcc module version installation in question. (?) I'll re-force the gcc-8.2.0 after double checking the EB compile and RTE.
This doesn't have anything to do with eb, it's libc related...so directly to your OS. Rebuilding GCC won't change that. Did you try my suggestions above?
Yes, I tried it:
Source directory: /dev/shm/yadmin/CMake/3.13.3/GCCcore-8.2.0/cmake-3.13.3 Binary directory: /dev/shm/yadmin/CMake/3.13.3/GCCcore-8.2.0/cmake-3.13.3 Prefix directory: /opt/local/CMake/3.13.3-GCCcore-8.2.0 System: Linux Doing parallel make: 36
Error when bootstrapping CMake: Cannot find appropriate C compiler on this system. Please specify one using environment variable CC. See cmake_bootstrap.log for compilers attempted.
Sorry, for the second workaround I forgot to add a [BUILD] section for the preconfigopts. Anyway the build process failed with
Checking if compiler supports C++ unique_ptr - no CMake Error at CMakeLists.txt:92 (message): The C++ compiler does not support C++11 (e.g. std::unique_ptr).
again.
Hi all, trying to build CMake-3.13.3-GCCcore-8.2.0.eb (actually the error occurred while running the (this) dependency trying to build QGIS-3.4.12-foss-2019a-Python-3.7.2.eb) fails with a compilation error. C++11 feature (unique_pointer) is missing.
EB version : 4.5.3 OS version : SLES 15.3 python version : 3.6.13 eb --show-config #
Current EasyBuild configuration
(C: command line argument, D: default value, E: environment variable, F: configuration file)
# buildpath (E) = /opt/local/easybuild/build containerpath (E) = /opt/local/easybuild/containers installpath (E) = /opt/local installpath-modules (E) = /opt/local/hmns/modules installpath-software (E) = /opt/local module-naming-scheme (E) = HierarchicalMNS repositorypath (D) = /home/yadmin/.local/easybuild/ebfiles_repo robot-paths (D) = /home/yadmin/easybuild/software/EasyBuild/4.5.3/easybuild/easyconfigs sourcepath (E) = /opt/local/easybuild/sources umask (E) = 022
The build was started with command: eb CMake-3.13.3-GCCcore-8.2.0.eb --debug --robot
The error reported on the command line reads as: == FAILED: Installation ended unsuccessfully (build directory: /opt/local/easybuild/build/CMake/3.13.3/GCCcore-8.2.0): build failed (first 300 chars): cmd " ./configure --prefix=/opt/local/CMake/3.13.3-GCCcore-8.2.0 --parallel=36 --verbose -- -DCMAKE_USE_OPENSSL=ON -DCMAKE_USE_SYSTEM_ZLIB=ON -DCMAKE_USE_SYSTEM_BZIP2=ON -DCMAKE_USE_SYSTEM_CURL=ON" exited with exit code 11 and output:
Source directory: (took 1 min 14 secs) == Results of the build can be found in the log file(s) /tmp/eb-16zosa3s/easybuild-CMake-3.13.3-20220805.095021.hcqeU.log ERROR: Build of /home/yadmin/easybuild/software/EasyBuild/4.5.3/easybuild/easyconfigs/c/CMake/CMake-3.13.3-GCCcore-8.2.0.eb failed (err: 'build failed (first 300 chars): cmd " ./configure --prefix=/opt/local/CMake/3.13.3-GCCcore-8.2.0 --parallel=36 --verbose -- -DCMAKE_USE_OPENSSL=ON -DCMAKE_USE_SYSTEM_ZLIB=ON -DCMAKE_USE_SYSTEM_BZIP2=ON -DCMAKE_USE_SYSTEM_CURL=ON" exited with exit code 11 and output:\n---------------------------------------------\nSource directory:')
I attached the build log (/tmp/eb-16zosa3s/easybuild-CMake-3.13.3-20220805.095021.hcqeU.log) to the ticket. Many thanks in advance. Cheers, -Frank
easybuild-CMake-3.13.3-20220805.095021.hcqeU.log