Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-7760

genreflex complains and generates .rootmap file referring to libX.dylib.so instead of specified libX.dylib

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: 6.04/06
    • Fix Version/s: None
    • Component/s: Dictionaries
    • Labels:
      None
    • Environment:

      OS X Yosemite, GCC 4.9.3, C++14.

      Description

      When generating a dictionary and accompanying .rootmap file with:
      genreflex /Users/greenc/work/cet-is/external-products/root/v6_04_06/Darwin64bit+14-e9-prof/bin/genreflex /Users/greenc/work/cet-is/sources/art/test/TestObjects/classes.h -s /Users/greenc/work/cet-is/sources/art/test/TestObjects/classes_def.xml -I /Users/greenc/work/cet-is/sources/art -I /Users/greenc/work/cet-is/sources/art/test/TestObjects -I /Users/greenc/work/cet-is/build/art-prof -I /Users/greenc/work/cet-is/sources/art -I /Users/greenc/work/cet-is/external-products/cppunit/v1_12_1c/Darwin64bit+14-e9-prof/include -I /Users/greenc/work/cet-is/external-products/clhep/v2_2_0_8/Darwin64bit+14-e9-prof/include -I /Users/greenc/work/cet-is/external-products/boost/v1_57_0a/Darwin64bit+14-e9-prof/include -I /Users/greenc/work/cet-is/products/cetlib/v1_16_00/include -I /Users/greenc/work/cet-is/products/cetlib/v1_16_00/include -I /Users/greenc/work/cet-is/external-products/sqlite/v3_08_10_02/Darwin64bit+14/include -I /Users/greenc/work/cet-is/products/fhiclcpp/v3_13_00/include -I /Users/greenc/work/cet-is/products/fhiclcpp/v3_13_00/include -I /Users/greenc/work/cet-is/external-products/sqlite/v3_08_10_02/Darwin64bit+14/include -I /Users/greenc/work/cet-is/products/messagefacility/v1_16_08/include -I /Users/greenc/work/cet-is/products/messagefacility/v1_16_08/include -I /Users/greenc/work/cet-is/external-products/sqlite/v3_08_10_02/Darwin64bit+14/include -I /Users/greenc/work/cet-is/external-products/root/v6_04_06/Darwin64bit+14-e9-prof/include -I /Users/greenc/work/cet-is/external-products/root/v6_04_06/Darwin64bit+14-e9-prof/include -I /Users/greenc/work/cet-is/external-products/tbb/v4_4_0/Darwin64bit+14-e9-prof/include --fail_on_warnings -l /Users/greenc/work/cet-is/build/art-prof/lib/libtest_TestObjects_dict.dylib --rootmap-lib=libtest_TestObjects_dict.dylib --rootmap=/Users/greenc/work/cet-is/build/art-prof/lib/libtest_TestObjects_dict.rootmap -o test_TestObjects_dict.cpp
      Two things happen: first there is an error:
      Error: Invalid target library extension: filename is .so and extension /Users/greenc/work/cet-is/build/art-prof/lib/libtest_TestObjects_dict.dylib is expected!
      It appears that the filename and extension field descriptions are swapped with respect to the order of their values. Regardless of the error, things mostly work, except that the .rootmap file refers to libtest_TestObjects_dict.dylib.so instead of libtest_TestObjects_dict.dylib.

      We could generate the dictionary library with the expected .so extension, but we are as a matter of policy following the CMake-assumed distinction between shared libraries and modules and using the appropriate extension on OS X. We would be grateful if ROOT's behavior could be modified to allow platform-recommended behavior with respect to shared library naming.

        Attachments

          Activity

            People

            • Assignee:
              dpiparo Danilo Piparo
              Reporter:
              chgreen Christopher Green
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: