GNOME Bugzilla – Bug 362898
CVS libgda compilation fails on sqlite provider (no rule for sqlite_specs_create_db.xml)
Last modified: 2006-12-29 15:43:47 UTC
Please describe the problem: gcc -shared .libs/gda-sqlite-ddl.o .libs/gda-sqlite-handler-bin.o .libs/gda-sqlite-provider.o .libs/gda-sqlite-recordset.o .libs/utils.o .libs/libmain.o -Wl,--whole-archive ../../providers/sqlite/sqlite-src/.libs/libsqlite.a -Wl,--no-whole-archive -Wl,--rpath -Wl,/home/elmarco/cvs/gnome2/libgda/libgda/.libs -Wl,--rpath -Wl,/opt/gnome2/lib -Wl,--rpath -Wl,/opt/gnome2/lib ../../libgda/.libs/libgda-3.so -L/opt/gnome2/lib -L/home/elmarco/cvs/gnome2/libgda/libsql/.libs /opt/gnome2/lib/libgobject-2.0.so /opt/gnome2/lib/libgthread-2.0.so /opt/gnome2/lib/libgmodule-2.0.so -ldl /opt/gnome2/lib/libglib-2.0.so /opt/gnome2/lib/libxslt.so -lz -lm /opt/gnome2/lib/libxml2.so -pthread -Wl,--export-dynamic -Wl,-soname -Wl,libgda-sqlite.so -o .libs/libgda-sqlite.so creating libgda-sqlite.la (cd .libs && rm -f libgda-sqlite.la && ln -s ../libgda-sqlite.la libgda-sqlite.la) make[3]: *** Pas de règle pour fabriquer la cible « sqlite_specs_create_db.xml », nécessaire pour « all-am ». Arrêt. make[3]: quittant le répertoire « /home/elmarco/cvs/gnome2/libgda/providers/sqlite » make[2]: *** [all-recursive] Erreur 1 make[2]: quittant le répertoire « /home/elmarco/cvs/gnome2/libgda/providers/sqlite » make[1]: *** [all-recursive] Erreur 1 make[1]: quittant le répertoire « /home/elmarco/cvs/gnome2/libgda/providers » make: *** [all-recursive] Erreur 1 * Steps to reproduce: compiled from jhbuild 2.18 environnement Actual results: Expected results: Does this happen every time? yes Other information:
Vivien, Actually, this bug seems not to be related to dash, but to GNU make. A step-by-step stripped down version of the generated Makefile has been the only way to track the bug. May be this is finally a shell issue. I don't know. Anyway, I swapped some line in the Makefile to figure out that just moving up the rule was enough to correct it. Please find the patch enclosed.
Created attachment 75049 [details] [review] switch two lines of the providers/*/Makefile.am
You mean just adding an empty line before "xml_DATA = $(xml_in_files:.xml.in=.xml)" does the trick?
no, the @INTLTOOL_XML_RULE@ need to be inserted before the xml_DATA line. Weird, really.
When I cut down the generated Makefile, I noticed that the swap was not necessary (normal). But with the original large Makefile, the swap was needed. That's why I think it's related to GNU Make (something like a "rule limit"...?)
All right, I understand because the patch you proposed here does not do that, it simply adds an empty line before the "xml_DATA = $(xml_in_files:.xml.in=.xml)" lines.
The "diff" view is not helpful in this case. The xml_DATA line is *really* below the @INTLTOOL_stuff@ after applying the patch (or I am a fool) :)
Ooops, sorry I was a bit quick there, you're not a fool! Thanks for the patch! Vivien
Is this still nececessary? Should it be applied?
By the way, "cvs diff -up" patches are easier to read.
It's been applied some time ago, I forgot to close the bug at that time. Closing now.