#1 Build failure under Debian Stretch

已关闭
alyssa7 年之前创建 · 7 条评论
alyssa@debian-stable:~/rainynite$ ./update_and_build.sh 
Usage: ./update_and_build.sh <cmake configure flags>
Updating...
Already up-to-date.
Build fmt...
~/rainynite/fmt ~/rainynite
-- CMake version: 3.7.2
-- Version: 4.0.1
-- Build type: Release
-- Target 'doc' disabled (requires doxygen)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alyssa/rainynite/fmt/build
ninja: no work to do.
[0/1] Running tests...
Test project /home/alyssa/rainynite/fmt/build
      Start  1: assert-test
 1/14 Test  #1: assert-test ......................   Passed    0.00 sec
      Start  2: container-test
 2/14 Test  #2: container-test ...................   Passed    0.00 sec
      Start  3: gtest-extra-test
 3/14 Test  #3: gtest-extra-test .................   Passed    0.00 sec
      Start  4: format-test
 4/14 Test  #4: format-test ......................   Passed    0.02 sec
      Start  5: format-impl-test
 5/14 Test  #5: format-impl-test .................   Passed    0.00 sec
      Start  6: ostream-test
 6/14 Test  #6: ostream-test .....................   Passed    0.00 sec
      Start  7: printf-test
 7/14 Test  #7: printf-test ......................   Passed    0.00 sec
      Start  8: string-test
 8/14 Test  #8: string-test ......................   Passed    0.00 sec
      Start  9: time-test
 9/14 Test  #9: time-test ........................   Passed    0.00 sec
      Start 10: util-test
10/14 Test #10: util-test ........................   Passed    0.00 sec
      Start 11: macro-test
11/14 Test #11: macro-test .......................   Passed    0.00 sec
      Start 12: custom-formatter-test
12/14 Test #12: custom-formatter-test ............   Passed    0.00 sec
      Start 13: posix-mock-test
13/14 Test #13: posix-mock-test ..................   Passed    0.00 sec
      Start 14: posix-test
14/14 Test #14: posix-test .......................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 14

Total Test time (real) =   0.06 sec
[sudo] password for alyssa: 
[0/1] Install the project...
-- Install configuration: "Release"
-- Up-to-date: /usr/local/lib/cmake/fmt/fmt-config.cmake
-- Up-to-date: /usr/local/lib/cmake/fmt/fmt-config-version.cmake
-- Up-to-date: /usr/local/lib/cmake/fmt/fmt-targets.cmake
-- Installing: /usr/local/lib/cmake/fmt/fmt-targets-release.cmake
-- Up-to-date: /usr/local/lib/libfmt.so.4.0.1
-- Up-to-date: /usr/local/lib/libfmt.so.4
-- Up-to-date: /usr/local/lib/libfmt.so
-- Up-to-date: /usr/local/include/fmt/container.h
-- Up-to-date: /usr/local/include/fmt/format.h
-- Up-to-date: /usr/local/include/fmt/format.cc
-- Up-to-date: /usr/local/include/fmt/ostream.h
-- Up-to-date: /usr/local/include/fmt/ostream.cc
-- Up-to-date: /usr/local/include/fmt/printf.h
-- Up-to-date: /usr/local/include/fmt/printf.cc
-- Up-to-date: /usr/local/include/fmt/string.h
-- Up-to-date: /usr/local/include/fmt/time.h
-- Up-to-date: /usr/local/include/fmt/posix.h
~/rainynite
Building lib2geom...
~/rainynite/lib2geom ~/rainynite
-- Boost version: 1.62.0
-- gtk+-2.0 Includes, Compile and Link Flags: NOT FOUND
-- gtkmm-2.4 Includes, Compile and Link Flags: NOT FOUND
CMake Warning (dev) at CMakeScripts/Config2GeomDepends.cmake:20 (IF):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "cairomm-1.0_FOUND" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  CMakeLists.txt:12 (INCLUDE)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- cairomm-1.0 Includes, Compile and Link Flags: FOUND
-- cairo Includes, Compile and Link Flags: FOUND
-- gsl Includes, Compile and Link Flags: NOT FOUND
-- pycairo Includes, Compile and Link Flags: NOT FOUND
-- Configuring done
CMake Error at src/toys/CMakeLists.txt:130 (ADD_LIBRARY):
  Target "lpetoy" links to item " -lcairo" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/toys/CMakeLists.txt:134 (ADD_EXECUTABLE):
  Target "lpe-test" links to item " -lcairo" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


CMake Error at src/toys/CMakeLists.txt:130 (ADD_LIBRARY):
  Target "lpetoy" links to item " -lcairo" which has leading or trailing
  whitespace.  This is now an error according to policy CMP0004.


-- Generating done
-- Build files have been written to: /home/alyssa/rainynite/lib2geom/build
ninja: error: loading 'build.ninja': No such file or directory
alyssa@debian-stable:~/rainynite$ screenfetch
         _,met$$$$$gg.           alyssa@debian-stable
      ,g$$$$$$$$$$$$$$$P.        OS: Debian 9.1 stretch
    ,g$$P""       """Y$$.".      Kernel: x86_64 Linux 4.9.0-3-amd64
   ,$$P'              `$$$.      Uptime: 15m
  ',$$P       ,ggs.     `$$b:    Packages: 1515
  `d$$'     ,$P"'   .    $$$     Shell: bash 4.4.12
   $$P      d$'     ,    $$P     Resolution: 1440x900
   $$:      $$.   -    ,d$$'     DE: XFCE
   $$\;      Y$b._   _,d$P'      WM: Xfwm4
   Y$$.    `.`"Y$$$$P"'          WM Theme: Arc-Darker
   `$$b      "-.__               GTK Theme: Arc-Darker [GTK2]
    `Y$$                         Icon Theme: Adwaita
     `Y$$.                       Font: Cantarell 10
       `$$b.                     CPU: Intel Core i5-4250U CPU @ 2.6GHz
         `Y$$b.                  RAM: 689MiB / 3896MiB
            `"Y$b._             
                `""""           
                                
alyssa@debian-stable:~/rainynite$ 
``` alyssa@debian-stable:~/rainynite$ ./update_and_build.sh Usage: ./update_and_build.sh <cmake configure flags> Updating... Already up-to-date. Build fmt... ~/rainynite/fmt ~/rainynite -- CMake version: 3.7.2 -- Version: 4.0.1 -- Build type: Release -- Target 'doc' disabled (requires doxygen) -- Configuring done -- Generating done -- Build files have been written to: /home/alyssa/rainynite/fmt/build ninja: no work to do. [0/1] Running tests... Test project /home/alyssa/rainynite/fmt/build Start 1: assert-test 1/14 Test #1: assert-test ...................... Passed 0.00 sec Start 2: container-test 2/14 Test #2: container-test ................... Passed 0.00 sec Start 3: gtest-extra-test 3/14 Test #3: gtest-extra-test ................. Passed 0.00 sec Start 4: format-test 4/14 Test #4: format-test ...................... Passed 0.02 sec Start 5: format-impl-test 5/14 Test #5: format-impl-test ................. Passed 0.00 sec Start 6: ostream-test 6/14 Test #6: ostream-test ..................... Passed 0.00 sec Start 7: printf-test 7/14 Test #7: printf-test ...................... Passed 0.00 sec Start 8: string-test 8/14 Test #8: string-test ...................... Passed 0.00 sec Start 9: time-test 9/14 Test #9: time-test ........................ Passed 0.00 sec Start 10: util-test 10/14 Test #10: util-test ........................ Passed 0.00 sec Start 11: macro-test 11/14 Test #11: macro-test ....................... Passed 0.00 sec Start 12: custom-formatter-test 12/14 Test #12: custom-formatter-test ............ Passed 0.00 sec Start 13: posix-mock-test 13/14 Test #13: posix-mock-test .................. Passed 0.00 sec Start 14: posix-test 14/14 Test #14: posix-test ....................... Passed 0.00 sec 100% tests passed, 0 tests failed out of 14 Total Test time (real) = 0.06 sec [sudo] password for alyssa: [0/1] Install the project... -- Install configuration: "Release" -- Up-to-date: /usr/local/lib/cmake/fmt/fmt-config.cmake -- Up-to-date: /usr/local/lib/cmake/fmt/fmt-config-version.cmake -- Up-to-date: /usr/local/lib/cmake/fmt/fmt-targets.cmake -- Installing: /usr/local/lib/cmake/fmt/fmt-targets-release.cmake -- Up-to-date: /usr/local/lib/libfmt.so.4.0.1 -- Up-to-date: /usr/local/lib/libfmt.so.4 -- Up-to-date: /usr/local/lib/libfmt.so -- Up-to-date: /usr/local/include/fmt/container.h -- Up-to-date: /usr/local/include/fmt/format.h -- Up-to-date: /usr/local/include/fmt/format.cc -- Up-to-date: /usr/local/include/fmt/ostream.h -- Up-to-date: /usr/local/include/fmt/ostream.cc -- Up-to-date: /usr/local/include/fmt/printf.h -- Up-to-date: /usr/local/include/fmt/printf.cc -- Up-to-date: /usr/local/include/fmt/string.h -- Up-to-date: /usr/local/include/fmt/time.h -- Up-to-date: /usr/local/include/fmt/posix.h ~/rainynite Building lib2geom... ~/rainynite/lib2geom ~/rainynite -- Boost version: 1.62.0 -- gtk+-2.0 Includes, Compile and Link Flags: NOT FOUND -- gtkmm-2.4 Includes, Compile and Link Flags: NOT FOUND CMake Warning (dev) at CMakeScripts/Config2GeomDepends.cmake:20 (IF): Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when unquoted. Run "cmake --help-policy CMP0054" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Quoted variables like "cairomm-1.0_FOUND" will no longer be dereferenced when the policy is set to NEW. Since the policy is not set the OLD behavior will be used. Call Stack (most recent call first): CMakeLists.txt:12 (INCLUDE) This warning is for project developers. Use -Wno-dev to suppress it. -- cairomm-1.0 Includes, Compile and Link Flags: FOUND -- cairo Includes, Compile and Link Flags: FOUND -- gsl Includes, Compile and Link Flags: NOT FOUND -- pycairo Includes, Compile and Link Flags: NOT FOUND -- Configuring done CMake Error at src/toys/CMakeLists.txt:130 (ADD_LIBRARY): Target "lpetoy" links to item " -lcairo" which has leading or trailing whitespace. This is now an error according to policy CMP0004. CMake Error at src/toys/CMakeLists.txt:134 (ADD_EXECUTABLE): Target "lpe-test" links to item " -lcairo" which has leading or trailing whitespace. This is now an error according to policy CMP0004. CMake Error at src/toys/CMakeLists.txt:130 (ADD_LIBRARY): Target "lpetoy" links to item " -lcairo" which has leading or trailing whitespace. This is now an error according to policy CMP0004. -- Generating done -- Build files have been written to: /home/alyssa/rainynite/lib2geom/build ninja: error: loading 'build.ninja': No such file or directory alyssa@debian-stable:~/rainynite$ screenfetch _,met$$$$$gg. alyssa@debian-stable ,g$$$$$$$$$$$$$$$P. OS: Debian 9.1 stretch ,g$$P"" """Y$$.". Kernel: x86_64 Linux 4.9.0-3-amd64 ,$$P' `$$$. Uptime: 15m ',$$P ,ggs. `$$b: Packages: 1515 `d$$' ,$P"' . $$$ Shell: bash 4.4.12 $$P d$' , $$P Resolution: 1440x900 $$: $$. - ,d$$' DE: XFCE $$\; Y$b._ _,d$P' WM: Xfwm4 Y$$. `.`"Y$$$$P"' WM Theme: Arc-Darker `$$b "-.__ GTK Theme: Arc-Darker [GTK2] `Y$$ Icon Theme: Adwaita `Y$$. Font: Cantarell 10 `$$b. CPU: Intel Core i5-4250U CPU @ 2.6GHz `Y$$b. RAM: 689MiB / 3896MiB `"Y$b._ `"""" alyssa@debian-stable:~/rainynite$ ```
caryoscelus 评论于 7 年之前
所有者

Well, this isn't exactly RainyNite problem. Though i suppose there's still a problem that lib2geom toys aren't completely disabled.

Anyway, will fix lib2geom build files now so that even if they fail to build they fail with a better error message.

Well, this isn't exactly RainyNite problem. Though i suppose there's still a problem that lib2geom toys aren't completely disabled. Anyway, will fix lib2geom build files now so that even if they fail to build they fail with a better error message.
caryoscelus 评论于 7 年之前
所有者

Oh, and by the way, build will not work with CMake 3.7. At least 3.8 is required for CXX_STANDARD=17 to be allowed (see https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html). It is of course possible to disable that check and pass -std=c++1z manually and if your compiler supports required features it will work. But i would suggest trying to install cmake from testing first.

Oh, and by the way, build will not work with CMake 3.7. At least 3.8 is required for CXX_STANDARD=17 to be allowed (see https://cmake.org/cmake/help/v3.8/prop_tgt/CXX_STANDARD.html). It is of course possible to disable that check and pass `-std=c++1z` manually and if your compiler supports required features it will work. But i would suggest trying to install cmake from testing first.
caryoscelus 在代码提交 7 年之前 中引用了该工单
caryoscelus 评论于 7 年之前
所有者

Ok, so now (after adding some conditional compilations and cleanup) core can be built on Stretch. To do that, you'll only need cmake and clang-5.0 from Buster (g++ 6.3 doesn't have enough support and 7 is not easily installable). They can be installed without touching most of the system.

Will check studio tomorrow.

Ok, so now (after adding some conditional compilations and cleanup) core can be built on Stretch. To do that, you'll only need `cmake` and `clang-5.0` from Buster (g++ 6.3 doesn't have enough support and 7 is not easily installable). They can be installed without touching most of the system. Will check studio tomorrow.
caryoscelus 评论于 7 年之前
所有者

And of course it doesn't work: old moc doesn't like namespace a::b notation and there doesn't seem to be an easy way to install newer moc without risk of making large part of system testing.

So, possible options:

And of course it doesn't work: old moc doesn't like `namespace a::b` notation and there doesn't seem to be an easy way to install newer moc without risk of making large part of system testing. So, possible options: - try to patch old qt with https://github.com/qt/qtbase/commit/5675334b6e22786195fe69a1fc1f40c49aaea37c#diff-7680dae0477922e25856c03d1058d2b7 and hope that it works - try to use https://github.com/woboq/moc-ng and hope it works - make a hack script that replaces offending code and run it on systems with outdated moc
caryoscelus 评论于 7 年之前
所有者

Ok, building works with a hacky script, but critical features do not work :/

Ok, building works with a hacky script, but critical features do not work :/
caryoscelus 评论于 7 年之前
所有者

Actually, it works, it's just that in Gtk environment Qt widgets act differently (#56).

So, building kinda works now, i only have to add script into build process. The other problem would be that as of now it modifies sources (or, rather, headers) in-place, so committing them might be a little headache.

Actually, it works, it's just that in Gtk environment Qt widgets act differently (https://notabug.org/caryoscelus/rainynite-studio/issues/56). So, building kinda works now, i only have to add script into build process. The other problem would be that as of now it modifies sources (or, rather, headers) in-place, so committing them might be a little headache.
caryoscelus 评论于 7 年之前
所有者

Added source-fixing script into build process, so building using update_and_build.sh (or build_all.sh if you prefer to update sub-repos yourself) should work now. Please test if it works for you.

Added source-fixing script into build process, so building using `update_and_build.sh` (or `build_all.sh` if you prefer to update sub-repos yourself) should work now. Please test if it works for you.
caryoscelus 在代码提交 7 年之前 中引用了该工单
登录 并参与到对话中。
未选择标签
未选择里程碑
未指派成员
2 名参与者
正在加载...
取消
保存
这个人很懒,什么都没留下。