Bug#900240: cmake: FTBFS on hurd-i386
Hello, in https://gitlab.kitware.com/cmake/cmake/issues/18337#note_456628 CMake upstream suggested to use --system-libuv as additional bootstrap argument to use external libuv. Maybe that would make the patch obsolete and the Debian rules more robust because libuv versions in Debian might be better adjusted to all of its tartet platforms? Thanks, Gregor
Bug#900240: cmake: FTBFS on hurd-i386
Hello, Svante Signell, le dim. 12 août 2018 12:59:55 +0200, a ecrit: > I've been in contact with #cmake. The problem here is that file reports > ELF 32-bit LSB pie executable, > but the comparison in Modules/CPackDeb.cmake expects an output of > ELF 32-bit LSB shared object > in its check: > if(_FILE MATCHES "ELF.*shared object") Here is the rule for that: >16 leshort 3 ${x?pie executable:shared object}, and indeed, libtest_lib.so.0.8 have +x, so that's where the difference comes from and what needs to be fixed. Samuel
Bug#900240: cmake: FTBFS on hurd-i386
Hello, Petter Reinholdtsen, le sam. 11 août 2018 21:09:37 +0200, a ecrit: > Btw, I had a look at the patch, and perhaps it is better to not depend on > lstat(), > as it fail in files like /proc/*/exe, where size is always 0. Here is an > alternative proposal: Actually we need to push this to libuv itself. Once it's accepted there, we can update cmake's copy. Could you have a look at doing it? Samuel
Bug#900240: cmake: FTBFS on hurd-i386
On Sat, 2018-08-11 at 21:09 +0200, Petter Reinholdtsen wrote: > [Svante Signell] > > Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached > > is > > the patch path_max.patch also provided by the first attachment in > > this > > bug #900240, there named path_max.path. With the attached patch and > > the > > upcoming bug report on linux-any, providing > > Source_Modules_FindLibUV.cmake.diff cmake builds fine. > > I tested the patch, and it seem to solve the problem. I hope this > issue > can be fixed soon, as the missing cmake is blocking a lot of builds. > > But one of the 496 tests failed: > > Actual stderr: > >actual-err> ;/home/pere/cmake- > 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build- > soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0.8: >actual-err> linked, > BuildID[sha1]=dd4771c7b0eef02c878a458492e8b02797b12a0a, with >actual-err> debug_info, not stripped >actual-err> >actual-err> '; readelf " >actual-err> >actual-err> " >actual-err> Call Stack (most recent call first): >actual-err> /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake: > 9 (verifyDebControl) >actual-err> /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake:129 (include) > > Call Stack (most recent call first): > /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:164 > (run_cmake) > /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:98 > (run_cmake_command) > /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:123 > (run_cpack_test_common_) > /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/RunCMakeTest.cmake:16 > (run_cpack_test_subtests) > > > -- GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type - PASSED > -- GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type-Build - > PASSED > CMake Error at /home/pere/cmake- > 3.12.1/Tests/RunCMake/RunCMake.cmake:150 (message): > DEB/GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type - FAILED: > > Result is [1], not [0]. > > stderr does not match that expected. > > Command was: > >command> "/home/pere/cmake-3.12.1/Build/bin/cmake" "- > DRunCMake_TEST=GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type" > "-DRunCMake_TEST_FILE_PREFIX=GENERATE_SHLIBS" "- > DRunCMake_SUBTEST_SUFFIX=soversion_zero" "-DGENERATOR_TYPE=DEB" "- > DPACKAGING_TYPE=COMPONENT" "-Dsrc_dir=/home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack" "-Dbin_dir=/home/pere/cmake- > 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build- > soversion_zero-subtest" "-Dconfig_file=/home/pere/cmake- > 3.12.1/Build/Tests/RunCMake/CPack/conf/DEB_config.cmake" "-P" > "/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake" > > Actual stdout: > >actual-out> > > Expected stderr to match: > >expect-err> ^$ > > Actual stderr: > >actual-err> CMake Error at /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/DEB/Helpers.cmake:144 (message): >actual-err> Expected Debian control file does not exist: > 'shlibs' Extra: install files >actual-err> '/home/pere/cmake- > 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build- > soversion_zero-subtest/data_shlibs/usr/foo/libtest_lib.so: >actual-err> symbolic link to libtest_lib.so.0 >actual-err> >actual-err> >actual-err> ;/home/pere/cmake- > 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build- > soversion_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0: >actual-err> ELF 32-bit LSB pie executable, Intel 80386, version > 1 (SYSV), dynamically >actual-err> linked, > BuildID[sha1]=38ff16f7199f1977d05e2eed1242c7c88a383db6, with >actual-err> debug_info, not stripped >actual-err> >actual-err> '; readelf " >actual-err> >actual-err> " >actual-err> Call Stack (most recent call first): >actual-err> /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake: > 9 (verifyDebControl) >actual-err> /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake:129 (include) > > Call Stack (most recent call first): > /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:164 > (run_cmake) > /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:98 > (run_cmake_command) > /home/pere/cmake- > 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:123 > (run_cpack_test_common_) > /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/RunCMakeTest.cmake:16 > (run_cpack_test_subtests) > > > -- GENERATE_SHLIBS_LDCONFIG-COMPONENT-type - PASSED > -- GENERATE_SHLIBS_LDCONFIG-COMPONENT-type-Build - PASSED > CMake Error at /home/pere/cmake- > 3.12.1/Tests/RunCMake/RunCMake.cmake:150 (message): > DEB/GENERATE_SHLIBS_LDCONFIG-COMPONENT-type - FAILED: > > Result is [1], not [0]. > > stderr does not match that expected. > > Command was: > >command> "/home/pere/cmake-3.12.1/Build/bin/cmake" "- >
Bug#900240: cmake: FTBFS on hurd-i386
[Svante Signell] > Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached is > the patch path_max.patch also provided by the first attachment in this > bug #900240, there named path_max.path. With the attached patch and the > upcoming bug report on linux-any, providing > Source_Modules_FindLibUV.cmake.diff cmake builds fine. I tested the patch, and it seem to solve the problem. I hope this issue can be fixed soon, as the missing cmake is blocking a lot of builds. But one of the 496 tests failed: 426/496 Test #426: RunCMake.CPack_DEB .***Failed 136.49 sec -- CUSTOM_NAMES-COMPONENT-type - PASSED -- CUSTOM_NAMES-COMPONENT-type-Build - PASSED -- DEB/CUSTOM_NAMES-COMPONENT-type - PASSED -- DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-MONOLITHIC-type - PASSED -- DEB/DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-MONOLITHIC-type - PASSED -- DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-COMPONENT-type - PASSED -- DEB/DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-COMPONENT-type - PASSED -- DEFAULT_PERMISSIONS-CPACK_var_set-subtest-MONOLITHIC-type - PASSED -- DEB/DEFAULT_PERMISSIONS-CPACK_var_set-subtest-MONOLITHIC-type - PASSED -- DEFAULT_PERMISSIONS-CPACK_var_set-subtest-COMPONENT-type - PASSED -- DEB/DEFAULT_PERMISSIONS-CPACK_var_set-subtest-COMPONENT-type - PASSED -- DEFAULT_PERMISSIONS-both_set-subtest-MONOLITHIC-type - PASSED -- DEB/DEFAULT_PERMISSIONS-both_set-subtest-MONOLITHIC-type - PASSED -- DEFAULT_PERMISSIONS-both_set-subtest-COMPONENT-type - PASSED -- DEB/DEFAULT_PERMISSIONS-both_set-subtest-COMPONENT-type - PASSED -- DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-MONOLITHIC-type - PASSED -- DEB/DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-MONOLITHIC-type - PASSED -- DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-COMPONENT-type - PASSED -- DEB/DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-COMPONENT-type - PASSED -- DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-MONOLITHIC-type - PASSED -- DEB/DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-MONOLITHIC-type - PASSED -- DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-COMPONENT-type - PASSED -- DEB/DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-COMPONENT-type - PASSED -- DEPENDENCIES-COMPONENT-type - PASSED -- DEPENDENCIES-COMPONENT-type-Build - PASSED -- DEB/DEPENDENCIES-COMPONENT-type - PASSED -- EMPTY_DIR-MONOLITHIC-type - PASSED -- EMPTY_DIR-MONOLITHIC-type-Build - PASSED -- DEB/EMPTY_DIR-MONOLITHIC-type - PASSED -- EMPTY_DIR-COMPONENT-type - PASSED -- EMPTY_DIR-COMPONENT-type-Build - PASSED -- DEB/EMPTY_DIR-COMPONENT-type - PASSED -- VERSION-MONOLITHIC-type - PASSED -- DEB/VERSION-MONOLITHIC-type - PASSED -- VERSION-COMPONENT-type - PASSED -- DEB/VERSION-COMPONENT-type - PASSED -- EXTRA-COMPONENT-type - PASSED -- DEB/EXTRA-COMPONENT-type - PASSED -- GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type - PASSED -- GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type-Build - PASSED CMake Error at /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:150 (message): DEB/GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type - FAILED: Result is [1], not [0]. stderr does not match that expected. Command was: command> "/home/pere/cmake-3.12.1/Build/bin/cmake" "-DRunCMake_TEST=GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type" "-DRunCMake_TEST_FILE_PREFIX=GENERATE_SHLIBS" "-DRunCMake_SUBTEST_SUFFIX=soversion_not_zero" "-DGENERATOR_TYPE=DEB" "-DPACKAGING_TYPE=COMPONENT" "-Dsrc_dir=/home/pere/cmake-3.12.1/Tests/RunCMake/CPack" "-Dbin_dir=/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest" "-Dconfig_file=/home/pere/cmake-3.12.1/Build/Tests/RunCMake/CPack/conf/DEB_config.cmake" "-P" "/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake" Actual stdout: actual-out> Expected stderr to match: expect-err> ^$ Actual stderr: actual-err> CMake Error at /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/DEB/Helpers.cmake:144 (message): actual-err> Expected Debian control file does not exist: 'shlibs' Extra: install files actual-err> '/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so: actual-err> symbolic link to libtest_lib.so.0.8 actual-err> actual-err> actual-err> ;/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0.8: actual-err> ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically actual-err> linked, BuildID[sha1]=dd4771c7b0eef02c878a458492e8b02797b12a0a, with actual-err> debug_info, not stripped actual-err> actual-err> '; readelf " actual-err> actual-err> " actual-err> Call Stack (most recent call first): actual-err> /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake:9 (verifyDebControl) actual-err>
Bug#900240: cmake: FTBFS on hurd-i386
retitle 900240 cmake: FTBFS on hurd-i386 due to a PATH_MAX issue thanks Hello, Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached is the patch path_max.patch also provided by the first attachment in this bug #900240, there named path_max.path. With the attached patch and the upcoming bug report on linux-any, providing Source_Modules_FindLibUV.cmake.diff cmake builds fine. Thanks!Index: cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c === --- cmake-3.11.2.orig/Utilities/cmlibuv/src/unix/fs.c +++ cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c @@ -427,6 +427,7 @@ static ssize_t uv__fs_scandir(uv_fs_t* r } +#if _POSIX_VERSION < 200809L static ssize_t uv__fs_pathmax_size(const char* path) { ssize_t pathmax; @@ -442,12 +443,19 @@ static ssize_t uv__fs_pathmax_size(const return pathmax; } +#endif static ssize_t uv__fs_readlink(uv_fs_t* req) { ssize_t len; char* buf; + struct stat st; + int ret; - len = uv__fs_pathmax_size(req->path); + ret = lstat(req->path, ); + if (ret != 0) { +return -1; + } + len = st.st_size; buf = uv__malloc(len + 1); if (buf == NULL) { @@ -474,9 +482,16 @@ static ssize_t uv__fs_readlink(uv_fs_t* } static ssize_t uv__fs_realpath(uv_fs_t* req) { - ssize_t len; char* buf; +#if _POSIX_VERSION >= 200809L + buf = realpath(req->path, NULL); + if (buf == NULL) { +return -1; + } +#else + ssize_t len; + len = uv__fs_pathmax_size(req->path); buf = uv__malloc(len + 1); @@ -489,6 +504,7 @@ static ssize_t uv__fs_realpath(uv_fs_t* uv__free(buf); return -1; } +#endif req->ptr = buf;
Bug#900240: cmake: FTBFS on hurd-i386: please update cmlibuv
Package: cmake Version: 3.11.2-1 Severity: important Tags: patch Hello, Once libuv1 will be fixed (#881882), cmake will still FTBFS, because the cmake build still builds the embedded libuv. The attached patch updates it to the patch applied to libuv1, to fix the FTBFS. Samuel -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.15.0-3-amd64 (SMP w/4 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages cmake depends on: ii cmake-data3.11.2-1 ii libarchive13 3.2.2-3.1 ii libc6 2.27-3 ii libcurl3 7.58.0-2 ii libexpat1 2.2.5-3 ii libgcc1 1:8.1.0-3 ii libjsoncpp1 1.7.4-3 ii librhash0 1.3.6-2 ii libstdc++68.1.0-3 ii libuv11.18.0-3 ii procps2:3.3.14-1+b1 ii zlib1g1:1.2.11.dfsg-1 Versions of packages cmake recommends: ii gcc 4:7.2.0-1d1 ii make 4.1-9.1 Versions of packages cmake suggests: pn cmake-doc ii ninja-build 1.8.2-1 -- no debconf information -- Samuel FYLG> Tiens, vlà une URL qui va bien : FYLG> ftp://127.0.0.1/WaReZ/NiouZeS/WinDoZe/NeWSMoNGeR/SuPeR c'est gentil sauf que l'adresse ne fonctionne pas sa me fais une erreur -+- Furtif in Guide du Neuneu Usenet : -+- Index: cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c === --- cmake-3.11.2.orig/Utilities/cmlibuv/src/unix/fs.c +++ cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c @@ -427,6 +427,7 @@ static ssize_t uv__fs_scandir(uv_fs_t* r } +#if _POSIX_VERSION < 200809L static ssize_t uv__fs_pathmax_size(const char* path) { ssize_t pathmax; @@ -442,12 +443,19 @@ static ssize_t uv__fs_pathmax_size(const return pathmax; } +#endif static ssize_t uv__fs_readlink(uv_fs_t* req) { ssize_t len; char* buf; + struct stat st; + int ret; - len = uv__fs_pathmax_size(req->path); + ret = lstat(req->path, ); + if (ret != 0) { +return -1; + } + len = st.st_size; buf = uv__malloc(len + 1); if (buf == NULL) { @@ -474,9 +482,16 @@ static ssize_t uv__fs_readlink(uv_fs_t* } static ssize_t uv__fs_realpath(uv_fs_t* req) { - ssize_t len; char* buf; +#if _POSIX_VERSION >= 200809L + buf = realpath(req->path, NULL); + if (buf == NULL) { +return -1; + } +#else + ssize_t len; + len = uv__fs_pathmax_size(req->path); buf = uv__malloc(len + 1); @@ -489,6 +504,7 @@ static ssize_t uv__fs_realpath(uv_fs_t* uv__free(buf); return -1; } +#endif req->ptr = buf;