Opened 5 years ago
Closed 5 years ago
#15584 closed bug (invalid)
Build (compilation; C source syntax error) error under Linux
Reported by: | mounty | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | - General | Version: | R1/Development |
Keywords: | C++ syntax build error | Cc: | |
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
Attempting to build hrev53658 on Gentoo Linux with gcc-9.2.0:
$ ~/haiku/buildtools/jam/bin.linuxx86/jam -q @nightly-disk [...] CreateContainerMakeDirectoriesScript1 objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_x86.hpkg/scripts/haiku.package-make-dirs InitScript1 objects/haiku/x86_gcc2/packaging/packages_build/regular/hpkg_-haiku_x86.hpkg/scripts/haiku.package-copy-files C++ objects/haiku/x86/release/system/libroot/os/find_directory.o In file included from build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/bits/move.h:55:0, from build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/bits/nested_exception.h:40, from build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/exception:144, from build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/new:40, from ../../../../home/mounty/haiku/source/headers/os/support/StackOrHeapArray.h:9, from ../../../../home/mounty/haiku/source/src/system/libroot/os/find_directory.cpp:22: build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/type_traits:921:32: error: there are no arguments to '__is_constructible' that depend on a template parameter, so a declaration of '__is_constructible' must be available [-fpermissive] : public __bool_constant<__is_constructible(_Tp, _Args...)> ^~~~~~~~~~~~~~~~~~ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/type_traits:921:32: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/type_traits:921:65: error: template argument 1 is invalid : public __bool_constant<__is_constructible(_Tp, _Args...)> ^ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/type_traits:1049:32: error: there are no arguments to '__is_assignable' that depend on a template parameter, so a declaration of '__is_assignable' must be available [-fpermissive] : public __bool_constant<__is_assignable(_Tp, _Up)> ^~~~~~~~~~~~~~~ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/type_traits:1049:57: error: template argument 1 is invalid : public __bool_constant<__is_assignable(_Tp, _Up)> ^ In file included from build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/algorithm:60:0, from ../../../../home/mounty/haiku/source/src/system/libroot/os/PathBuffer.h:11, from ../../../../home/mounty/haiku/source/src/system/libroot/os/find_directory.cpp:40: build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:307:35: error: there are no arguments to '__integer_pack' that depend on a template parameter, so a declaration of '__integer_pack' must be available [-fpermissive] using __type = _Index_tuple<__integer_pack(_Num)...>; ^~~~~~~~~~~~~~ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:307:55: error: expansion pattern '__integer_pack(_Num)' contains no argument packs using __type = _Index_tuple<__integer_pack(_Num)...>; ^~~ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:307:58: error: template argument 1 is invalid using __type = _Index_tuple<__integer_pack(_Num)...>; ^ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:329:51: error: expansion pattern '__integer_pack(_Num)' contains no argument packs = integer_sequence<_Tp, __integer_pack(_Num)...>; ^~~ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:329:54: error: template argument 2 is invalid = integer_sequence<_Tp, __integer_pack(_Num)...>; ^ build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:340:33: error: 'make_integer_sequence' does not name a type; did you mean 'integer_sequence'? using make_index_sequence = make_integer_sequence<size_t, _Num>; ^~~~~~~~~~~~~~~~~~~~~ integer_sequence build_packages/gcc_x86_syslibs_devel-8.3.0_2019_05_24-7-x86_gcc2/develop/headers/x86/c++/utility:344:32: error: 'make_index_sequence' does not name a type; did you mean 'index_sequence'? using index_sequence_for = make_index_sequence<sizeof...(_Types)>; ^~~~~~~~~~~~~~~~~~~ index_sequence [...]
Attachments (1)
Change History (10)
comment:1 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
comment:2 by , 5 years ago
On my system, gcc-config -l shows i686-pc-linux-gnu-9.2.0
I then rm -r attributes/ build/
etc. to start a fresh build.
configure with: /home/mounty/haiku/source/configure --build-cross-tools x86_gcc2 /home/mounty/haiku/buildtools --build-cross-tools x86 --use-gcc-pipe --no-full-xattr --no-xattr
build with: /home/mounty/haiku/buildtools/jam/bin.linuxx86/jam -q @nightly-disk
result: same error as in the bug report. Why is Haiku building with 8.3.0 when as far as I can tell it should be a clean 9.2.0 build?
comment:3 by , 5 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
comment:4 by , 5 years ago
@waddlesplash if a configuration is not supported, it should fail with a clear message during ./configure, not some strange build error down the line.
@mounty: when building haiku, the host compiler is used only to build a few tools to run on the host system (Linux in your case). We build our own compiler (currently gcc 8.3.0) to build the OS itself and all things that run in it. This is because your gcc9 is a Linux compiler and cannot be used to make Haiku executables.
As far as I can see in the build log, the error happens while running our gcc 8.3 with our syslib 8.3 headers, so gcc9 is not used at this point. So this should be investigated further.
comment:5 by , 5 years ago
Well, I assumed monty meant that they had changed out the cross compiler for gcc9, which configure has no particular reason to prevent.
Try deleting the build_packages directory, and see if the error changes.
comment:6 by , 5 years ago
I didn't change the cross-compiler. I quoted the version of my Linux GCC because I thought it was relevant. I didn't realise that the Haiku configure
process built its own compiler.
Also, I did delete build_packages
. As stated above, I ran rm -r attributes/ build/
etc. to start a fresh build. All I had in the directory at that point was
UserBuildConfig
- a symlink to a shared
download/
because I build Haiku for several machines but want to avoid downloading.hpkg
s separately for each.
I've attached a compressed log of the entire sequence, with output.
comment:7 by , 5 years ago
I wonder: the "@nightly-disk" profile is less-used, and perhaps it somehow has become broken. Does "@nightly-anyboot" or "@minimum-raw" work?
comment:8 by , 5 years ago
Oh dear, extreme embarrassment here as I realised that although I've been git pull
ing the Haiku source frequently, I hadn't updated the buildtools for ... too long. After doing so just now, I can once more build Haiku from source.
Please accept my apology and close this ticket.
comment:9 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | reopened → closed |
You cannot use GCC 9 with GCC 8 syslibs headers, that's not supported.