scott snyder
authored
LArCellRec directly references L1CaloCondSvc from TrigT1CaloCondSvc, which is a class with out-of-line virtual functions. Thus, it should link against the library where these functions are defined in order to see the typeinfo (which it needs) and vtable (which it doesn't really need). However, TrigT1CaloCondSvc is built only as a component library. Fix this by changing TrigT1CaloCondSvc to a dual use library, and having LArCellRec link against it. A better solution would be to rework L1CaloCondSvc in terms of an abstract interface, so that linking against TrigT1CaloCondSvc would not be necessary. However, L1CaloCondSvc has non-trivial templated functions accessing the class internals, so this is not trivial. Leaving that for someone else to enjoy doing...