Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Mar 2013 10:54:34 +0400
From:      Ruslan Makhmatkhanov <cvs-src@yandex.ru>
To:        Kevin Oberman <rkoberman@gmail.com>
Cc:        FreeBSD GNOME Users <gnome@freebsd.org>, Jeremy Messenger <mezz.freebsd@gmail.com>
Subject:   Re: databases/libgda4 fails to build with graphviz installed
Message-ID:  <514C002A.3040405@yandex.ru>
In-Reply-To: <CAN6yY1tkPFeFJ=GZmUqn_WenJ720KTXh9h-tQRw48rjTUnOgVg@mail.gmail.com>
References:  <CAN6yY1uQpqJm=Z2NZEr64O=cjyTDq9K64bFTVhvYAHCJfu9BUw@mail.gmail.com> <5148B845.2060602@yandex.ru> <CAN6yY1tkPFeFJ=GZmUqn_WenJ720KTXh9h-tQRw48rjTUnOgVg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman wrote on 22.03.2013 09:17:
> On Tue, Mar 19, 2013 at 12:11 PM, Ruslan Makhmatkhanov
> <cvs-src@yandex.ru> wrote:
>> Kevin Oberman wrote on 19.03.2013 22:59:
>>
>>> When I attempted building libgda-4.2.12 it failed wit the error:
>>> gmake[3]: Entering directory
>>> `/usr/ports/databases/libgda4/work/libgda-4.2.12/tools/browser/canvas'
>>>     CC     browser-canvas.lo
>>> browser-canvas.c: In function 'popup_export_cb':
>>> browser-canvas.c:604: warning: null format string
>>> browser-canvas.c: In function 'browser_canvas_perform_auto_layout':
>>> browser-canvas.c:937: error: incompatible type for argument 2 of 'agopen'
>>> browser-canvas.c:937: error: too few arguments to function 'agopen'
>>> browser-canvas.c:938: warning: implicit declaration of function
>>> 'agnodeattr'
>>> browser-canvas.c:971: error: too few arguments to function 'agnode'
>>> browser-canvas.c:1015: error: too few arguments to function 'agedge'
>>>
>>> This path is only taken when graphviz is installed, so a redports  or an
>>> -exp build would not have caught it. When I look up the calls that produce
>>> the errors, the arguments required have no similarity that I can see to
>>> those in browser-canvas code.
>>>>
>>>>  From /usr/local/include/graphviz/cgraph.h:
>>>
>>> extern Agraph_t *agopen(char *name, Agdesc_t desc, Agdisc_t * disc);
>>> While line 937 only passes two arguments. Similar for the remainder.
>>>
>>> Is this a version incompatibility with the the graphviz API?
>>
>>
>> I second this. Both 4.2.5 and 4.2.12 fail if graphviz is installed. And get
>> this if it is not:
>> browser-canvas.c:33:10: fatal error: 'gvc.h' file not found
>
> I just did some more work on this as I had another system where it was
> building fine. While the code generating the errors was only compiled
> when graphviz is installed, it is ALSO only compiled when goocanvas is
> installed. While I need graphviz, I don't know why goocanvas was
> installed. It had only two packages that depended on it, ruby18-gnome2
> and ruby18-goocanvas.
>
> I deleted all three packages and libgda4 now builds fine.
>
> I suspect that either something I had installed used to need
> ruby8-goocanvas or I have deleted whatever package caused them to be
> installed.
>
> This does not mean the problem is fixed, of course. If built on a
> system where goocanvas is required, the issue remains. Clearly the
> graphviz ABI has changed at some time and libgda4 no longer will work
> with it. If I have some time I may see if I can find a fix, but I'll
> admit that now that I don't need it fixed, I may not get far.

Thank you for your investigation. I was able to fix the build by adding 
--without-goocanvas to databases/libgda4/Makefile:CONFIGURE_ARGS, as 
Jeremy noted. The only goocanvas-related ports I have:

goocanvas-0.15_4    Canvas widget for GTK+
py27-goocanvas-0.14.1_4 GooCanvas python bindings

But I didn't bother to remove any of them.

-- 
Regards,
Ruslan

Tinderboxing kills... the drives.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?514C002A.3040405>