Bug #16880 Unable to compile from supplied source sigc++-2.0 error
Submitted: 29 Jan 2006 6:59 Modified: 26 Apr 2006 17:11
Reporter: Ronald Bradford Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Preview Severity:S1 (Critical)
Version:1.0.1 OS:Linux (Linux)
Assigned to: Alfredo Kojima CPU Architecture:Any

[29 Jan 2006 6:59] Ronald Bradford
Description:
Attempt to compile MySQL Workbench 1.0.1 from source failed using ftp://ftp.mysql.com/pub/mysql/download/mysql-workbench-1.0.1.tar.gz

Attempting to compile mysql-gui-common

MySQLGRT/MGRTValueTree.cc:255: instantiated from here
/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:158: error: 'const class sigc::bound_argument >&>’ has no member named ‘visit’
make[3]: *** [MGRTValueTree.o] Error 1
make[3]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common/source/linux’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common/source’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common’

How to repeat:
Following  instructions as supplied in mysql-workbench-1.0.1/mysql-workbench/README.linux

$ su -
$ cd /src
$ wget ftp://ftp.mysql.com/pub/mysql/download/mysql-workbench-1.0.1.tar.gz
$ tar xvfz mysql-workbench-1.0.1.tar.gz
$ cd mysql-workbench-1.0.1
$ cd mysql-gui-common
$ ./configure
$ make --enable-grt --enable-canvas
MySQLGRT/MGRTValueTree.cc:255: instantiated from here
/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:158: error: 'const class sigc::bound_argument >&>’ has no member named ‘visit’
make[3]: *** [MGRTValueTree.o] Error 1
make[3]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common/source/linux’
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common/source’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-gui-common’
make: *** [all] Error 2

Suggested fix:
I have no idea.  Perhaps exact confirmation of required libraries, or precise versions used to build as I meet the general requirements.

README.linux provides requirements as:

- gtkmm-2.4 or newer and it's dependencies, such as:
        - glibmm-2.4
        - libsigc++-2.0
        - gtk-2.4 (or whatever is required by gtkmm)
- libpcre-5
- MySQL client libraries and headers for MySQL >= 5.0
- OpenGL libraries and headers
- lua 5 (www.lua.org)

Google gets me to http://mail.gnome.org/archives/gtkmm-list/2005-November/msg00194.html which repeats the same problem, however no solution. Further reference to confirm the libc++ 2.0 API Docs indicating visit is indeed a member. I have the latest version from http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/ of 2.0.17. No indication of error at Gnome Bug Tracking including using detailed serach. So I’ve exhausted my investigative knowledge here.
[29 Jan 2006 10:33] Jorge del Conde
Thanks for your bug report.  Tested under FC4
[31 Jan 2006 13:46] John Yodsnukis
I was able to compile with
- glibmm-2.8.1
- gtk+-2.8.8
- libsigc++-2.0.11

libsigc++ 2.0.15 and 2,0.16 both failed with the "visit" error:
MySQLGRT/MGRTValueTree.cc:255: instantiated from here
/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:158: error: 'const
class sigc::bound_argument >&>’ has no member named ‘visit’
[1 Feb 2006 6:02] Ronald Bradford
Thanks for your dependencies. My environment (CentOS 4.2 a.k.a RHEL 4.2)
libsigc++-2.0.17
glib-2.6.6
glibmm-2.6.1
atk-1.9.0
pango-1.8.2
gtk+-2.6.9
gtkmm-2.6.5
lua-5.0.2

downgrade to libsigc++-2.0.11

mysql-gui-common compiles
mysql-workbench fails.
Error:
../../../mysql-gui-common/library_gc/source/libgcanvas.a(myx_gc_gl_helper.o)(.text+0x1b5): In function `getProcAddress(char const*)':
/src/mysql-workbench-1.0.1/mysql-gui-common/library_gc/source/myx_gc_gl_helper.cpp:264: undefined reference to `glXGetProcAddress'
collect2: ld returned 1 exit status
make[3]: *** [mysql-workbench-bin] Error 1
make[3]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source/linux'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source/linux'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source'
make: *** [all-recursive] Error 1

Reconfiguration to as close as possible as your dependancies.
pango-1.10.2  # with cairo enabled (also new requirement)
glib-2.8.6
atk-1.10.3
glibmm-2.8.1
cairo-1.0.2  # New Requirement
gtk+-2.8.8
gtkmm-2.8.2

reconfigure and rebuild mysql-gui-common ok.
reconfigure and rebuild mysql-workbench failed.

/usr/lib/python2.3/config/libpython2.3.a(posixmodule.o)(.text+0x3c5a): In function `posix_tmpnam':
: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
/usr/lib/python2.3/config/libpython2.3.a(posixmodule.o)(.text+0x3b94): In function `posix_tempnam':
: warning: the use of `tempnam' is dangerous, better use `mkstemp'
../../../mysql-gui-common/library_gc/source/libgcanvas.a(myx_gc_gl_helper.o)(.text+0x1b5): In function `getProcAddress(char const*)':
/src/mysql-workbench-1.0.1/mysql-gui-common/library_gc/source/myx_gc_gl_helper.cpp:264: undefined reference to `glXGetProcAddress'
collect2: ld returned 1 exit status
make[3]: *** [mysql-workbench-bin] Error 1
make[3]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source/linux'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source/linux'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/mysql-workbench-1.0.1/mysql-workbench/source'
make: *** [all-recursive] Error 1

I'm fully prepared to install the exact same distro and every necessary library in order to reproduce your development environment exactly, for the purpose of seeing this working so Ican start to review it.  Please advise if you are unable to verify this error.
[1 Feb 2006 6:57] Ronald Bradford
For additional information, I run the nvidia driver 1.0-7174 which is a little out of date, so I am currently upgrading to the lasted. However the following post on the nvidia forums may assist the developers (and make a lot more sense to them). Post from nvidia corporation.

This is not a NVIDIA bug, glXGetProcAddress() is part of GLX 1.4, which the NVIDIA Linux/UNIX graphics driver doesn't claim to support (nor do I think was GLX 1.4 ever finalized); you should always use glXGetProcAddressARB().

http://www.nvnews.net/vbulletin/showthread.php?t=15297
[1 Feb 2006 16:01] John Yodsnukis
My versions are:

- pango-1.10.2
- glib-2.8.5 *
- atk-1.10.3
- glibmm-2.8.1
- cairo-1.0.2
- gtk+-2.8.8
- gtkmm-2.8.1 *

(* - where different)

I'm using ATI Mach64 video hardware, not nVidia.  I hope this helps.
[14 Mar 2006 5:15] [ name withheld ]
I'm having the same problem trying to compile mysql-gui-common on ubuntu/dapper:

/usr/include/sigc++-2.0/sigc++/adaptors/bound_argument.h:158: error: ‘const class sigc::bound_argument<std::list<MYX_GRT_VALUE*, std::allocator<MYX_GRT_VALUE*> >&>’ has no member named ‘visit’

libpango1.0-0  1.12.0-0ubuntu1
libglib2.0-0  2.10.1-0ubuntu1
libatk1.0-0  1.11.3-0ubuntu1
libglibmm-2.4-1c2a  2.10.0-0ubuntu1
libcairo2  1.0.2-3ubuntu1
libgtk2.0-0  2.8.14-0ubuntu1
libgtkmm-2.4-1c2a  1:2.8.3-0ubuntu1
libsigc++-2.0-0c2a  2.0.16-2

Any thoughts?
[26 Apr 2006 17:11] Alfredo Kojima
glXGetProcAddress was fixed, the sigc++ error is due to incompatibilities in the newer versions. I'll verify what's wrong with 2.0.16+ but meanwhile, please use 2.0.11
[3 Aug 2006 10:18] Sveta Smirnova
Duplicate bug #21082
[18 Apr 2007 23:49] Philip Paquette
Last comment say:

"glXGetProcAddress was fixed, the sigc++ error is due to incompatibilities in the
newer versions. I'll verify what's wrong with 2.0.16+ but meanwhile, please use
2.0.11"

I'd like to know if 2.0.16+ has been fixed or is it still pending.

Thanks

Downstream: https://bugs.launchpad.net/ubuntu/+source/libsigc++-2.0/+bug/53062
[26 Nov 2012 17:12] gull faraz
nice information i like it very much thank you http://www.readenews.com/2012/11/samsung-galaxy-note-ii-sales-hit-5.html