databases/libgda4 fails to build with graphviz installed
Ruslan Makhmatkhanov
cvs-src at yandex.ru
Fri Mar 22 06:55:08 UTC 2013
Kevin Oberman wrote on 22.03.2013 09:17:
> On Tue, Mar 19, 2013 at 12:11 PM, Ruslan Makhmatkhanov
> <cvs-src at 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.
More information about the freebsd-gnome
mailing list