3.18.0: builkd fails with CURSES_NEED_WIDE=ON and CURSES_USE_NCURSES=ON "undefined reference to symbol 'keypad'"
camek csource tree configured with:
+ /usr/bin/cmake -D BUILD_SHARED_LIBS=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_C_FLAGS_RELEASE=-DNDEBUG -D CMAKE_CXX_FLAGS_RELEASE=-DNDEBUG -D CMAKE_Fortran_FLAGS_RELEASE=-DNDEBUG -D CMAKE_INSTALL_PREFIX=/usr -D CMAKE_NM=/usr/bin/gcc-nm -D CMAKE_RANLIB=/usr/bin/gcc-ranlib -D CMAKE_VERBOSE_MAKEFILE=ON -D INCLUDE_INSTALL_DIR=/usr/include -D LIB_INSTALL_DIR=/usr/lib64 -D LIB_SUFFIX=64 -D SHARE_INSTALL_PREFIX=/usr/share -D SYSCONF_INSTALL_DIR=/etc . -B x86_64-redhat-linux-gnu -D 'BUILD_CursesDialog=ON%{~?with_ncurses:OFF}' -D BUILD_QtDialog=ON -D BUILD_TESTING=ON -D CMAKE_AR=/usr/bin/gcc-ar -D CMAKE_BOOTSTRAP=OFF -D CMAKE_DATA_DIR=/share/cmake -D CMAKE_MAN_DIR=/share/man -D CMake_RUN_CLANG_TIDY=OFF -D CMake_RUN_IWYU=OFF -D CMAKE_USE_SYSTEM_BZIP2=ON -D CMAKE_USE_SYSTEM_CURL=ON -D CMAKE_USE_SYSTEM_EXPAT=ON -D CMAKE_USE_SYSTEM_FORM=ON -D CMAKE_USE_SYSTEM_JSONCPP=ON -D CMAKE_USE_SYSTEM_LIBARCHIVE=ON -D CMAKE_USE_SYSTEM_LIBLZMA=ON -D CMAKE_USE_SYSTEM_LIBRARIES=ON -D CMAKE_USE_SYSTEM_LIBRHASH=ON -D CMAKE_USE_SYSTEM_LIBUV=ON -D CMAKE_USE_SYSTEM_ZLIB=ON -D CMAKE_VERBOSE_MAKEFILE=1 -D CURSES_NEED_WIDE=ON -D CURSES_USE_NCURSES=ON -D SPHINX_HTML=OFF -D SPHINX_INFO=OFF -D SPHINX_MAN=ON
cmake output:
-- The C compiler identification is GNU 10.1.1
-- The CXX compiler identification is GNU 10.1.1
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/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 - yes
-- Looking for unsetenv
-- Looking for unsetenv - found
-- Looking for environ
-- Looking for environ - not found
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Checking whether wstring is available
-- Checking whether wstring is available - yes
-- Checking whether C compiler has ptrdiff_t in stddef.h
-- Checking whether C compiler has ptrdiff_t in stddef.h - yes
-- Checking whether C compiler has ssize_t in unistd.h
-- Checking whether C compiler has ssize_t in unistd.h - yes
-- Checking whether C compiler has clock_gettime
-- Checking whether C compiler has clock_gettime - yes
-- Checking whether CXX compiler has setenv
-- Checking whether CXX compiler has setenv - yes
-- Checking whether CXX compiler has unsetenv
-- Checking whether CXX compiler has unsetenv - yes
-- Checking whether CXX compiler has environ in stdlib.h
-- Checking whether CXX compiler has environ in stdlib.h - no
-- Checking whether CXX compiler has utimes
-- Checking whether CXX compiler has utimes - yes
-- Checking whether CXX compiler has utimensat
-- Checking whether CXX compiler has utimensat - yes
-- Checking whether CXX compiler struct stat has st_mtim member
-- Checking whether CXX compiler struct stat has st_mtim member - yes
-- Checking whether CXX compiler struct stat has st_mtimespec member
-- Checking whether CXX compiler struct stat has st_mtimespec member - no
-- Looking for include files sys/types.h, ifaddrs.h
-- Looking for include files sys/types.h, ifaddrs.h - found
-- Checking whether CXX compiler has rlimit64
-- Checking whether CXX compiler has rlimit64 - yes
-- Looking for C++ include execinfo.h
-- Looking for C++ include execinfo.h - found
-- Checking whether backtrace works with this C++ compiler
-- Checking whether backtrace works with this C++ compiler - yes
-- Looking for C++ include dlfcn.h
-- Looking for C++ include dlfcn.h - found
-- Checking whether dladdr works with this C++ compiler
-- Checking whether dladdr works with this C++ compiler - yes
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Checking whether cxxabi works with this C++ compiler
-- Checking whether cxxabi works with this C++ compiler - yes
-- Checking whether CXX compiler has getloadavg
-- Checking whether CXX compiler has getloadavg - yes
-- Checking whether <ext/stdio_filebuf.h> is available
-- Checking whether <ext/stdio_filebuf.h> is available - yes
-- Using system-installed BZIP2
-- Using system-installed CURL
-- Using system-installed EXPAT
-- Using system-installed FORM
-- Using system-installed JSONCPP
-- Using system-installed LIBARCHIVE
-- Using system-installed LIBLZMA
-- Using system-installed LIBRHASH
-- Using system-installed LIBUV
-- Using system-installed NGHTTP2
-- Using system-installed ZLIB
-- Using system-installed ZSTD
-- Found LibRHash: /usr/lib64/librhash.so
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.11")
-- Found CURL: /usr/lib64/libcurl.so (found version "7.71.1")
-- Found EXPAT: /usr/lib64/libexpat.so (found version "2.2.9")
-- Found LibArchive: /usr/lib64/libarchive.so (found suitable version "3.4.3", minimum required is "3.3.3")
-- Found JsonCpp: /usr/lib64/libjsoncpp.so (found suitable version "1.9.3", minimum required is "1.4.1")
-- Found LibUV: /usr/lib64/libuv.so (found suitable version "1.38.1", minimum required is "1.10.0")
-- Looking for wsyncup in /usr/lib64/libcurses.so
-- Looking for wsyncup in /usr/lib64/libcurses.so - not found
-- Looking for wsyncup in /usr/lib64/libncursesw.so
-- Looking for wsyncup in /usr/lib64/libncursesw.so - found
-- Looking for cbreak in /usr/lib64/libncursesw.so
-- Looking for cbreak in /usr/lib64/libncursesw.so - not found
-- Found Curses: /usr/lib64/libncursesw.so
-- Looking for elf.h
-- Looking for elf.h - found
-- Looking for use_default_colors
-- Looking for use_default_colors - found
-- Looking for a Fortran compiler
-- Looking for a Fortran compiler - /usr/bin/f95
-- Performing Test run_pic_test
-- Performing Test run_pic_test - Success
-- Performing Test run_inlines_hidden_test
-- Performing Test run_inlines_hidden_test - Success
-- Configuring done
-- Generating done
Build fails with:
[ 79%] Linking CXX executable ../../bin/ccmake
cd /home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/x86_64-redhat-linux-gnu/Source/CursesDialog && /usr/bin/cmake -E cmake_link_script CMakeFiles/ccmake.dir/link.txt --verbose=1
/usr/bin/g++ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -flto=auto -flto-partition=none -O2 -g -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -flto=auto -flto-partition=none -fuse-linker-plugin CMakeFiles/ccmake.dir/ccmake.cxx.o CMakeFiles/ccmake.dir/cmCursesBoolWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesCacheEntryComposite.cxx.o CMakeFiles/ccmake.dir/cmCursesColor.cxx.o CMakeFiles/ccmake.dir/cmCursesDummyWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesFilePathWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesForm.cxx.o CMakeFiles/ccmake.dir/cmCursesLabelWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesLongMessageForm.cxx.o CMakeFiles/ccmake.dir/cmCursesMainForm.cxx.o CMakeFiles/ccmake.dir/cmCursesOptionsWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesPathWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesStringWidget.cxx.o CMakeFiles/ccmake.dir/cmCursesWidget.cxx.o -o ../../bin/ccmake ../libCMakeLib.a /usr/lib64/libformw.so /usr/lib64/libncursesw.so ../kwsys/libcmsys.a -ldl ../../Utilities/std/libcmstd.a /usr/lib64/libexpat.so /usr/lib64/libz.so /usr/lib64/libarchive.so /usr/lib64/libcurl.so /usr/lib64/libjsoncpp.so /usr/lib64/libuv.so /usr/lib64/librhash.so -lpthread
/home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/Source/LexerParser/cmExprLexer.cxx:690: warning: type ‘struct yyguts_t’ violates the C++ One Definition Rule [-Wodr]
690 | struct yyguts_t
|
/home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/Source/LexerParser/cmFortranLexer.cxx:869: note: a different type is defined in another translation unit
869 | struct yyguts_t
|
/home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/Source/LexerParser/cmExprLexer.cxx:694: note: the first difference of corresponding definitions is field ‘yyextra_r’
694 | YY_EXTRA_TYPE yyextra_r;
|
/home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/Source/LexerParser/cmFortranLexer.cxx:873: note: a field of same name but different type is defined in another translation unit
873 | YY_EXTRA_TYPE yyextra_r;
|
/home/tkloczko/rpmbuild/BUILD/cmake-3.18.0/Source/cmExprParserHelper.h:13:7: note: type name ‘cmExprParserHelper’ should match type name ‘cmFortranParser_s’
13 | class cmExprParserHelper
| ^
/usr/bin/ld: ccmake.lto.o: undefined reference to symbol 'keypad'
/usr/bin/ld: /usr/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status