Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#545 closed bug (fixed)

Static library dependencies are not (always?) resolved

Reported by: axeld Owned by: bonefish
Priority: normal Milestone: R1
Component: Build System Version:
Keywords: Cc: diver
Blocked By: Blocking:
Has a Patch: no Platform: All

Description (last modified by bonefish)

When I change an object in a static library (like memory_manager.c in src/add-ons/kernel/drivers/graphics/common/), the libgraphicscommon.a is not rebuilt when I build a driver (for example radeon.driver or intel_extreme) that uses it.

Change History (5)

comment:1 by diver, 13 years ago

Cc: diver added

comment:2 by bonefish, 13 years ago

Description: modified (diff)
Platform: All

Is there a particular method to reproduce it? With hrev20147 it works for me at least:

$ jam -q radeon.driver
...patience...
...patience...
...found 2041 target(s)...
...updating 144 target(s)...
[...]
Link generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
Chmod1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
SetType1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
MimeSet1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
SetVersion1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
...updated 144 target(s)...
$ touch src/add-ons/kernel/drivers/graphics/common/memory_manager.c
$ jam -q radeon.driver
...patience...
...patience...
...found 2041 target(s)...
...updating 3 target(s)...
Cc generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/common/memory_manager.o
Archive generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/common/libgraphicscommon.a
Ranlib generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/common/libgraphicscommon.a
Link generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
Chmod1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
SetType1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
MimeSet1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
SetVersion1 generated/objects/haiku/x86/release/add-ons/kernel/drivers/graphics/radeon/radeon.driver
...updated 3 target(s)...

comment:3 by axeld, 12 years ago

Resolution: fixed
Status: newclosed

After Marcus' changes (which remove the archive before building it), the bug seems to be gone.

comment:4 by bonefish, 12 years ago

I don't really see how the Marcus' change and this bug would be related. The reported problem is a dependency problem that apparently doesn't cause the action to be invoked in a case where it should. Marcus just changed what happens in the action (which wouldn't be invoked anyway).

comment:5 by axeld, 12 years ago

Probably, the only actual problem ever existed is that "ar" didn't update the archive correctly on changes. At least that would not affect the dependencies.

Note: See TracTickets for help on using tickets.