Opened 13 years ago
Closed 13 years ago
#8368 closed bug (invalid)
build fialure rev 43810
Reported by: | SeanCollins | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | - General | Version: | R1/alpha3 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
build failure @ 43810 gcc2 and gcc4
Welcome to the Haiku shell. ~> cd /boot/home/haiku/generated.x86gcc2 ~/haiku/generated.x86gcc2> jam -j1 -q @nightly-raw Building Haiku Nightly ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...patience... ...found 97739 target(s)... ...updating 1065 target(s)... InitScript1 /boot/home/haiku/generated.x86gcc2/haiku.image-init-vars Link /boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/addattr /boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/main.o: In function `main': main.cpp:(.text.startup+0x1b0): undefined reference to `BFile::BFile()' main.cpp:(.text.startup+0x1ca): undefined reference to `BFile::SetTo(char const*, unsigned long)' main.cpp:(.text.startup+0x1e7): undefined reference to `BFile::GetSize(long long*) const' main.cpp:(.text.startup+0x23a): undefined reference to `BFile::~BFile()' main.cpp:(.text.startup+0x295): undefined reference to `BFile::Read(void*, unsigned long)' main.cpp:(.text.startup+0x2b4): undefined reference to `BFile::~BFile()' main.cpp:(.text.startup+0x542): undefined reference to `BFile::~BFile()' main.cpp:(.text.startup+0x54a): undefined reference to `_Unwind_Resume' /boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/main.o:(.data.DW.ref.__gxx_personality_v0[DW.ref.__gxx_personality_v0]+0x0): undefined reference to `__gxx_personality_v0' collect2: ld returned 1 exit status rm -f "/boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/addattr" gcc -Xlinker --no-as-needed -o "/boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/addattr" "/boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/main.o" "/boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/addAttr.o" \ -lbe -lstdc++.r4 \ ...failed Link /boot/home/haiku/generated.x86gcc2/objects/haiku_host/x86/release/tools/addattr/addattr ... BUILD FAILURE: ...failed updating 1 target(s)... ...skipped 2 target(s)... ...updated 1 target(s)... ~/haiku/generated.x86gcc2>
Change History (9)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
this was on a gcc2 hybrid nightly release 43762, attempting to build a gcc2h and a gcc4h image.the check out is a match of trunk and configure options are the ones supplied in the building haiku guide.
Sorry about the confusion on the version field.
comment:3 by , 13 years ago
Have you tried to delete the objects to verify that this is a user error?
follow-up: 5 comment:4 by , 13 years ago
Could data corruption on the hdd cuase this ? if so, should I try to reinstall after a reformat and reproduce the errors ?
Yes I did try jam clean
Sean
comment:5 by , 13 years ago
Replying to SeanCollins:
Could data corruption on the hdd cuase this ? if so, should I try to reinstall after a reformat and reproduce the errors ?
Data corruption is very unlikely the cause. As I mentioned above, it looks like the main.o
for which the linker complains about missing symbols has been compiled with gcc 4. Indicator is the missing symbol _Unwind_Resume
which AFAIK is part of the gcc 4 but not part of the gcc 2 C++ runtime. Since the names of the missing BFile::*
symbols are printed in demangled form, we can't be sure whether those are gcc 4 symbols, too, but since -lbe
is in the linker line and it does contain the BFile
implementation a compiler mismatch is the most likely cause.
Yes I did try jam clean
Please remove the generated directories and configure again. Also note that you can't switch the active compiler with setgcc
after configuring or you'll likely get those gcc version mix-ups.
follow-up: 8 comment:6 by , 13 years ago
If I used the compiler, in a different folder, like say to build a QT based broswer. Would the setgcc function be applied globally to the compiler system ? if so, that might be the problem then. I use the set gcc4 option when building QT apps, though I have never had a issue like this before ??
I will reconfig the directorys and clean the object files out and report back, thank you or the help.
comment:7 by , 13 years ago
After trying your suggestions Bonefish, I still could not resolve the issues. I reformated, intalled a known working revision. Pulled a clean trunk from the repo, and it built without trouble. So it looks like something got borked somehow ????
Please close this ticket as invalid.
comment:8 by , 13 years ago
Replying to SeanCollins:
If I used the compiler, in a different folder, like say to build a QT based broswer. Would the setgcc function be applied globally to the compiler system ? if so, that might be the problem then. I use the set gcc4 option when building QT apps, though I have never had a issue like this before ??
For reference, setgcc is global and permanent ; it changes where the /boot/develop/abi/current symlink points to. Consequently, it is independent of what folder you're in, and stays at whatever you set it to until you invoke it once more. Closing as invalid.
comment:9 by , 13 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
_Unwind_Resume
is a gcc 4 symbol and it looks like you're trying to do a gcc 2 build. So it seems you've been incorrectly mixing the two gcc versions.It probably doesn't matter for this one, but in future tickets please be more precise with respect to what configuration you're using. The ticket "Version" field is set to "R1/alpha3" and you mention hrev43810 and both compilers. There are two possibly relevant Haiku versions when you build on Haiku -- the host system version and the version of the sources you're building -- so it's a bit of a guessing game which is which (even more so, since reporters often forget to set the "Version" field correctly).