[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: failed make of release-2009-02-24



Blake,

When you are doing a global build of everything (yes, redundant) it is 
really intended that the build be self-contained, i. e., nothing goes 
into "my" type directories. I think that this is a good policy to 
follow, even if you are doing the build for a single user: yourself. 
Then it is clear where all the products of that build are and how they 
can be varied using "my" stuff later on. In this sense, global builds 
are a special case. Of course you don't have to do things this way, but 
I think this is a case where neatness counts.

To get this effect you can either undefine HALLD_MY or alternately, I 
think you can define HALLD_MY to be HALLD_HOME. Then you have an 
explicit "one and the same" indication in your environment.

Come to think of it, I think we should make the top level makefile do 
this definition automatically. That is how the CLAS top-level makefile 
worked. David, comments?

  -- Mark

Blake Leverington wrote:
> Hi David,
>
> I've been looking at the file and directory structure and it seems 
> that since i have HALLD_MY defined, the majority of the binary, 
> library and include files end up there. However, there still seems to 
> be several files that put them in HALLD_HOME as well as with a 
> different OS directory (i.e. lib/Linux instead of 
> lib/Linux_RHEL4-athlon-gcc3.4.4). I've never tried installing with 
> only HALLD_HOME set so I do not know if it behaves abnormally or not.
>
> Ok, I'll add those files to the release and the main trunk.
>
> Cheers,
> -Blake
>
> David Lawrence wrote:
>>
>> Hi Blake,
>>
>>    We may want to update the main trunk and the release with that 
>> fix, but I need to understand exactly why it is needed first.
>>
>> Let me see if I got this straight and you can correct me if I'm 
>> misunderstanding something: It looks like you may be building the 
>> whole source tree while you have a HALLD_MY environment variable set 
>> instead of just HALLD_HOME. This means that as you go through a 
>> top-level make *everything* is getting installed into HALLD_MY rather 
>> than in HALLD_HOME. Also, a top-level make was never done with just 
>> HALLD_HOME set so that (essentially) none of the headers, libraries, 
>> or executables *ever* get installed in HALLD_HOME. Have I got this 
>> right?
>>
>> If this is the case then the behavior you've seen starts to make more 
>> sense (not that it's the way it should be). The make system was 
>> designed assuming that one would always build into HALLD_HOME first 
>> and that HALLD_MY would be used for perturbations later when someone 
>> wanted to mess with only a part of the code without spoiling the 
>> HALLD_HOME directory.
>>
>> So I guess that while your use of HALLD_MY is unanticipated, there's 
>> no reason it shouldn't work. Given that, I would say that you should 
>> go ahead and commit the change to the Makefile in Utilities/hddm to 
>> release-2009-02-24. While you're at it, you might as well make the 
>> change in the main trunk too so we don't run into this again with the 
>> next release.
>>
>> Regards,
>> -David
>>
>> Blake Leverington wrote:
>>> Hi David,
>>>
>>> I went and added -I$HALLD_MY/include to the hddm/Makefile in the 
>>> appropriate spots and now everything compiles wonderfully. I don't 
>>> think I can check this in, can I?
>>>
>>> Cheers,
>>> -Blake
>>>
>>> Blake Leverington wrote:
>>>> I mean $HALLD_HOME/include only contains xstream and  xstream.h. 
>>>> Everything else is in $HALLD_MY/include.
>>>>
>>>> -Blake
>>>>
>>>> Blake Leverington wrote:
>>>>> Hi David,
>>>>>
>>>>> particleType.h is being put into $HALLD_MY/include, not 
>>>>> $HALLD_HOME/include. I did a make pristine and removed the bin, 
>>>>> lib and include directories when I recompiled.  So I think it is 
>>>>> the -I/home/s4/leverin/gluex/svn/include that isn't right or that  
>>>>> -I HALLD_MY/include needs to be added. There's only a couple other 
>>>>> files in there ( xstream and  xstream.h ).
>>>>>
>>>>>
>>>>> environment variables from my .tcshrc file:
>>>>> setenv HALLD_HOME /home/s4/leverin/gluex/svn
>>>>> setenv HALLD_MY /home/s4/leverin/gluex/my_src
>>>>>
>>>>> -Blake
>>>>>
>>>>> David Lawrence wrote:
>>>>>>
>>>>>> Hi Guys,
>>>>>>
>>>>>>    Hmmm.... Something funny is going on here. In Blake's output 
>>>>>> below, I can see that the $HALLD_HOME/include directory is being 
>>>>>> correctly added to the the path (via 
>>>>>> -I/home/s4/leverin/gluex/svn/include) when trying to compile 
>>>>>> xml-hddm.cpp . The particleType.h file should have already been 
>>>>>> copied into that when the top level Makefile was invoked since it 
>>>>>> invokes the following chain:
>>>>>>
>>>>>> src/Makefile -> libraries/Makefile -> libraries/include/Makefile
>>>>>>
>>>>>> All of this should have been done automatically before 
>>>>>> src/programs/Makefile was invoked.
>>>>>>
>>>>>> Can you see any error/warning messages when the top-level 
>>>>>> Makefile tries invoking the libraries/include/Makefile ?
>>>>>>
>>>>>> What happens if you just run "make" in src/libraries/include?
>>>>>>
>>>>>> This seemed to work fine for me when I checked out fresh copies 
>>>>>> of the release on Fedora 8 and Mac OS X 10.5. Blake, can you also 
>>>>>> remind me of the exact OS version you are using along with the 
>>>>>> gcc version so I can try to reproduce the error? Also, remove the 
>>>>>> include, lib, and bin directories from $HALLD_HOME, do a make 
>>>>>> pristine, and do a top level "make" again and send me the entire 
>>>>>> output so I can compare it with what I'm getting.
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> -David
>>>>>>
>>>>>>
>>>>>> Matthew Shepherd wrote:
>>>>>>>
>>>>>>> particleType.h has been a thorn in my side for years!!!!
>>>>>>>
>>>>>>> David can maybe provide you with an appropriate fix.  I usually 
>>>>>>> end up finding the file and manually copying to some include 
>>>>>>> directory that I know will be used at compile time.
>>>>>>>
>>>>>>> -Matt
>>>>>>>
>>>>>>>
>>>>>>> On Feb 25, 2009, at 12:17 PM, Blake Leverington wrote:
>>>>>>>
>>>>>>>> Hi guys,
>>>>>>>>
>>>>>>>> I downloaded the new tagged version of the software, and 
>>>>>>>> recompiled everything today, again, because Matt updated the 
>>>>>>>> JANA version to 0.4.9 on the cluster, but I encountered this 
>>>>>>>> error when I remade the source tree (I did make clean first). I 
>>>>>>>> think it failed on this last time I compiled and just went 
>>>>>>>> folder by folder and made them individually. I had been hoping 
>>>>>>>> the whole tree would have compiled flawlessly from the /src 
>>>>>>>> folder.
>>>>>>>>
>>>>>>>> make -C hddm install
>>>>>>>> make[3]: Entering directory 
>>>>>>>> `/home/s4/leverin/gluex/svn/src/programs/Utilities/hddm'
>>>>>>>> /usr/bin/g++ -g -D_REENTRANT 
>>>>>>>> -I/home/s4/leverin/gluex/svn/src/include 
>>>>>>>> -I/share/apps/xerces/xerces-c-src_2_7_0/include \
>>>>>>>> -I/home/s4/leverin/gluex/svn/include -c XString.cpp
>>>>>>>> /usr/bin/g++ -g -D_REENTRANT 
>>>>>>>> -I/home/s4/leverin/gluex/svn/src/include 
>>>>>>>> -I/share/apps/xerces/xerces-c-src_2_7_0/include \
>>>>>>>> -I/home/s4/leverin/gluex/svn/include -c XParsers.cpp
>>>>>>>> /usr/bin/g++ -g -D_REENTRANT 
>>>>>>>> -I/home/s4/leverin/gluex/svn/src/include 
>>>>>>>> -I/share/apps/xerces/xerces-c-src_2_7_0/include \
>>>>>>>> -I/home/s4/leverin/gluex/svn/include -o hddm-c hddm-c.cpp 
>>>>>>>> XString.o XParsers.o \
>>>>>>>> -L/share/apps/xerces/xerces-c-src_2_7_0/lib -lxerces-c
>>>>>>>> /usr/bin/g++ -g -D_REENTRANT 
>>>>>>>> -I/home/s4/leverin/gluex/svn/src/include 
>>>>>>>> -I/share/apps/xerces/xerces-c-src_2_7_0/include \
>>>>>>>> -I/home/s4/leverin/gluex/svn/include -o xml-hddm xml-hddm.cpp 
>>>>>>>> XString.o XParsers.o \
>>>>>>>> -L/home/s4/leverin/gluex/svn/lib/Linux 
>>>>>>>> -L/home/s4/leverin/gluex/svn/src/external/xstream/src -lxstream \
>>>>>>>> -L/share/apps/xerces/xerces-c-src_2_7_0/lib -lxerces-c
>>>>>>>> xml-hddm.cpp:61:26: particleType.h: No such file or directory
>>>>>>>> xml-hddm.cpp: In member function `void 
>>>>>>>> HDDMmaker::outputStream(xercesc_2_7::DOMElement*, 
>>>>>>>> xercesc_2_7::DOMElement*, std::ostream&)':
>>>>>>>> xml-hddm.cpp:473: error: `Particle_t' undeclared (first use 
>>>>>>>> this function)
>>>>>>>> xml-hddm.cpp:473: error: (Each undeclared identifier is 
>>>>>>>> reported only once for each function it appears in.)
>>>>>>>> xml-hddm.cpp:473: error: `ParticleType' undeclared (first use 
>>>>>>>> this function)
>>>>>>>> make[3]: *** [xml-hddm] Error 1
>>>>>>>> make[3]: Leaving directory 
>>>>>>>> `/home/s4/leverin/gluex/svn/src/programs/Utilities/hddm'
>>>>>>>> make[2]: *** [hddm] Error 2
>>>>>>>> make[2]: Leaving directory 
>>>>>>>> `/home/s4/leverin/gluex/svn/src/programs/Utilities'
>>>>>>>> make[1]: *** [Utilities] Error 2
>>>>>>>> make[1]: Leaving directory 
>>>>>>>> `/home/s4/leverin/gluex/svn/src/programs'
>>>>>>>> make: *** [programs] Error 2
>>>>>>>>
>>>>>>>>
>>>>>>>> -Blake
>>>>>>>>
>>>>>>>> David Lawrence wrote:
>>>>>>>>>
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>>   I have just tagged a new Hall-D software release:  
>>>>>>>>> release-2009-02-24. I have successfully compiled this on our 3 
>>>>>>>>> supported platforms. Please let me know if you have trouble 
>>>>>>>>> compiling it since this will be the release that the 
>>>>>>>>> participants in Friday's tutorial will initially use and we 
>>>>>>>>> want them to run into as few snags as possible.
>>>>>>>>>
>>>>>>>>>   Here are the release notes (minus the last part which 
>>>>>>>>> contains the relevant svn log messages).
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Release Notes for Hall-D source code
>>>>>>>>> ------------------------------------
>>>>>>>>>
>>>>>>>>>  URL: https://halldsvn.jlab.org/repos/tags/release-2009-02-24
>>>>>>>>> Date: February 24, 2009
>>>>>>>>> Author: David Lawrence davidl@jlab.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This release has been compiled on the following systems
>>>>>>>>> with the specified versions:
>>>>>>>>>
>>>>>>>>> Mac OS X 10.5.6 (Darwin Kernel Version 9.6.0)
>>>>>>>>> ------------
>>>>>>>>> Xerces 2.7.0
>>>>>>>>> JANA 0.4.9
>>>>>>>>> ROOT 5.22/00
>>>>>>>>> cernlib 2006 (compiled on 10.5 with liblapack3 and libblas)
>>>>>>>>> gcc/g++  : gcc version 4.0.1 (Apple Inc. build 5490)
>>>>>>>>> gfortran : gcc version 4.2.3
>>>>>>>>>
>>>>>>>>> Fedora release 8 (Werewolf) on i686  32-bit
>>>>>>>>> ------------
>>>>>>>>> Xerces 2.7.0
>>>>>>>>> JANA 0.4.9
>>>>>>>>> ROOT 5.18/00
>>>>>>>>> cernlib 2005 (/apps/cernlib/i386_fc8 on JLab CUE)
>>>>>>>>> lesstif-devel 0.95.0-20.fc8
>>>>>>>>> gcc/g++/gfortran :  4.1.2 20070925 (Red Hat 4.1.2-33)
>>>>>>>>>
>>>>>>>>> Red Hat Enterprise Linux 5.2 on i686  32-bit
>>>>>>>>> ------------
>>>>>>>>> Xerces 2.7.0
>>>>>>>>> JANA 0.4.9
>>>>>>>>> ROOT 5.18/00
>>>>>>>>> cernlib 2005 (/apps/cernlib/i386_rhel5 on JLab CUE)
>>>>>>>>> gcc/g++/gfortran :  4.1.2 20071124 (Red Hat 4.1.2-42)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Summary of changes since last release
>>>>>>>>> =====================================================
>>>>>>>>> This is a summary list made from visually scanning the svn log 
>>>>>>>>> messages
>>>>>>>>> for the main trunk since the last release. It may be 
>>>>>>>>> incomplete. See the
>>>>>>>>> entire list of logs below for the complete list of changes.
>>>>>>>>>
>>>>>>>>> o  "string" type variables fixed in HDDM
>>>>>>>>>
>>>>>>>>> o  TRACKING
>>>>>>>>>  - Re-tooled DParticle, DTrack, and DTrackCandidate factories 
>>>>>>>>> with
>>>>>>>>>     THROWN tags to make consistent and easier to use for 
>>>>>>>>> debugging.
>>>>>>>>>
>>>>>>>>>  - Added DTrackHitSelector virtual class and corresponding
>>>>>>>>>     DTrackHitSelectorALT1 for hit selection (only used by
>>>>>>>>>     ALT1 fitter at present)
>>>>>>>>>     - General tools added for accessing material map. Two methods
>>>>>>>>>     were implmented. One uses tabulated values read through 
>>>>>>>>> calibration
>>>>>>>>>     system and the other uses ROOT to in code generated directly
>>>>>>>>>     from XML (see hddsroot.h).
>>>>>>>>>     - Continued development on Kalman filter including better 
>>>>>>>>> e-loss
>>>>>>>>>     and MULS
>>>>>>>>>     - Copied Mark's LSLM least-squares track fitter to main 
>>>>>>>>> trunk as
>>>>>>>>>     plugin in src/programs/Analysis/plugins/trkfitterLSLM.
>>>>>>>>>
>>>>>>>>> o  Numbering schemes updated for both TOF and FCAL to reflect 
>>>>>>>>> newly adopted
>>>>>>>>>  convention of having id numbers increase as the coordinate value
>>>>>>>>>   increases.
>>>>>>>>>
>>>>>>>>> o  HDParSim program made into hdparsim plugin in:
>>>>>>>>>  src/programs/Simulation/plugins/hdparsim. Protons, pions and 
>>>>>>>>> photons
>>>>>>>>>   are now smeared using independant tables.
>>>>>>>>>
>>>>>>>>> o  Added hddm_cull_events, hddm_merge_events, and 
>>>>>>>>> hddm_merge_files
>>>>>>>>>  to standard build.
>>>>>>>>>
>>>>>>>>> o  Removed hddsGeant3.F from repository. Generation of it is 
>>>>>>>>> now required
>>>>>>>>>  from the XML source which is in the repository.
>>>>>>>>>
>>>>>>>>> o  Fixed/enhanced hd_dump (text viewer) and hdview2 (graphical 
>>>>>>>>> event viewer).
>>>>>>>>>  Most notably, hdview2 now draws BCAL and FCAL hits.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> =====================================================
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> -David
>>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>