Opened 8 years ago

Closed 8 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:
Has a Patch: no 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 bonefish, 8 years ago

_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).

comment:2 by SeanCollins, 8 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 bonefish, 8 years ago

Have you tried to delete the objects to verify that this is a user error?

comment:4 by SeanCollins, 8 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

Last edited 8 years ago by SeanCollins (previous) (diff)

in reply to:  4 comment:5 by bonefish, 8 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.

comment:6 by SeanCollins, 8 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 for the help.

Last edited 8 years ago by SeanCollins (previous) (diff)

comment:7 by SeanCollins, 8 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.

in reply to:  6 comment:8 by anevilyak, 8 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 anevilyak, 8 years ago

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.