math/ggobi does not build, if graphics/graphviz installed

Rainer Hurling rhurlin at gwdg.de
Fri Apr 26 17:30:11 UTC 2013


On 26.04.2013 17:54 (UTC+2), Greg Larkin wrote:
> On 4/26/13 1:36 AM, Rainer Hurling wrote:
>> Am 25.04.2013 22:40 (UTC+1) schrieb Greg Larkin:
>>> On 4/25/13 12:02 PM, Rainer Hurling wrote:
>>>> On 25.04.2013 17:02 (UTC+2), Greg Larkin wrote:
>>>>> On 4/25/13 1:39 AM, Rainer Hurling wrote:
>>>>>> Am 24.04.2013 22:53 (UTC+1) schrieb Greg Larkin:
>>>>>>> On 4/24/13 1:38 PM, Rainer Hurling wrote:
>>>>>>>> Oops, sorry for answering myself. But the typo gremlin
>>>>>>>>  appeared.
>>>>>>>
>>>>>>>> On 23.04.2013 18:38 (UTC+2), Rainer Hurling wrote:
>>>>>>>>> Dear developers,
>>>>>>>>>
>>>>>>>>> I am the maintainer of math/ggobi and I could need
>>>>>>>>> some help for a longstanding problem with the build
>>>>>>>>> of ggobi (not seen by tinderbox):
>>>>>>>>>
>>>>>>>>> With graphics/graphviz installed, math/ggobi finds
>>>>>>>>> this external installation by its configure script in
>>>>>>>>>  plugins/GraphLayout. Then it tries to use it instead
>>>>>>>>> of its internal graphviz version and fails when
>>>>>>>>> trying to build the port.
>>>>>>>
>>>>>>>> The configure also sets HAVE_LIBGVC=1.
>>>>>>>
>>>>>>>>>
>>>>>>>>> The diff between graphics/graphviz/Makefile
>>>>>>>>> with/without external
>>>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>>>>>> plugins/GraphLayout/Makefile
>>>>>>>
>>>>>>>>> graphviz found is like this (the first version does
>>>>>>>>> not build):
>>>>>>>>>
>>>>>>>>> 158,159c158,159 < LIBGVC_CFLAGS = 
>>>>>>>>> -I/usr/local/include/graphviz < LIBGVC_LIBS = 
>>>>>>>>> -L/usr/local/lib/graphviz -lgvc -lgraph -lcdt ---
>>>>>>>>>> LIBGVC_CFLAGS = LIBGVC_LIBS =
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I am looking for either an elegant way to forbid this
>>>>>>>>>  configure script to use the external graphviz or to
>>>>>>>>> use the external graphviz correctly, when installed.
>>>>>>>>>
>>>>>>>>> If this would be possible, an option in the ports 
>>>>>>>>> Makefile could switch between them (and install
>>>>>>>>> external graphviz, if wanted).
>>>>>>>>>
>>>>>>>>> Could someone with more experience be so kind to push
>>>>>>>>> me in the right direction, please.
>>>>>>>>>
>>>>>>>>> Many thanks in advance, Rainer Hurling
>>>>>>>
>>>>>>> Hi Rainer,
>>>>>>>
>>>>>>> Can you post an excerpt of the build failure log file
>>>>>>> when math/ggobi attempts to build graphics/graphviz?
>>>>>
>>>>>> Hi Greg,
>>>>>
>>>>>> I created an excerpt of the build log and put it together
>>>>>> with config.log as a zip in the attachment.
>>>>>
>>>>>> Please tell me, if I should provide more information.
>>>>>
>>>>>> Many thanks for your answer, Rainer
>>>>>
>>>>>>>
>>>>>>> Thank you, Greg
>>>>>>>
>>>>>
>>>>> Hi Rainer,
>>>>>
>>>>> Can you send all config.log files that appear in the ggobi
>>>>> work directory?  That would include any that appear in the
>>>>> plugin build subdirectories.
>>>
>>>> Yep, of course. The attached zip should contain them all.
>>>
>>>> Thanks again, Rainer
>>>
>>>>>
>>>>> Thank you, Greg
>>>
>>> Hi Rainer,
> 
>> Hi Greg,
> 
>>> There doesn't appear to be an easy way to convince 
>>> plugins/GraphLayout/configure to ignore an already-installed
>>> version of graphviz, and I don't see any patches for ggobi that
>>> enable it to support new versions of graphviz.
> 
>> That's what I have been afraid of :(
> 
>>> At this point, I would add a post-configure target to the port 
>>> Makefile and use it to patch plugins/GraphLayout/Makefile and 
>>> plugins/GraphLayout/config.h to remove support for libgvc.  I did
>>> that manually, and I was able to build the plugin by hand with
>>> graphviz still installed.
> 
>> For me it would be ok to disable the facility to use external
>> graphviz installations.
> 
>> Would you agree to share your patch, so that I could use it in the
>> port? There was no attached patch ;)
> 
>> You helped me a lot. I had been looking for some time now to find
>> a solution for that problem. I really appreciate your help.
> 
>> Many thanks again, Rainer
> 
> 
> Hi Rainer,
> 
> Here are the patches that worked for me:
> 
> --- plugins/GraphLayout/config.h.orig   2013-04-26 15:48:23.000000000
> +0000
> +++ plugins/GraphLayout/config.h        2013-04-26 15:48:50.000000000
> +0000
> @@ -11,7 +11,7 @@
>  #define HAVE_INTTYPES_H 1
> 
>  /* whether the system has support for libgvc - graphviz */
> -#define HAVE_LIBGVC 1
> +/* #define HAVE_LIBGVC 1 */
> 
>  /* Define to 1 if you have the <memory.h> header file. */
>  #define HAVE_MEMORY_H 1
> 
> -and-
> 
> --- plugins/GraphLayout/Makefile.orig   2013-04-26 15:48:38.000000000
> +0000
> +++ plugins/GraphLayout/Makefile        2013-04-26 15:49:09.000000000
> +0000
> @@ -155,8 +155,8 @@
>  INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
>  LD = /usr/bin/ld
>  LDFLAGS =
> -LIBGVC_CFLAGS = -I/usr/local/include/graphviz
> -LIBGVC_LIBS = -L/usr/local/lib/graphviz -lgvc -lgraph -lcdt
> +LIBGVC_CFLAGS =
> +LIBGVC_LIBS =
>  LIBOBJS =
>  LIBS =
>  LIBTOOL = $(SHELL) $(top_builddir)/libtool
> 
> 
> I'll leave the integration of those into the port for you, but a
> custom post-configure target should help you.

Ok, these hints seems to be enough. I filed a PR [1] for this and hope,
it will be committed after some not to long time. I have been asked in
the last weeks from a few people how to build GGobi and only could
advise, to temporarily deinstall GraphViz before building GGobi. That
should be better now :)

> 
> Cheers,
> Greg

Again many thanks for all your help and for your patience,
Rainer

[1]  http://www.freebsd.org/cgi/query-pr.cgi?pr=178185


More information about the freebsd-ports mailing list