Project

General

Profile

Support #13586

Updated by Kyle Knoepfel over 3 years ago

This may not really be a bug - but i would like to know if it is intended behaviour.

I am porting the Mu2e code to use art v2_02_02. In my first test building data products I created a test library that contains only a single data product, which is a class that contains one data member, an int.
When I ran genflex on the classes.h file I discovered that I need to link to CLHEP or else the link will fail.

The dependence on CLHEP comes from:
/home/kutschke/products/canvas/v1_04_05a/include/canvas/Persistency/Common/detail/aggregate.h

I have not traced how this is being included in my test. The only art/canvas headers that I include myself are the following in the classes.h file:

<pre><code class="cpp">
#include "canvas/Persistency/Common/Wrapper.h"
</code></pre>


The genreflex command is:

<pre>

genreflex Sandbox/src/classes.h \
-s Sandbox/src/classes_def.xml \
-I. \
-Iinclude \
-I/home/kutschke/products/art/v2_02_02a/include \
-I/home/kutschke/products/canvas/v1_04_05a/include \
-I/home/kutschke/products/messagefacility/v1_17_01/include \
-I/home/kutschke/products/fhiclcpp/v4_00_01/include \
-I/home/kutschke/products/sqlite/v3_12_02_00/Linux64bit+2.6-2.12/include \
-I/home/kutschke/products/cetlib/v1_19_01/include \
-I/home/kutschke/products/boost/v1_61_0/Linux64bit+2.6-2.12-e10-prof/include \
-I/home/kutschke/products/clhep/v2_2_0_8a/Linux64bit+2.6-2.12-e10-prof/include \
-I/home/kutschke/products/cppunit/v1_12_1d/include \
-I/home/kutschke/products/root/v6_06_04b/Linux64bit+2.6-2.12-e10-prof/include \
-I/home/kutschke/products/xerces_c/v3_1_3/Linux64bit+2.6-2.12-e10-prof/include \
-I/home/kutschke/products/tbb/v4_4_3a/Linux64bit+2.6-2.12-e10-prof/include \
-l lib/libmu2e_Sandbox_dict.so \
-o tmp/src/Sandbox/src/mu2e_Sandbox_dict.cpp \
--fail_on_warnings -DNDEBUG \
--rootmap-lib=lib/libmu2e_Sandbox_dict.so \
--rootmap=lib/libmu2e_Sandbox_dict.rootmap
</pre>



Back