Project

General

Profile

Support #6624

Working around module name collisions

Added by Rob Kutschke over 6 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Category:
Infrastructure
Target version:
Start date:
07/15/2014
Due date:
% Done:

100%

Estimated time:
8.00 h
Spent time:
Scope:
Internal
Experiment:
Mu2e
SSI Package:
cetlib
Duration:

Description

Maybe this is a bug? Maybe it is a feature? Maybe its a missing feature .... ?

In toyExperiment there is a module named HelloWorld that is used as the first module that people run.

In the art-workbook there is a second copy of HelloWorld, found in art-workbook/ModuleNameCollision/HelloWorld_module.cc . It differs from the first only in that it prints out text in bad french instead of in english. This directory also contains 5 .fcl files.

hello1.fcl - illustrates that art detects a module name collision if you specify just module_type : HelloWorld
hello2.fcl - illustrates how to choose the version from toyExperiment
hello3.fcl - illustrates how to choose the version from art-workbook
hello4.fcl - illustrates that if you configure both modules, you get two copies of the same module
hello5.fcl - illustrates that if you change the module labels to swap order of alphabetization you get the other module

Is this the intended behaviour or was it intended that it would be possible to run both modules within one job?

History

#1 Updated by Christopher Green over 6 years ago

  • Tracker changed from Feature to Bug
  • Description updated (diff)
  • Category set to Infrastructure
  • Status changed from New to Accepted
  • Target version set to 1.13.00
  • Estimated time set to 8.00 h
  • Experiment Mu2e added
  • Experiment deleted (-)
  • SSI Package cetlib added
  • SSI Package deleted ()

I took the liberty of changing your second hello4.fcl to hello5.fcl, which is I believe what you intended.

It is certainly intended that one should be able to load both modules in the same art job. If this is not in fact possible, this is a bug and should be rectified.

#2 Updated by Christopher Green almost 6 years ago

  • Status changed from Accepted to Assigned
  • Assignee set to Christopher Green
  • % Done changed from 0 to 10

#3 Updated by Christopher Green almost 6 years ago

  • Status changed from Assigned to Feedback

Standalone tests of the library- and symbol-finding mechanism failed to show a problem, so I fell back to a visual inspection of the module code referenced by your example FHiCL files.

Please try your 4 and 5 again, but put the art-workbook HelloWorld class into a namespace other than tex, otherwise not all the dlopen() magic in the world will save you from the ODR violation.

#4 Updated by Christopher Green almost 6 years ago

  • Tracker changed from Bug to Support
  • Status changed from Feedback to Resolved
  • % Done changed from 10 to 100

#5 Updated by Christopher Green over 5 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF