[Openmd-developers] QHULL as static while building

Martin Vala mvala at saske.sk
Wed Sep 10 04:03:46 EDT 2014


Hi Dan,

Ok i will. I will update repository.

Ciao

Martin

On 09/09/2014 15:57, Dan Gezelter wrote:
> I checked in an even simpler fix.  You can leave the FindQhull.cmake alone and just add these lines to src/math/qhull.hpp:
>
> #ifdef qh_QHpointer
> #define qh_QHpointer 0
> #endif
>
> above the extern "C"
>
>   --Dan
>
>
> On Sep 8, 2014, at 5:53 PM, Martin Vala <mvala at saske.sk> wrote:
>
>> Hi Dan,
>>
>> Yes, it works. Nice job.
>>
>> I will apply to rpms, tomorrow. It's 23:52 in Slovakia. I go to bed and i will create rpms tomorrow.
>>
>> It was pleasure to debug with you
>>
>> Ciao
>>
>> Martin
>>
>> On 08/09/2014 23:50, Dan Gezelter wrote:
>>> This hunch might pay off:
>>>
>>> https://gitorious.org/qhull/gxzagas-qhull/commit/38bda5b8365668ab7927445347645d610000dbba
>>>
>>> If you add the "=0"  to the qh_QHpointer definition in FindQhull.cmake
>>>
>>> if(QHULL_FOUND)
>>>    set(HAVE_QHULL ON)
>>>    if(NOT QHULL_USE_STATIC)
>>>      add_definitions("-Dqh_QHpointer=0")
>>>
>>> It works!
>>>   I think that's equivalent to using static data structures, but in the dynamic library.
>>>
>>>
>>>   --Dan
>>>
>>>
>>>
>>>
>>> On Sep 8, 2014, at 5:30 PM, Martin Vala <mvala at saske.sk> wrote:
>>>
>>>> Hi Dan,
>>>>
>>>> Yes you are right and when you do
>>>>
>>>> make VERBOSE=1
>>>>
>>>> then you would see that -Dqh_QHpointer is there when it is compiling
>>>>
>>>>> Do we need to link to an additional library?
>>>> I don't know yet.
>>>>
>>>> Ciao
>>>>
>>>> Martin
>>>>
>>>>
>>>>
>>>> On 08/09/2014 23:24, Dan Gezelter wrote:
>>>>> I think those are already added by FindQHull.cmake  (look at the last few lines)
>>>>>
>>>>> And it looks like the flags.make files in the build directories all do have -Dqh_QHpointer defined in the CXX_DEFINES, so it should be compiling with that flag set.  Do we need to link to an additional library?
>>>>>
>>>>>   --Dan
>>>>>
>>>>> On Sep 8, 2014, at 5:13 PM, Martin Vala <mvala at saske.sk> wrote:
>>>>>
>>>>>> Hi Dan,
>>>>>>
>>>>>> what about this?
>>>>>>
>>>>>> #if qh_QHpointer  /* see user.h */
>>>>>>   if (qh_qh){
>>>>>>       printf ("QH6238: Qhull link error.  The global variable qh_qh was not initialized\n\
>>>>>>               to NULL by global.c.  Please compile this program with -Dqh_QHpointer_dllimport\n\
>>>>>>               as well as -Dqh_QHpointer, or use libqhullstatic, or use a different tool chain.\n\n");
>>>>>>       exit -1;
>>>>>>   }
>>>>>> #endif
>>>>>>
>>>>>> Ciao
>>>>>>
>>>>>> MArtin
>>>>>>
>>>>>> On 08/09/2014 22:52, Martin Vala wrote:
>>>>>>> Hi Dan,
>>>>>>>
>>>>>>> I think this is good guess. I think we only need to Initialize 'qh' it once.
>>>>>>>
>>>>>>> Ciao
>>>>>>>
>>>>>>> Martin
>>>>>>> On 08/09/2014 22:31, Dan Gezelter wrote:
>>>>>>>>> facet variable (pointer) (line 76) is declared and it is not initialized so address is random. Then i don't see any "new" operator. Maybe it is hidden somewhere. Then at line 217
>>>>>>>> The FORALLFacets iterator on line 214 is supposed to be setting that.   The qhull.h include file defines:
>>>>>>>>
>>>>>>>> #define FORALLfacets for (facet=qh facet_list;facet && facet->next;facet=facet->next)
>>>>>>>>
>>>>>>>> I think the problem might be the qh object.  The qhull site says this:
>>>>>>>>
>>>>>>>> When you read the code, be aware of the macros "qh" and "qhstat", e.g., "qh hull_dim". They are defined in libqhull.h. They allow the global data structures to be pre-allocated (faster access) or dynamically allocated (allows multiple copies).
>>>>>>>>
>>>>>>>> I'm not sure that object exits when we dynamically link.
>>>>>>>>
>>>>>>>>   --Dan
>>>>>>>>
>>>>>>>>
>>>>>>>> ***********************************************
>>>>>>>>    J. Daniel Gezelter
>>>>>>>>    Associate Professor of Chemistry
>>>>>>>>    Department of Chemistry and Biochemistry
>>>>>>>>    251 Nieuwland Science Hall
>>>>>>>>    University of Notre Dame
>>>>>>>>    Notre Dame, IN 46556-5670
>>>>>>>>
>>>>>>>>    phone:  +1 (574) 631-7595
>>>>>>>>    fax:    +1 (574) 631-6652
>>>>>>>>    e-mail: gezelter at nd.edu
>>>>>>>>    web:    http://www.nd.edu/~gezelter
>>>>>>>> ************************************************
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Openmd-developers mailing list
>>>>>>> Openmd-developers at openmd.org
>>>>>>> http://openmd.org/mailman/listinfo.cgi/openmd-developers
>>>>>> _______________________________________________
>>>>>> Openmd-developers mailing list
>>>>>> Openmd-developers at openmd.org
>>>>>> http://openmd.org/mailman/listinfo.cgi/openmd-developers
>>>>> ***********************************************
>>>>>    J. Daniel Gezelter
>>>>>    Associate Professor of Chemistry
>>>>>    Department of Chemistry and Biochemistry
>>>>>    251 Nieuwland Science Hall
>>>>>    University of Notre Dame
>>>>>    Notre Dame, IN 46556-5670
>>>>>
>>>>>    phone:  +1 (574) 631-7595
>>>>>    fax:    +1 (574) 631-6652
>>>>>    e-mail: gezelter at nd.edu
>>>>>    web:    http://www.nd.edu/~gezelter
>>>>> ************************************************
>>>>>
>>>>>
>>>>>
>>> ***********************************************
>>>    J. Daniel Gezelter
>>>    Associate Professor of Chemistry
>>>    Department of Chemistry and Biochemistry
>>>    251 Nieuwland Science Hall
>>>    University of Notre Dame
>>>    Notre Dame, IN 46556-5670
>>>
>>>    phone:  +1 (574) 631-7595
>>>    fax:    +1 (574) 631-6652
>>>    e-mail: gezelter at nd.edu
>>>    web:    http://www.nd.edu/~gezelter
>>> ************************************************
>>>
>>>
>>>
> ***********************************************
>    J. Daniel Gezelter
>    Associate Professor of Chemistry
>    Department of Chemistry and Biochemistry
>    251 Nieuwland Science Hall
>    University of Notre Dame
>    Notre Dame, IN 46556-5670
>
>    phone:  +1 (574) 631-7595
>    fax:    +1 (574) 631-6652
>    e-mail: gezelter at nd.edu
>    web:    http://www.nd.edu/~gezelter
> ************************************************
>
>
>



More information about the Openmd-developers mailing list