Bug #1237

Linking fails with undefined symbols due to overwritten CMake variable

Added by S. Wrede over 11 years ago. Updated almost 11 years ago.

Status:ResolvedStart date:11/15/2012
Priority:HighDue date:
Assignee:-% Done:

100%

Category:Build System
Target version:Robotics Service Bus - rsb-0.9

Description

The problem is that a downstream component requires RST with the sandbox component enabled while an upstream component requires only the regular RST component. That way, the RST_LIBRARIES variable ends up without the rstsandbox library entry.

This happenend to me using CCA and RST Converters. I could hack around this by changing the CCAConfig.cmake file as follows:

# RST
FIND_PACKAGE(RST REQUIRED COMPONENTS sandbox)
LIST(APPEND CCA_INCLUDE_DIRS    ${RST_INCLUDE_DIRS})
LIST(APPEND CCA_LIBRARIES               ${RST_LIBRARIES})

This is of course no correct solution.

It can probably be reproduced by just calling FIND_PACKAGE two times in a single file:

FIND_PACKAGE(RST REQUIRED COMPONENTS sandbox)
FIND_PACKAGE(RST REQUIRED)

History

#1 Updated by J. Moringen almost 11 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

I think, we solved this in Robotics Systems Types.

@Sebastian: please reopen, if you can still reproduce this.

Also available in: Atom PDF