#4091 closed bug (fixed)
r31522 build breakage on parallel jam
Reported by: | meianoite | Owned by: | bonefish |
---|---|---|---|
Priority: | low | Milestone: | Unscheduled |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | #4579, #10023 | |
Platform: | All |
Description
Didn't paste stuff between triple brackets because Trac would generate an enormous single line on the GCC output. Sorry for the accidental wikiformatting, like underlined DEFINE words.
Generated dir was clean except for the build, downloads and cross-tools dirs.
@all target is verbatim Ingo's suggestion on the mailing list for a target that doesn't produce an image.
jam -aqj8 @all
In file included from /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:41:[[BR]]
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/include/y.tab.h:1: parse.h: No such file or directory
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c: In function `make_command_string_internal':
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: `AND_AND' undeclared (first use in this function)
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: (Each undeclared identifier is reported only once
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: for each function it appears in.)
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:240: `OR_OR' undeclared (first use in this function)
/usr/home/andre/devel/Haiku/trunk/generated.gcc2/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -DHAVE_CONFIG_H -DPROGRAM='"bash"' -DSHELL -DCONF_MACHTYPE='"i586-pc-haiku"' -DCONF_HOSTTYPE='"i586"' -DCONF_VENDOR='"pc"' -DCONF_OSTYPE='"beos"' -c "/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c" -DHAIKU -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -DINTEL -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -I/usr/home/andre/devel/Haiku/trunk/build/user_config_headers -I/usr/home/andre/devel/Haiku/trunk/build/config_headers -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/common/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/freebsd/x86/common/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash -I- -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/include -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/lib -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash -I/usr/home/andre/devel/Haiku/trunk/headers/cpp -I/usr/home/andre/devel/Haiku/trunk/headers/build/gcc-2.95.3 -I/usr/home/andre/devel/Haiku/trunk/headers -I/usr/home/andre/devel/Haiku/trunk/headers/posix -I/usr/home/andre/devel/Haiku/trunk/headers/gnu -I/usr/home/andre/devel/Haiku/trunk/headers/glibc -I/usr/home/andre/devel/Haiku/trunk/headers/os -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/file_system -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/graphics -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/input_server -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/registrar -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/screen_saver -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/tracker -I/usr/home/andre/devel/Haiku/trunk/headers/os/app -I/usr/home/andre/devel/Haiku/trunk/headers/os/device -I/usr/home/andre/devel/Haiku/trunk/headers/os/drivers -I/usr/home/andre/devel/Haiku/trunk/headers/os/game -I/usr/home/andre/devel/Haiku/trunk/headers/os/interface -I/usr/home/andre/devel/Haiku/trunk/headers/os/kernel -I/usr/home/andre/devel/Haiku/trunk/headers/os/media -I/usr/home/andre/devel/Haiku/trunk/headers/os/mail -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi2 -I/usr/home/andre/devel/Haiku/trunk/headers/os/net -I/usr/home/andre/devel/Haiku/trunk/headers/os/opengl -I/usr/home/andre/devel/Haiku/trunk/headers/os/storage -I/usr/home/andre/devel/Haiku/trunk/headers/os/support -I/usr/home/andre/devel/Haiku/trunk/headers/os/translation -I/usr/home/andre/devel/Haiku/trunk/headers/private/. -o "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/print_cmd.o" ;
...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/print_cmd.o ...
MkBuiltinsExt1 /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtext.h /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtins.c
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o
i586-pc-haiku-gcc: /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtins.c: No such file or directory
i586-pc-haiku-gcc: No input files
/usr/home/andre/devel/Haiku/trunk/generated.gcc2/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -DHAVE_CONFIG_H -DSHELL -c "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtins.c" -DHAIKU -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -DINTEL -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -I/usr/home/andre/devel/Haiku/trunk/build/user_config_headers -I/usr/home/andre/devel/Haiku/trunk/build/config_headers -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/freebsd/x86/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins -I- -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/.. -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../include -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../lib -I/usr/home/andre/devel/Haiku/trunk/headers/cpp -I/usr/home/andre/devel/Haiku/trunk/headers/build/gcc-2.95.3 -I/usr/home/andre/devel/Haiku/trunk/headers -I/usr/home/andre/devel/Haiku/trunk/headers/posix -I/usr/home/andre/devel/Haiku/trunk/headers/gnu -I/usr/home/andre/devel/Haiku/trunk/headers/glibc -I/usr/home/andre/devel/Haiku/trunk/headers/os -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/file_system -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/graphics -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/input_server -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/registrar -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/screen_saver -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/tracker -I/usr/home/andre/devel/Haiku/trunk/headers/os/app -I/usr/home/andre/devel/Haiku/trunk/headers/os/device -I/usr/home/andre/devel/Haiku/trunk/headers/os/drivers -I/usr/home/andre/devel/Haiku/trunk/headers/os/game -I/usr/home/andre/devel/Haiku/trunk/headers/os/interface -I/usr/home/andre/devel/Haiku/trunk/headers/os/kernel -I/usr/home/andre/devel/Haiku/trunk/headers/os/media -I/usr/home/andre/devel/Haiku/trunk/headers/os/mail -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi2 -I/usr/home/andre/devel/Haiku/trunk/headers/os/net -I/usr/home/andre/devel/Haiku/trunk/headers/os/opengl -I/usr/home/andre/devel/Haiku/trunk/headers/os/storage -I/usr/home/andre/devel/Haiku/trunk/headers/os/support -I/usr/home/andre/devel/Haiku/trunk/headers/os/translation -I/usr/home/andre/devel/Haiku/trunk/headers/private/. -o "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o" ;
...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o ...
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/exit.o
MkBuiltinsComp1 /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/help.c
MkBuiltinsComp1 /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/history.c
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/exit.def: In function `exit_or_logout':
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/exit.def:99: `jobs_builtin' undeclared (first use in this function)
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/exit.def:99: (Each undeclared identifier is reported only once
/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/exit.def:99: for each function it appears in.)
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/hash.o
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/help.o
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/history.o
/usr/home/andre/devel/Haiku/trunk/generated.gcc2/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -DHAVE_CONFIG_H -DSHELL -c "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/exit.c" -DHAIKU -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -DINTEL -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -I/usr/home/andre/devel/Haiku/trunk/build/user_config_headers -I/usr/home/andre/devel/Haiku/trunk/build/config_headers -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/freebsd/x86/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins -I- -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/.. -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../include -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../lib -I/usr/home/andre/devel/Haiku/trunk/headers/cpp -I/usr/home/andre/devel/Haiku/trunk/headers/build/gcc-2.95.3 -I/usr/home/andre/devel/Haiku/trunk/headers -I/usr/home/andre/devel/Haiku/trunk/headers/posix -I/usr/home/andre/devel/Haiku/trunk/headers/gnu -I/usr/home/andre/devel/Haiku/trunk/headers/glibc -I/usr/home/andre/devel/Haiku/trunk/headers/os -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/file_system -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/graphics -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/input_server -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/registrar -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/screen_saver -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/tracker -I/usr/home/andre/devel/Haiku/trunk/headers/os/app -I/usr/home/andre/devel/Haiku/trunk/headers/os/device -I/usr/home/andre/devel/Haiku/trunk/headers/os/drivers -I/usr/home/andre/devel/Haiku/trunk/headers/os/game -I/usr/home/andre/devel/Haiku/trunk/headers/os/interface -I/usr/home/andre/devel/Haiku/trunk/headers/os/kernel -I/usr/home/andre/devel/Haiku/trunk/headers/os/media -I/usr/home/andre/devel/Haiku/trunk/headers/os/mail -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi2 -I/usr/home/andre/devel/Haiku/trunk/headers/os/net -I/usr/home/andre/devel/Haiku/trunk/headers/os/opengl -I/usr/home/andre/devel/Haiku/trunk/headers/os/storage -I/usr/home/andre/devel/Haiku/trunk/headers/os/support -I/usr/home/andre/devel/Haiku/trunk/headers/os/translation -I/usr/home/andre/devel/Haiku/trunk/headers/private/. -o "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/exit.o" ;
...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/exit.o ...
...failed updating 3 target(s)...
...skipped 2 target(s)...
...updated 9442 target(s)...
Attachments (1)
Change History (31)
follow-up: 2 comment:1 by , 15 years ago
follow-up: 3 comment:2 by , 15 years ago
Replying to bonefish:
Anyway, I've built bash a few times with "-j8" and didn't get anymore errors. Please give the new revision a whirl.
Building right now.
Considering that all the build system bugs I reported lately are Bash-related and also related to remaking its own build system to use jam, isn't it more trouble than it's worth? I mean, can't we, for imported software, simply invoke make in a subshell or something?
follow-up: 4 comment:3 by , 15 years ago
Replying to meianoite:
Considering that all the build system bugs I reported lately are Bash-related and also related to remaking its own build system to use jam, isn't it more trouble than it's worth? I mean, can't we, for imported software, simply invoke make in a subshell or something?
The build system of most imported software is autotools + make based. This is something I *so* don't want to integrate in our build system.
follow-up: 5 comment:4 by , 15 years ago
Replying to bonefish:
The build system of most imported software is autotools + make based. This is something I *so* don't want to integrate in our build system.
Well, such pain is yours to feel :)
In file included from /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:41: /usr/home/andre/devel/Haiku/trunk/src/bin/bash/include/y.tab.h:1: parse.h: No such file or directory /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c: In function `make_command_string_internal': /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: `AND_AND' undeclared (first use in this function) /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: (Each undeclared identifier is reported only once /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:234: for each function it appears in.) /usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c:240: `OR_OR' undeclared (first use in this function) As /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/kits/opengl/mesa/x86_xform4.o As /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/kits/opengl/mesa/x86_cliptest.o As /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/kits/opengl/mesa/mmx_blend.o /usr/home/andre/devel/Haiku/trunk/generated.gcc2/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -DHAVE_CONFIG_H -DPROGRAM='"bash"' -DSHELL -DCONF_MACHTYPE='"i586-pc-haiku"' -DCONF_HOSTTYPE='"i586"' -DCONF_VENDOR='"pc"' -DCONF_OSTYPE='"beos"' -c "/usr/home/andre/devel/Haiku/trunk/src/bin/bash/print_cmd.c" -D__HAIKU__ -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -D__INTEL__ -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -I/usr/home/andre/devel/Haiku/trunk/build/user_config_headers -I/usr/home/andre/devel/Haiku/trunk/build/config_headers -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/common/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/freebsd/x86/common/bin/bash -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash -I- -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/include -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/lib -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash -I/usr/home/andre/devel/Haiku/trunk/headers/cpp -I/usr/home/andre/devel/Haiku/trunk/headers/build/gcc-2.95.3 -I/usr/home/andre/devel/Haiku/trunk/headers -I/usr/home/andre/devel/Haiku/trunk/headers/posix -I/usr/home/andre/devel/Haiku/trunk/headers/gnu -I/usr/home/andre/devel/Haiku/trunk/headers/glibc -I/usr/home/andre/devel/Haiku/trunk/headers/os -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/file_system -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/graphics -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/input_server -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/registrar -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/screen_saver -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/tracker -I/usr/home/andre/devel/Haiku/trunk/headers/os/app -I/usr/home/andre/devel/Haiku/trunk/headers/os/device -I/usr/home/andre/devel/Haiku/trunk/headers/os/drivers -I/usr/home/andre/devel/Haiku/trunk/headers/os/game -I/usr/home/andre/devel/Haiku/trunk/headers/os/interface -I/usr/home/andre/devel/Haiku/trunk/headers/os/kernel -I/usr/home/andre/devel/Haiku/trunk/headers/os/media -I/usr/home/andre/devel/Haiku/trunk/headers/os/mail -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi2 -I/usr/home/andre/devel/Haiku/trunk/headers/os/net -I/usr/home/andre/devel/Haiku/trunk/headers/os/opengl -I/usr/home/andre/devel/Haiku/trunk/headers/os/storage -I/usr/home/andre/devel/Haiku/trunk/headers/os/support -I/usr/home/andre/devel/Haiku/trunk/headers/os/translation -I/usr/home/andre/devel/Haiku/trunk/headers/private/. -o "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/print_cmd.o" ; ...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/print_cmd.o ...
Our friend print_cmd again, and again failing on y.tab.h, now for a different reason. Lovely insertion of Mesa being assembled because of the parallel build :)
Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o i586-pc-haiku-gcc: /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtins.c: No such file or directory i586-pc-haiku-gcc: No input files /usr/home/andre/devel/Haiku/trunk/generated.gcc2/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -DHAVE_CONFIG_H -DSHELL -c "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins/builtins.c" -D__HAIKU__ -DHAIKU_DISTRO_COMPATIBILITY_DEFAULT -D__INTEL__ -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -I/usr/home/andre/devel/Haiku/trunk/build/user_config_headers -I/usr/home/andre/devel/Haiku/trunk/build/config_headers -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/freebsd/x86/common/bin/bash/builtins -I/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/builtins -I- -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/.. -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../include -I/usr/home/andre/devel/Haiku/trunk/src/bin/bash/builtins/../lib -I/usr/home/andre/devel/Haiku/trunk/headers/cpp -I/usr/home/andre/devel/Haiku/trunk/headers/build/gcc-2.95.3 -I/usr/home/andre/devel/Haiku/trunk/headers -I/usr/home/andre/devel/Haiku/trunk/headers/posix -I/usr/home/andre/devel/Haiku/trunk/headers/gnu -I/usr/home/andre/devel/Haiku/trunk/headers/glibc -I/usr/home/andre/devel/Haiku/trunk/headers/os -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/file_system -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/graphics -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/input_server -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/registrar -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/screen_saver -I/usr/home/andre/devel/Haiku/trunk/headers/os/add-ons/tracker -I/usr/home/andre/devel/Haiku/trunk/headers/os/app -I/usr/home/andre/devel/Haiku/trunk/headers/os/device -I/usr/home/andre/devel/Haiku/trunk/headers/os/drivers -I/usr/home/andre/devel/Haiku/trunk/headers/os/game -I/usr/home/andre/devel/Haiku/trunk/headers/os/interface -I/usr/home/andre/devel/Haiku/trunk/headers/os/kernel -I/usr/home/andre/devel/Haiku/trunk/headers/os/media -I/usr/home/andre/devel/Haiku/trunk/headers/os/mail -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi -I/usr/home/andre/devel/Haiku/trunk/headers/os/midi2 -I/usr/home/andre/devel/Haiku/trunk/headers/os/net -I/usr/home/andre/devel/Haiku/trunk/headers/os/opengl -I/usr/home/andre/devel/Haiku/trunk/headers/os/storage -I/usr/home/andre/devel/Haiku/trunk/headers/os/support -I/usr/home/andre/devel/Haiku/trunk/headers/os/translation -I/usr/home/andre/devel/Haiku/trunk/headers/private/. -o "/usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o" ; ...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o ...
Well, builtins.c again.
follow-up: 6 comment:5 by , 15 years ago
Replying to meianoite:
Our friend print_cmd again, and again failing on y.tab.h, now for a different reason.
Same reason, actually! O_O
comment:6 by , 15 years ago
Replying to meianoite:
Same reason, actually! O_O
For good measure:
> svn info Path: . URL: http://svn.berlios.de/svnroot/repos/haiku/haiku/trunk Repository Root: http://svn.berlios.de/svnroot/repos/haiku Repository UUID: a95241bf-73f2-0310-859d-f6bbb57e9c96 Revision: 31524 Node Kind: directory Schedule: normal Last Changed Author: bonefish Last Changed Rev: 31524 Last Changed Date: 2009-07-11 17:27:44 -0300 (Sat, 11 Jul 2009)
follow-up: 8 comment:7 by , 15 years ago
The dependencies look OK for both cases, so I'd consider this a jam bug. Under Haiku I couldn't reproduce it (two cores only, though). Am I assuming correctly that your build platform is FreeBSD? Would be interesting, if this can be reproduced on Linux, too.
follow-up: 9 comment:8 by , 15 years ago
Replying to bonefish:
The dependencies look OK for both cases, so I'd consider this a jam bug.
Some revisions ago I couldn't trigger this either, remember? Those are always timing-dependent, but I manage to reproduce this quite easily now. I just have to call a parallel jam and do a "make -j8 index" on /usr/ports to generate a lot of disk activity. But I don't think this is a jam bug at all. I don't really understand how Jam generates its dependency trees, but after some investigation I found that parse.h is generated by the Yacc1 rule being applied to parse.y:
Yacc1 /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.c /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.h
which expands to:
bison -d -o /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.c /usr/home/andre/devel/Haiku/trunk/src/bin/bash/parse.y [ -f /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.c.h ] && mv /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.c.h /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/common/bin/bash/parse.h || true
but nowhere is parse.h declared dependent on parse.y. So it's very probable Jam simply launched the shell that compiles print_cmd.c independently. Does this make sense to you?
Replying to bonefish:
Under Haiku I couldn't reproduce it (two cores only, though). Am I assuming correctly that your build platform is FreeBSD? Would be interesting, if this can be reproduced on Linux, too.
Yes, my build platform is FreeBSD, and I have no space left to install Linux, unless I nuke the Haiku partition. Or if I could install the Linux userland under the FreeBSD Linuxolator. Anyway, if my suspicion above turns out correct, this is a mute point and I can happily keep my HD Linux-free. :D
(it was a profound dislike for the mess that are the various Linux distros that I got involved with BeOS to begin with!)
follow-up: 10 comment:9 by , 15 years ago
Replying to meianoite:
Replying to bonefish:
The dependencies look OK for both cases, so I'd consider this a jam bug.
Some revisions ago I couldn't trigger this either, remember? Those are always timing-dependent, but I manage to reproduce this quite easily now. I just have to call a parallel jam and do a "make -j8 index" on /usr/ports to generate a lot of disk activity. But I don't think this is a jam bug at all. I don't really understand how Jam generates its dependency trees, but after some investigation I found that parse.h is generated by the Yacc1 rule being applied to parse.y:
[...]
but nowhere is parse.h declared dependent on parse.y.
You are mistaken. The Yacc rule establishes that dependency.
So it's very probable Jam simply launched the shell that compiles print_cmd.c independently. Does this make sense to you?
Nope. As I wrote, I checked the dependencies jam knows of ("jam -dd") and they look OK. If jam nevertheless executes the actions for dependent targets out of order respectively starts the actions for the dependent target before those for the dependency have finished, it's obviously a bug in jam. Or in the job management functionality it uses (mainly wait()).
Replying to bonefish:
Under Haiku I couldn't reproduce it (two cores only, though). Am I assuming correctly that your build platform is FreeBSD? Would be interesting, if this can be reproduced on Linux, too.
I tried a few runs under Linux (still with 2 cores only) and bash was always built successfully.
comment:10 by , 15 years ago
Replying to bonefish:
I tried a few runs under Linux (still with 2 cores only) and bash was always built successfully.
I can only make it happen once or twice out of 10 attempts if I build bash in isolation. Which again confirms that this is timing-based. But I'm yet to have it succeed if I build the whole of Haiku the way I've described. I've determined that producing the background disk noise isn't even necessary, but I don't know if that is related to me upping things a notch to j16:
rm -rf objects/ build_packages/ tmp/ build/*cache ; jam -aqj16 @all |& tee j16.log
The redirection is tcsh syntax.
Building with an added -dd argument indeed shows the correct dependency chaining, but it fails nonetheless. And generates a huge log that compresses to over 700k with bzip2 --best, 760k with 7z "ultra" settings.
Now, for an interesting tidbit: I'm able to trigger at least the builtins.c error even using cpuset to limit the CPUs jam was allowed to use to 2, which was confirmed by monitoring with htop. But for this to succeed (er, fail) I have to produce the disk activity with "make -j8 index" on /usr/ports.
> rm -rf objects/ build_packages/ tmp/ build/*cache ; sudo cpuset -c -l 0-1 -- sudo -u andre jam -aqj16 @all |& tee j16-2.log
> egrep "(failed|skipped)" j16-2.log ...failed Cc /usr/home/andre/devel/Haiku/trunk/generated.gcc2/objects/haiku/x86/release/bin/bash/builtins/builtins.o ... ...skipped libbuiltins.a for lack of libbuiltins.a(builtins.o)... ...skipped bash for lack of libbuiltins.a... ...failed updating 1 target(s)... ...skipped 2 target(s)...
Jam bug or build system bug, it's still not a desirable situation, specially with Haiku build clusters in the horizon ;)
I understand that you have a limitation on making it happen on a dual-core machine, and we're getting nowhere until you can put your finger straight on the problem. Would you like to try debugging it straight on my machine? Send a public RSA key my way and I'll create a user for you pronto.
follow-up: 12 comment:11 by , 15 years ago
Thanks for the offer, but this problem seem to be on jam's side and, since I plan to rewrite jam in the not so distant future, I'm not particularly inclined to debug it.
If you're interested in looking into it, execunix.c is where the job execution happens and where I would start to track the problem.
comment:12 by , 15 years ago
Replying to bonefish:
Thanks for the offer, but this problem seem to be on jam's side and, since I plan to rewrite jam in the not so distant future, I'm not particularly inclined to debug it.
Sounds interesting. What are your plans? Reimplement it from scratch while keeping the Jamfile syntax? Using C++ or some other language more amenable to text parsing?
If you're interested in looking into it, execunix.c is where the job execution happens and where I would start to track the problem.
Thanks, but I think I'll pass :P
comment:13 by , 15 years ago
Milestone: | R1/alpha1 → Unscheduled |
---|
I don't see why this should be an alpha blocker.
comment:14 by , 15 years ago
Blocking: | 4579 added |
---|
comment:15 by , 15 years ago
Could it be related to the yacc multiline actions ? In multiline actions, it seems jam writes a shell script and executes it.
comment:16 by , 15 years ago
Version: | R1/pre-alpha1 → R1/Development |
---|
With the above patch & this script :
#!/bin/bash set -o errexit JOBS=8 function BashFail() { HAIKU_ATTEMPT=0 while true ; do ((HAIKU_ATTEMPT++)) echo $HAIKU_ATTEMPT rm -rf objects/ rm -rf tmp/ time ((jam -aqj${JOBS} bash &> log) || (sed -n -e '/^...failed/p' log && false)) done } BashFail
250 iterations were done successfully in a row without interruption on an i3 in FreeBSD 8.0 32bit. To note, at that point the script was manually killed. Normally without this patch, it'll fail in less than 20 iterations.
On a dual i7 xeon (8+HT), at least 71 iterations occurred with -j32 ... I'm not sure if that tester stopped it at that point or went to sleep.
comment:17 by , 15 years ago
The tester on the dual i7 stopped running the test script after 775 iterations. His OS is Ubuntu 64bit. think it's 9.10.
On a side note, #Depends [ FGristFiles builtins.c ] : $(source) ;
was my initial fix, which was later rewritten to use :S=.c
.
comment:18 by , 15 years ago
Priority: | normal → low |
---|
Tested on my machine under Linux as well. No build failure after 250 iterations.
Obviously the additional dependencies are not correct, but as a temporary work-around for the jam bug, that's acceptable, I guess.
Applied the change in hrev35619. Leaving the ticket open until the jam bug is fixed (or jam is replaced).
comment:19 by , 12 years ago
Still here in hrev44331, gcc2. I can reliably reproduce it building haiku with -j32 on an i7 mobile (2+HT) under 64-bit Linux.
MkBuiltinsExt1 generated/objects/haiku/x86/common/bin/bash/builtins/builtext.h generated/objects/haiku/x86/common/bin/bash/builtins/builtins.c Cc generated/objects/haiku/x86/release/bin/bash/builtins/builtins.o MkBuiltinsComp1 generated/objects/haiku/x86/common/bin/bash/builtins/alias.c i586-pc-haiku-gcc: generated/objects/haiku/x86/common/bin/bash/builtins/builtins.c: No such file or directory C++ generated/objects/linux/x86_64/release/tools/makebootable/platform/bios_ia32/makebootable.o i586-pc-haiku-gcc: No input files Yacc1 generated/objects/haiku/x86/common/bin/bash/parse.c generated/objects/haiku/x86/common/bin/bash/parse.h /home/ishmael/develop/haiku/haiku/generated/cross-tools/bin/i586-pc-haiku-gcc -O -Wno-trigraphs -Wpointer-arith -Wcast-align -Wno-multichar -pipe -nostdinc -march=pentium -DHAVE_CONFIG_H -DSHELL -c "generated/objects/haiku/x86/common/bin/bash/builtins/builtins.c" -D__HAIKU__ -DHAIKU_DISTRO_COMPATIBILITY_OFFICIAL -D__INTEL__ -DARCH_x86 -DBOOT_ARCHIVE_IMAGE_OFFSET=300 -DB_USE_BUILTIN_ATOMIC_FUNCTIONS -DHAIKU_INCLUDE_PATENTED_CODE=0 -D_BEOS_R5_COMPATIBLE_ -DHAIKU_TARGET_PLATFORM_HAIKU -Ibuild/user_config_headers -Ibuild/config_headers -Isrc/bin/bash/builtins -Igenerated/objects/common/bin/bash/builtins -Igenerated/objects/linux/x86_64/common/bin/bash/builtins -Igenerated/objects/haiku/x86/common/bin/bash/builtins -I- -Isrc/bin/bash/builtins/.. -Isrc/bin/bash/builtins/../include -Isrc/bin/bash/builtins/../lib -Iheaders/cpp -Iheaders/build/gcc-2.95.3 -Iheaders -Iheaders/posix -Iheaders/glibc -Iheaders/os -Iheaders/os/add-ons -Iheaders/os/add-ons/file_system -Iheaders/os/add-ons/graphics -Iheaders/os/add-ons/input_server -Iheaders/os/add-ons/registrar -Iheaders/os/add-ons/screen_saver -Iheaders/os/add-ons/tracker -Iheaders/os/app -Iheaders/os/device -Iheaders/os/drivers -Iheaders/os/game -Iheaders/os/interface -Iheaders/os/kernel -Iheaders/os/locale -Iheaders/os/media -Iheaders/os/mail -Iheaders/os/midi -Iheaders/os/midi2 -Iheaders/os/net -Iheaders/os/opengl -Iheaders/os/storage -Iheaders/os/support -Iheaders/os/translation -Iheaders/private/. -o "generated/objects/haiku/x86/release/bin/bash/builtins/builtins.o" ; ...failed Cc generated/objects/haiku/x86/release/bin/bash/builtins/builtins.o ...
I'm going to add a warning to the build guide.
comment:20 by , 12 years ago
Incidentally, I have so far been unable to reproduce the problem using a Jam compiled with -O2 instead of the default -O3.
Edit: the above comment is likely unrelated, since this ticket is older than compiling Jam with -O3, which was added 2010-10-23.
comment:21 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
bash has been outsourced, so this can't happen anymore.
comment:23 by , 10 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I was a bit too quick to fix this; it seems. The error now happens while building tcpdump:
Cc /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/network/ftpd/ftpcmd.o C++ /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/rc/compile.o /home/builder/builds/haiku/src/bin/network/ftpd/ftpcmd.y: In function `yyparse': /home/builder/builds/haiku/src/bin/network/ftpd/ftpcmd.y:669: warning: implicit declaration of function `strncasecmp' Cc /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/network/tcpdump/libpcap/scanner.o /home/builder/builds/haiku/src/bin/network/tcpdump/libpcap/scanner.l:57: grammar.h: No such file or directory Cc /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/network/tcpdump/libpcap/grammar.o SetVersion1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff Chmod1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff CreateAppMimeDBEntries1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff_mimedb SetVersion1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/cmp SetVersion1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/sdiff SetVersion1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff3 Chmod1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/cmp CreateAppMimeDBEntries1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/cmp_mimedb Chmod1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/sdiff Chmod1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff3 SetVersion1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/patch/patch Lex /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/common/bin/rc/lexer.cpp CreateAppMimeDBEntries1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/diff3_mimedb CreateAppMimeDBEntries1 /home/builder/builds/haiku-repository-x86_gcc2_hybrid/generated/objects/haiku/x86_gcc2/release/bin/diffutils/src/sdiff_mimedb /home/builder/builds/haiku/src/bin/network/tcpdump/libpcap/scanner.l:80: parse error before `pcap_lval' /home/builder/builds/haiku/src/bin/network/tcpdump/libpcap/scanner.l:80: warning: type defaults to `int' in declaration of `pcap_lval' /home/builder/builds/haiku/src/bin/network/tcpdump/libpcap/scanner.l:80: warning: data definition has no type or storage class
Notice how the build of scanner.l complains about missing grammar.h just before grammar.o is built here. The dependency to grammar.h is declared (in src/bin/network/tcpdump/libpcap/Jamfile).
comment:26 by , 10 years ago
Blocking: | 10023 added |
---|
comment:27 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:29 by , 7 years ago
The libpcap issue was fixed as noted above, and then in the meantime bash, tcpdump, and libpcap have all been moved out of the tree and are no longer built with jam, meaning that the issues in this ticket are now resolved. If there is some other parallel build breakage a separate ticket should be opened.
The first and the third problem are fixed in hrev31523 respectively hrev31524. The second one is a bit weird, since jam seems to know that builtins.o depends on builtins.c. "jam -dd" says so at least:
So it shouldn't try to make builtins.o before builtins.c has been made.
Anyway, I've built bash a few times with "-j8" and didn't get anymore errors. Please give the new revision a whirl.