Opened 15 years ago
#60 new defect
Problem with software organization using CMTPATH
Reported by: | Owned by: | arnault | |
---|---|---|---|
Priority: | normal | Milestone: | v1r20 |
Component: | a. Usage | Version: | |
Severity: | normal | Keywords: | |
Cc: | OS: | All | |
If Other, could you precise: | Experiment: | Other | |
If Other, could you precise: | |||
Stack trace: |
lindner@plutarch$ make
#CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> (Makefile.header) Rebuilding ../Linux-i686/Linux-i686.make #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: project_release_conflict : software #CMT---> (Makefile.header) Rebuilding ../Linux-i686/constituents.make #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: Project software requested with conflicting releases nd280soft and tools #CMT---> Error: project_release_conflict : software #CMT> Error: ../Linux-i686/constituents.make: Cannot generate make[2]: ../Linux-i686/constituents.make: No such file or directory make[2]: *** No rule to make target `../Linux-i686/constituents.make'. Stop. make[1]: *** [common_target] Error 2 make: *** [check_config] Error 2 |
||
Steps to reproduce: |
Description
We have been using CMT v1r16 for some time to organize our software. One trick we often used was to organize software into different directories. For instance, I would place any external libraries (GEANT, ROOT, etc) in a directory called
/home/lindner/software/tools
and then place software developed specifically for our experiment in
/home/lindner/software/nd280soft
I would then set CMTPATH to
/home/lindner/software/nd280soft:/home/lindner/software/tools
and the compiling, linking and execution of programs worked fine.
However, as I have switched to using CMT v1r18 and v1r20 this software organization scheme no longer seems to work. When I started using CMT v1r18 when I did any CMT command (ie 'cmt config', make) I would get an error saying
#CMT> Project software requested with conflicting releases nd280soft and tools
For v1r18 this error didn't seem to matter. But for CMT v1r20p20081118 when I tried to make a package I would get an error saying
#CMT---> Error: project_release_conflict : software
#CMT> Error: ../Linux-i686/constituents.make: Cannot generate
(the full error message is below in 'stack trace'). So I can no longer compile a given package with CMT v1r20p20081118.
I figure out that I can get around the problem by putting software in directories that are not 'parallel' to each other. Ie, if I install my software in
/home/lindner/software/dummy/nd280soft
and
/home/lindner/software/tools
then everything works fine. But that seems like a very awkward solution.
I understand that the newer versions of CMT include the concept of 'projects' and CMTPROJECTPATH to more formally organize software. But I had assumed that the older usage of CMTPATH would still be supported. Is this correct? Is this a bug or is my usage of CMTPATH deprecated?
Thanks for any help, Thomas Lindner