Opened 12 years ago

Closed 12 years ago

#8065 closed bug (fixed)

Haiku build fails when using DEBUG option on the entire source tree

Reported by: unitedroad Owned by: bonefish
Priority: normal Milestone: R1
Component: Build System Version: R1/alpha3
Keywords: DEBUG, Debug build Cc:
Blocked By: Blocking: #8067
Platform: All

Description

Hi, I tried to build gcc4 hybrid Haiku with the debug option set on the entire source with this UserBuildConfig placed in the haiku/build/jam directory:

SetConfigVar DEBUG : HAIKU_TOP : 1 : global ;

I get this error during the build process: (invoked using the command jam -q @nightly-cd)

...failed C++ /sources/haiku/haiku/generated.x86gcc4/objects/haiku/x86/debug_1/add-ons/kernel/file_systems/bfs/BlockAllocator.o ...
...removing /sources/haiku/haiku/generated.x86gcc4/objects/haiku/x86/debug_1/add-ons/kernel/file_systems/bfs/BlockAllocator.o

I saw that is caused by BlockAllocator::Free calling BlockAllocator::CheckBlockRun with wrong parameters:

....BlockAllocator.cpp: In member function 'status_t BlockAllocator::Free(Transaction&, block_run)':
....BlockAllocator.cpp:1051:42: error: no matching function for call to 'BlockAllocator::CheckBlockRun(block_run&, NULL, NULL, bool)'
....BlockAllocator.h:55:14: note: candidate is: status_t BlockAllocator::CheckBlockRun(block_run, const char*, bool)

If I change the code to fix this and build again, then I get the following error:

...failed C++ /sources/haiku/haiku/generated.x86gcc4/objects/haiku/x86/debug_1/add-ons/kernel/file_systems/udf/Icb.o

....Icb.cpp: In member function 'status_t Icb::Read(off_t, void*, size_t*, uint32*)':
....Icb.cpp:215:4: error: '_debugHelper' was not declared in this scope
....Icb.cpp:215:4: error: '_debugHelper' was not declared in this scope
....Icb.cpp:215:4: error: '_debugHelper' was not declared in this scope

-unitedroad

Change History (3)

comment:1 by mmadia, 12 years ago

It would be better to create individual tickets + patches for each component. That would help the developers see that there is a patch in an area of the codebase that they are familiar with. Then they could more easily review the smaller patch and either apply it or mention needed improvements.

comment:2 by anevilyak, 12 years ago

Blocking: 8067 added

(In #8067) Duplicate of #8065.

comment:3 by mmadia, 12 years ago

Resolution: fixed
Status: newclosed

Resolved through #8252. Closing as fixed.

As mentioned in ticket:8252#comment:23 , "some of the blacklisted items should be fixed. Alternatively a new ticket could be opened for that though."

Note: See TracTickets for help on using tickets.