The challenges of compiling non working Open Source (Part 3)?

I’m not there yet with compiling MySQL Workbench from the previously released 1.0.0-alpha source for linux. I’d like to think I’m getting closer but not really certain. I’m getting good response to my Bug Report #16604 from MySQL Staff. Seems I work at it during the day, update, and then next morning there is some more info, but still doesn’t cut the cheese, as it just moves me to next error.

So in my last edition, I got an error and installed a lua product (which was the right one), but I didn’t do a configure again, just a compile. I bet that’s a C/C++ 101 lesson. Also as per request, added Java options consistent with my environment. So:

<br /> $ cd /src/mysql-workbench-1.0.0/mysql-gui-common/<br /> $ ./configure --enable-grt --enable-canvas --with-java-ldflags="-L/opt/j2sdk1.4.2_10/jre/lib/i386/client/ -ljvm"<br /> ./configure: line 5556: ./po/POTFILES.in: No such file or directory<br />

<br /> $ make<br /> MySQLGRT/MGRTValueTree.cc:255: instantiated from here<br /> /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*> >&#038;>' has no member named 'visit'<br /> make[3]: *** [MGRTValueTree.o] Error 1<br /> make[3]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common/source/linux'<br /> make[2]: *** [all-recursive] Error 1<br /> make[2]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common/source'<br /> make[1]: *** [all-recursive] Error 1<br /> make[1]: Leaving directory `/src/mysql-workbench-1.0.0/mysql-gui-common'<br /> make: *** [all] Error 2<br />

There is an error in the configure file at line 5556. Must have missed before, but I doubt, related to the later error.
So still not luck, with another solid C++ error. Some more research.

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.

The second recommendation from support.

_If you want, you can try the latest version in the subversion repository, which should be easier to build. That version doesn’t require Java and have several issues fixed:
svn co http://svn.mysql.com/svnpublic/mysql-gui-common/
svn co http://svn.mysql.com/svnpublic/mysql-workbench/
_

So, after checking out what’s needed for SubVersion at http://subversion.tigris.org/ .

<br /> wget http://dag.wieers.com/packages/subversion/subversion-1.2.1-0.1.2.el4.rf.i386.rpm<br /> rpm -ivh subversion-1.2.1-0.1.2.el4.rf.i386.rpm<br /> svn co http://svn.mysql.com/svnpublic/mysql-gui-common/<br /> svn co http://svn.mysql.com/svnpublic/mysql-workbench/<br /> cd mysql-gui-common<br /> ./configure<br /> -bash: ./configure: No such file or directory<br />

Oops, seems that file is not in the repository (at least the repository I have access to, so hoping this is built on ).

<br /> $ cp /src/mysql-workbench-1.0.0/mysql-gui-common/configure .<br /> $ ./configure<br /> $ config.status: error: cannot find input file: Makefile.in<br />

<br /> $ cp /src/mysql-workbench-1.0.0/mysql-gui-common/Makefile.in .<br /> $ ./configure<br /> config.status: error: cannot find input file: library/Makefile.in<br />

Ok, there’s a pattern here:

<br /> $ find /src/mysql-workbench-1.0.0 -name Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/res/linux/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/res/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/images/palette/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/images/toolbar/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/images/icons/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/images/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/images/cursors/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/source/lua/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/source/linux/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-workbench/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/res/grt/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/res/linux/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/res/po/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/res/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/newt/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/ftgl/src/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/ftgl/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_gc/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_parse_sql_statemets/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_mysql_api/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_xml/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_detect_charset/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/read_international/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/tests/test_translations/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/structs/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/icons/db/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/icons/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/grt/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/icons/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/icons/png/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/images/png/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_workbench/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_workbench/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/source/lua/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/source/linux/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/source/grtsh/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_util/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_util/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_parser/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_parser/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_modules/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_grt_modules/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_resultset/source/Makefile.in<br /> /src/mysql-workbench-1.0.0/mysql-gui-common/library_sql_resultset/Makefile.in<br />

<br /> $ find . -name Makefile.in<br /> ./library/Makefile.in<br /> ./Makefile.in<br />
Seems there are 43 Makefile.in and they are all not there. So script a copy of all this files over into new structure.

<br /> $ ./configure<br /> config.status: error: cannot find input file: res/po/Makefile.in.in<br /> $ cp /src/mysql-workbench-1.0.0/mysql-gui-common/res/po/Makefile.* res/po/<br /> $ ./configure<br /> $ ./configure --enable-grt --enable-canvas<br /> $ make<br /> In file included from ....mysql-gui-commonlibrary_sql_parsersourcemyx_sql_parser.yy:21:<br /> ../include/MyxSQLTreeItem.h:171:28: warning: no newline at end of file<br /> ....mysql-gui-commonlibrary_sql_parsersourcemyx_sql_parser.tab.cc: In function `int yyparse()':<br /> ....mysql-gui-commonlibrary_sql_parsersourcemyx_sql_parser.tab.cc:28452: error: expected primary-expression before "__attribute__"<br /> ....mysql-gui-commonlibrary_sql_parsersourcemyx_sql_parser.tab.cc:28452: error: expected `;' before "__attribute__"<br /> make[3]: *** [myx_sql_parser.tab.o] Error 1<br /> make[3]: Leaving directory `/src/wb/mysql-gui-common/library_sql_parser/source'<br /> make[2]: *** [all-recursive] Error 1<br /> make[2]: Leaving directory `/src/wb/mysql-gui-common/library_sql_parser'<br /> make[1]: *** [all-recursive] Error 1<br /> make[1]: Leaving directory `/src/wb/mysql-gui-common'<br /> make: *** [all] Error 2<br />

Well, I’ve now exhausted this as well.

Tagged with: General

Related Posts

MySQL and Heatwave Summit Presentation

Last week I had the opportunity to speak at the MySQL and Heatwave Summit in San Francisco. I discussed the impact of the new MySQL 8.0 default caching_sha2_password authentication, replacing the mysql_native_password authentication that was the default for approximately 20 of the 30 years that MySQL has existed.

Read more

Readyset QueryPilot Announcement

At the MySQL and Heatwave Summit 2025 today, Readyset announced a new data systems architecture pattern named Readyset QueryPilot . This architecture which can front a MySQL or PostgreSQL database infrastructure, combines the enterprise-grade ProxySQL and Readyset caching with intelligent query monitoring and routing to help support applications scale and produce more predictable results with varied workloads.

Read more

More CPUs or Newer CPUs

In a CPU-bound database workload, regardless of price, would you scale-up or scale-new? What if price was the driving factor, would you scale-up or scale-new? I am using as a baseline the first available AWS Graviton2 processor for RDS (r6g).

Read more