GNOME Bugzilla – Bug 330539
g-wrap-wct.h not existing on Ubuntu Breezy
Last modified: 2018-06-29 20:56:59 UTC
On Debian and Debian-based distributions such as Ubuntu, there is a compile failure: gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../.. -I../.. -I../../lib/libc -I../../src/core-utils -I../../src -I../../src/gnc-module -I../../src/business/business-core/ -I../../lib/libqof/qof -DGNUCASH -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -std=gnu99 -g -O2 -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Werror -Wdeclaration-after-statement -Wno-pointer-sign -MT engine-helpers.lo -MD -MP -MF .deps/engine-helpers.Tpo -c engine-helpers.c -fPIC -DPIC -o .libs/engine-helpers.o engine-helpers.c:27:24: error: g-wrap-wct.h: No such file or directory I have g-wrap-1.9.6-2ubuntu2. The file in question has been moved to <g-wrap/guile-wct.h>. (That is, /usr/include/g-wrap/guile-wct.h.) There exists a workaround, ( http://blog.moria.org.uk/computers/code/g-wrap ), but it may be advantageous to either require the fixed version (1.9.6-3 on Debian or Ubuntu Dapper; not yet ported to Ubuntu Breezy) or check for a workaround. For more information, see the Debian bug report: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=323462
*** Bug 330538 has been marked as a duplicate of this bug. ***
Note that this issue does cause a build failure; the build process bombs out as follows: gnc-hooks.c:29:24: error: g-wrap-wct.h: No such file or directory cc1: warnings being treated as errors gnc-hooks.c: In function 'call_scm_hook_1': gnc-hooks.c:194: warning: implicit declaration of function 'gw_wcp_assimilate_ptr' gnc-hooks.c:195: warning: passing argument 2 of 'scm_call_1' makes pointer from integer without a cast In addition to engine-helpers.c, this also affects: src/engine/glib-helpers.c src/engine/kvp-scm.c src/engine/gnc-hooks.c src/app-utils/gnc-helpers.c src/app-utils/guile-util.c src/app-utils/option-util.c src/gnome-utils/dialog-options.c src/gnome-utils/gnc-file.c src/gnome-utils/gnc-plugin-menu-additions.c src/report/report-gnome/dialog-column-view.c src/report/report-gnome/gnc-plugin-page-report.c src/report/report-gnome/window-report.c src/gnome/gnc-plugin-page-register.c src/gnome/top-level.c src/import-export/qif-import/druid-qif-import.c src/business/business-core/gncBusGuile.c src/business/business-utils/business-options.c src/business/business-gnome/business-options-gnome.c src/business/business-gnome/dialog-invoice.c src/business/business-gnome/ Changing lines reading #include <g-wrap-wct.h> to #include <g-wrap/guile-wct.h> allowed the build process to complete for me, but I don't know if that breaks backward compatibility with older versions of g-wrap.
That last 'src/business/business-gnome/' isn't supposed to refer to any extra file or anything. Oops.
I avoided this by installing libgwrapguile-dev on ubuntu breezy.
Errr... the debian bugreport says that there is a fixed libgwrap Debian package available since September 2005. Also, if I understand correctly then this doesn't concern developers who have built and installed g-wrap from its source package, so it's rather a Debian thing, which by coincidence has already been fixed in Debian as the bugreport noted. What else should gnucash do? Note that we probably cannot check for Debian package numbers (the 1.9.6-2 vs. 1.9.6-3) as I have no idea how gnucash's configure.in should check for debian-specific version numbers. Oh, wait -- we *could* add a specific check for the existence of that header file. That would work. As for comment#4: Isn't libgwrapguile-dev from g-wrap 1.3.x? If yes, then this would be not a working workaround but probably rather the cause for bug#330560 .
*** Bug 330655 has been marked as a duplicate of this bug. ***
This is a debian/ubuntu-specific problem and has already been fixed in debian. You should pull down their package, or rebuild 1.9.6-3 on breezy. The g-wrap 1.9.6 tree installs the header file where we're looking for it, so I see no reason to specifically add code in gnucash to work around an already-fixed debian/ubuntu bug.
Actually, I'm going to leave this open because we'll probably get lots of other bug reports about this until ubuntu gets their act together.. But eventually this will be closed as WONTFIX (or NOTGNOME, or INVALID).
Okay, I've put a change into SVN r13195 that will bomb out configure when it can't find g-wrap-wct.h where it expects g-wrap to put it. This way you'll get a configure message (pointing you to this bug report) instead of a make failure later on. Enjoy!
Ok, so we can consider this bug closed, I guess. The configure error message will clearly state to fix this by installing g-wrap 1.9.6-3 .
On Debian (not Ubuntu), the problem was not that I had the wrong version of g-wrap, but that I hadn't installed guile-1.6-dev at all. This is now caught by 1.9.1's configure, but in 1.9.0 it didn't fail until compilation (as described in the opening comment). I'm adding this comment for other people who were directed to this page but who have the latest g-wrap: make sure you have guile-1.6-dev installed also.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=330539. Please update any external references or bookmarks.