[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fresh checkout and compile
Hi Mark and David,
FYI, the fresh checkout and compile now works for me as long as I do
one additional step of rearranging include files:
> svn co https://halldsvn.jlab.org/repos/trunk/src
> svn co https://halldsvn.jlab.org/repos/trunk/calib
> mkdir include
> cd include
> ln -s ../src/libraries/include/*.h .
> cd ../src
> make
Is that the way things are intended to be done?
Thanks,
Ryan
On May 30, 2009, at 7:35 PM, Mark M. Ito wrote:
> Thanks Dave. You saved my Saturday. And I do like the solution.
>
> David Lawrence wrote:
>> Hi Guys,
>>
>> The simplest way to handle this (one can debate if it's the best)
>> is to simply add the proper sequencing to the existing mechanism in
>> the top level Makefile. Namely, add the libraries/include and
>> programs/Utilities/hddm to the DIRS variable before the libraries
>> directory is added.
>>
>> It turns out there were a couple of other hiccups though that
>> needed to be fixed for this specific case:
>>
>> 1. The hddm-c program was installed into $(OSNAME) rather than $
>> (BMS_OSNAME)
>> 2. The Makefile in libraries/HDDM assumed hddm-c was already in
>> your path instead of
>> explicitly pointing to the one from the current build (a potential
>> problem too if hddm-c
>> ever changed and you have hddm-c from another build in your path).
>>
>> I've gone ahead and made all of these changes and checked them in.
>> It seems to build a fresh checkout fine for me now so hopefully it
>> will work for everyone else giving Mark a little breathing room to
>> implement a more ambitious, longer term solution as he sees fit.
>>
>> Regards,
>> -David
>>
>> Ryan Mitchell wrote:
>>> Hi Mark,
>>>
>>> Thanks for looking at this. I see the chicken and egg problem.
>>> Of course having all this done automatically (or having the HDDM
>>> and HDDS packages separated out) would be ideal, but having the
>>> user take a few extra steps isn't absolutely terrible either, as
>>> long as its documented, imo.
>>>
>>> Thanks,
>>> Ryan
>>>
>>>
>>> On May 29, 2009, at 9:11 PM, Mark M. Ito wrote:
>>>
>>>> Ryan,
>>>>
>>>> You are quite right; one should not have to struggle as you did.
>>>>
>>>> This "feature" was introduced by me, I am sorry to say. I made
>>>> the switch to having event.xml be the authoritative file.
>>>> Unfortunately, this introduces a two-level chicken and egg
>>>> problem. Level 1: you need to build hddm-c on the programs side
>>>> before you do a make on the libraries side in HDDM. And level 2:
>>>> you need to do a make in the include directory on the libraries
>>>> side in the include directory before you do the aforementioned
>>>> make on the programs side. Suffice it to say the current make
>>>> system was not designed to deal with an authoritative event.xml.
>>>>
>>>> By the way, your solution is quite reasonable. Doing all this
>>>> automatically is on my list. You just moved it to the top.
>>>> Probably should have been there before.
>>>>
>>>> I should say that I think both HDDM and HDDS should perhaps (in
>>>> the future) be broken out of our standard tree and stand
>>>> independently. They are really tools, and have no particular
>>>> knowledge of GlueX or Hall D or any other particular geometry or
>>>> data format. That way these tools could be built first (like we
>>>> build ROOT and CERNLIB) and the GlueX-specific build items could
>>>> go ahead and use them. So, for example, the hddm-c binary would
>>>> exist before the GlueX build starts.
>>>>
>>>> -- Mark
>>>>
>>>>
>>>>
>>>>
>>>> Ryan Mitchell wrote:
>>>>> Hi All,
>>>>>
>>>>> I've been running into some problems when I do a fresh checkout
>>>>> and compile of the Hall-D software. Following the instructions
>>>>> online I do...
>>>>>
>>>>> > cd $HALLD_HOME
>>>>> > svn co https://halldsvn.jlab.org/repos/trunk/src
>>>>> > svn co https://halldsvn.jlab.org/repos/trunk/calib
>>>>> > cd $HALLD_HOME/src
>>>>> > make
>>>>>
>>>>> The compilation makes it all the way to the librararies/HDDM
>>>>> directory before it complains about not being able to find the
>>>>> hddm-c application.
>>>>>
>>>>> I can get things to work eventually. For example:
>>>>>
>>>>> > cd $HALLD_HOME/include
>>>>> > ln -s $HALLD_HOME/src/libraries/include/*.h .
>>>>> > cd $HALLD_HOME/src/programs/Utilities/
>>>>> > make
>>>>> > setenv PATH $HALLD_HOME/src/programs/Utilities/hddm/\:$PATH
>>>>> > cd $HALLD_HOME/src
>>>>> > make
>>>>>
>>>>> but it would be nice (and less frustrating) if the user (me, for
>>>>> example) didn't have to struggle this much. Is there an expert
>>>>> who could take a look? Did I do something wrong?
>>>>>
>>>>> Thanks,
>>>>> Ryan
>>>>>
>>>>>
>>>>>
>>>
>>