[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