Bug #423
Fix Boost Compile/Link behavior
Status: | Resolved | Start date: | 07/15/2011 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Wienke | % Done: | 100% | |
Category: | C++ | |||
Target version: | - |
Description
If the configured boost-uuid path contains a full boost installation (instead of just UUID),
RSB is completely compiled against this boost-installation, but linked to the standard
boost installation.
Test configuration on Lucid:
standard boost 1.40 in /usr
full boost 1.42 in /usr/local/boost1.42
Configured BOOSTUUID_INCLUDE_DIRS=/usr/local/boost1.42/include
Result:
Compiled (entirely) against 1.42
Linked against 1.40
=> Nothing works
Probable fix: permutate -I directives for compilation?
In any way it needs to compile and link against same location
Associated revisions
be sure that our configure paths ha ve precedence over system ones
refs #423
History
#1 Updated by J. Wienke over 12 years ago
- Status changed from New to In Progress
- Assignee set to J. Wienke
I don't see a real solution to this, except that we now provide an internal uuid version.
If we exchange the -I drectives we get the same error the other way around. Suddenly boost.uuid will be used from the boost location that contains uuid and not your custom boost.uuid version. This is the drawback of the linux scheme with a common prefix for multiple programs.
#2 Updated by J. Wienke over 12 years ago
- Category changed from Configuration to C++
#3 Updated by J. Wienke over 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
I now at least ensure that custom paths have precedence over syste paths. Moreover the include order should already be boost, boost.uuid... Hence, boost should be take from the first path not the uuid one.