[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fresh checkout and compile
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
>>>>
>>>>
>>>>
>>
>