GNOME Bugzilla – Bug 162253
building on amd64 fails (1.3.4)
Last modified: 2011-01-16 23:39:39 UTC
Trying to build a Debian package fails: if /bin/sh ../../libtool --mode=compile x86_64-linux-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgdamm\" -I../../libgda -I../../libgda -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgda-1.1 -I/usr/include/libxml2 -Wall -g -O2 -MT client.lo -MD -MP -MF ".deps/client.Tpo" -c -o client.lo client.cc; \ then mv -f ".deps/client.Tpo" ".deps/client.Plo"; else rm -f ".deps/client.Tpo"; exit 1; fi mkdir .libs x86_64-linux-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgdamm\" -I../../libgda -I../../libgda -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgda-1.1 -I/usr/include/libxml2 -Wall -g -O2 -MT client.lo -MD -MP -MF .deps/client.Tpo -c client.cc -fPIC -DPIC -o .libs/client.o In file included from ../../libgda/libgdamm/row.h:31, from ../../libgda/libgdamm/datamodel.h:32, from ../../libgda/libgdamm/connection.h:33, from ../../libgda/libgdamm/client.h:31, from client.cc:3: ../../libgda/libgdamm/value.h:190: error: `Gnome::Gda::Value::Value(long int)' and `Gnome::Gda::Value::Value(long int)' cannot be overloaded make[5]: *** [client.lo] Fehler 1
strange... i'm not sure *which* dependent library changed on my box or what changed the output, now i get this: if /bin/sh ../../libtool --mode=compile x86_64-linux-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgdamm\" -I../../libgda -I../../libgda -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgda-1.1 -I/usr/include/libxml2 -Wall -g -O2 -MT client.lo -MD -MP -MF ".deps/client.Tpo" -c -o client.lo client.cc; \ then mv -f ".deps/client.Tpo" ".deps/client.Plo"; else rm -f ".deps/client.Tpo"; exit 1; fi mkdir .libs x86_64-linux-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgdamm\" -I../../libgda -I../../libgda -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgda-1.1 -I/usr/include/libxml2 -Wall -g -O2 -MT client.lo -MD -MP -MF .deps/client.Tpo -c client.cc -fPIC -DPIC -o .libs/client.o In file included from ../../libgda/libgdamm/row.h:31, from ../../libgda/libgdamm/datamodel.h:32, from ../../libgda/libgdamm/connection.h:33, from ../../libgda/libgdamm/client.h:31, from client.cc:3: ../../libgda/libgdamm/value.h:190: error: `Gnome::Gda::Value::Value(time_t)' and `Gnome::Gda::Value::Value(gint64)' cannot be overloaded make[5]: *** [client.lo] Fehler 1 (not the data types changed in the last lines)
Thanks. I have removed that constructor in cvs. Please reopen this bug if there is still a problem.
finally the change made it into anoncvs, but there's still an issue: daniel@bert:~/sources/libgdamm1.3-1.3.5$ head -n5 ChangeLog 2005-01-04 Murray Cumming <murrayc@murrayc.com> * libgda/src/value.hg: Remove the time_t constructor, because it is ambiguous on 64-bit systems. Bug #162253 from Daniel Holbach. daniel@bert:~/sources/libgdamm1.3-1.3.5$ ./autogen.sh && make ... *snip* ... g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgdamm\" -I../../libgda -I../../libgda -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libgda-1.1 -I/usr/include/libxml2 -g -O2 -Wp,-MD,.deps/client.pp -c client.cc -fPIC -DPIC -o .libs/client.o In file included from ../../libgda/libgdamm/row.h:31, from ../../libgda/libgdamm/datamodel.h:32, from ../../libgda/libgdamm/connection.h:33, from ../../libgda/libgdamm/client.h:31, from client.cc:3: ../../libgda/libgdamm/value.h:190: error: `Gnome::Gda::Value::Value(long int)' and `Gnome::Gda::Value::Value(long int)' cannot be overloaded make[4]: *** [client.lo] Fehler 1
Sorry. Somehow the change to value.hg does not seem to have been submitted. I guess you have to wait again. Please do try to create a cvs patch. For instance, you might need to comment-out more constructors.
Created attachment 35551 [details] [review] patch (now building on amd64, Doxyfile cleaned up)
Comment on attachment 35551 [details] [review] patch (now building on amd64, Doxyfile cleaned up) I tried to figure the Value(lont int) issue out - pretty please triple-check what I did - my own project doesn't build at the moment because of an issue with wvstreams, so I'm not sure how functional libgdamm is after applying my patch. However, it builds on my amd64. Another thing I did, was updating docs/reference/Doxyfile.in - the build process complained about obsolete entries and I replaced @LIBGNOMEMM_DOXYGEN_INPUT@ by @LIBGDAMM_DOXYGEN_INPUT@ All the best, Daniel
Please don't do 2 unrelated things in one patch. Open a 2nd bug. The attachment does not seem to be a text file. Please try uploading it again and always remember to specify a file name.
Created attachment 35577 [details] [review] patch (now building on amd64) uploaded again, now with content type (text/plain)
OK, thanks. This will need a little thought, because people need some way to create those types of Value. By the way, 1. Please always patch the ChangeLog. 2. /* this is me */ is not a useful comment.
Created attachment 36911 [details] [review] libgda_amd64_murray.patch Replaces constructors with static create_as_* methods. This deals with gint64 and guint64, but I need to see the compilation error to know what to do about the long.
Created attachment 36972 [details] [review] Fixes Value constructors
oops, my comment went astray: your patch works nicely (against libgda-1-2 branch), I just added Value Value::create_as_time_t(time_t val)
Committed. Thanks.