What is the .rootmap file?

What is the purpose of the .rootmap file generated by ACliC with .L*++? Will moving shared libraries after compilation without moving/altering the .rootmap file stop them working? Also is there any way to set ACliCs output file locations etc, or do I need to write a Makefile to get this level of control?

Cheers,

Hugh

Also how can one avoid getting messages like:

When loading shared libraries in an interactive session?

[quote]What is the purpose of the .rootmap file generated by ACliC with .L*++?[/quote]To keep track of library dependencies so that the library can be properly reloaded later on.

[quote]Will moving shared libraries after compilation without moving/altering the .rootmap file stop them working?[/quote]Possibly dependency of the dependencies of your code. You simply need to move the .rootmap file alongside the library.

[quote]Also is there any way to set ACliCs output file locations etc, or do I need to write a Makefile to get this level of control? [/quote]Yes. Call gSystem->SetBuildDir. See the documentation for TSystem::CompileMacro for more details.

[quote]Also how can one avoid getting messages like:
Warning in TClassTable::Add: class TFitFunctor already in TClassTable[/quote]This usually happens when a library is being loaded twice. ROOT attempts to avoid the double loading of libraries when going through the library dependencies express in the rootmap file but it not yet always able to do so.

Cheers,
Philippe.