Opened 15 years ago

#60 new defect

Problem with software organization using CMTPATH

Reported by: lindner@… 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

Change History (0)

Note: See TracTickets for help on using tickets.