MySQL Workbench 6.3.3 and 6.3.4 both fail to build with the same errors. Relevant portion of build log below: [ 71%] Building CXX object library/sql.parser/source/CMakeFiles/sqlparser.dir/charset-def.cpp.o cd /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-6.3.3_build/library/sql.parser/source && /usr/bin/x86_64-pc-linux-gnu-g++ -DHAVE_PRCTL_H -DMYSQLCPPCONN_VERSION_1_1_4 -DMYSQLCPPCONN_VERSION_1_1_5 -D__STDC_FORMAT_MACROS -Dsqlparser_EXPORTS -DNDEBUG -O2 -pipe -march=native -fPIC -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/plugins/migration/copytable -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/base -I/usr/include/gtk-2.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include -I/usr/include/glibmm-2.4 -I/usr/lib64/glibmm-2.4/include -I/usr/include/giomm-2.4 -I/usr/lib64/giomm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/cairomm-1.0 -I/usr/lib64/cairomm-1.0/include -I/usr/include/pangomm-1.4 -I/usr/lib64/pangomm-1.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib64/gdkmm-2.4/include -I/usr/include/gtkmm-2.4 -I/usr/lib64/gtkmm-2.4/include -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/. -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/../include -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/modules/db.mysql.sqlparser/src -I/usr/include/mysql -I/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./linux -o CMakeFiles/sqlparser.dir/charset-def.cpp.o -c /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/charset-def.cpp In file included from /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/mysys_priv.h:17:0, from /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/charset-def.cpp:17: /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_global.h:643:9: error: ‘SOCKET_SIZE_TYPE’ does not name a type typedef SOCKET_SIZE_TYPE size_socket; ^ In file included from /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/mysys_priv.h:17:0, from /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/charset-def.cpp:17: /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_global.h:609:21: error: ‘RETSIGTYPE’ has not been declared #define sig_handler RETSIGTYPE ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_sys.h:686:50: note: in expansion of macro ‘sig_handler’ extern void my_remember_signal(int signal_number,sig_handler (*func)(int)); ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_global.h:609:21: error: ‘RETSIGTYPE’ does not name a type #define sig_handler RETSIGTYPE ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_sys.h:727:8: note: in expansion of macro ‘sig_handler’ extern sig_handler sigtstp_handler(int signal_number); ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_global.h:609:21: error: ‘RETSIGTYPE’ does not name a type #define sig_handler RETSIGTYPE ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_sys.h:730:8: note: in expansion of macro ‘sig_handler’ extern sig_handler my_set_alarm_variable(int signo); ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_global.h:635:17: error: ‘RETQSORTTYPE’ does not name a type #define qsort_t RETQSORTTYPE /* Broken GCC cant handle typedef !!!! */ ^ /var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-community-6.3.3-src/library/sql.parser/source/./my_sys.h:734:8: note: in expansion of macro ‘qsort_t’ extern qsort_t qsort2(void *base_ptr, size_t total_elems, size_t size, ^ library/sql.parser/source/CMakeFiles/sqlparser.dir/build.make:62: recipe for target 'library/sql.parser/source/CMakeFiles/sqlparser.dir/charset-def.cpp.o' failed make[2]: *** [library/sql.parser/source/CMakeFiles/sqlparser.dir/charset-def.cpp.o] Error 1 make[2]: Leaving directory '/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-6.3.3_build' CMakeFiles/Makefile2:1656: recipe for target 'library/sql.parser/source/CMakeFiles/sqlparser.dir/all' failed make[1]: *** [library/sql.parser/source/CMakeFiles/sqlparser.dir/all] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-db/mysql-workbench-6.3.3/work/mysql-workbench-6.3.3_build' Makefile:127: recipe for target 'all' failed make: *** [all] Error 2 * ERROR: dev-db/mysql-workbench-6.3.3::gentoo failed (compile phase): * emake failed Reproducible: Always emerge --info: Portage 2.2.20 (python 3.4.3-final-0, default/linux/amd64/13.0/systemd, gcc-4.9.3, glibc-2.21-r1, 4.1.3-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.1.3-gentoo-x86_64-Intel-R-_Core-TM-_i7-4770HQ_CPU_@_2.20GHz-with-gentoo-2.2 KiB Mem: 16340224 total, 5495332 free KiB Swap: 2047996 total, 2047996 free Timestamp of repository gentoo: Mon, 03 Aug 2015 12:00:01 +0000 sh bash 4.3_p39 ld GNU ld (Gentoo 2.25.1 p1.0) 2.25.1 app-shells/bash: 4.3_p39::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.0::gentoo dev-lang/python: 2.7.10::gentoo, 3.4.3::gentoo dev-util/cmake: 3.3.0::gentoo dev-util/pkgconfig: 0.28-r3::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.17::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.1::gentoo (virtual/os-headers) sys-libs/glibc: 2.21-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 drdim location: /var/lib/layman/drdim sync-type: laymansync sync-uri: https://github.com/drdim/layman.git masters: gentoo priority: 50 sublime-text location: /var/lib/layman/sublime-text sync-type: laymansync sync-uri: git://github.com/DamnWidget/sublime-text.git masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X acl acpi alsa amd64 berkdb bluetooth branding bzip2 cjk cli colord corefonts cracklib crypt cups cxx dbus dri ffmpeg flac fortran gdbm gif iconv icu ipv6 ithreads jemalloc jpeg json libnotify lock mmx mmxext modules multilib ncurses networkmanager nls nptl nsplugin opengl openmp optimization pam pcre pdf png policykit pulseaudio readline session sqlite sse sse2 ssl startup-notification strong-optimization symlink systemd tcpd threads thunar truetype udev udisks unicode usb vim-syntax wifi zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="evdev synaptics keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="intel i915" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
What are the installed versions and USE flags of virtual/mysql, virtual/libmysqlclient, dev-db/mysql, dev-db/mariadb, dev-db/percona-server, dev-db/mysql-connector-c, dev-db/mariadb-galera and/or dev-db/mysql-cluster? (Omit any that do not exist on the machine)
Also, please attach the full build.log file to this bug
virtual/libmysqlclient-18 virtual/mysql-5.6-r6 dev-db/mariadb-10.0.20-r1 dev-db/mysql-connector-c-6.1.6 I can't attach the build.log as it exceeds the 1000 kb limit.
(In reply to Josh Holmer from comment #3) > I can't attach the build.log as it exceeds the 1000 kb limit. Compress it with bzip2 or xz first then
(In reply to Brian Evans from comment #4) > (In reply to Josh Holmer from comment #3) > > I can't attach the build.log as it exceeds the 1000 kb limit. > > Compress it with bzip2 or xz first then Never mind, I tried that just now but it still fails. In Chrome I get an E_ACCESS_DENIED error. In Firefox I click the Submit button and nothing appears to happen at all.
I would suspect this is related to using gcc 4.9. I have not tested that myself yet.
I have the same issue. I am using gcc 4.9.x since 01/2015 and built mysql-workbench many times before. Thus it is a current bug elsewhere. Linux oriongl64 4.1.0-gentoo #1 SMP Tue Jun 23 11:40:48 CEST 2015 x86_64 Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz GenuineIntel GNU/Linux
(In reply to Tom-Steve Watzke from comment #7) > I have the same issue. > I am using gcc 4.9.x since 01/2015 and built mysql-workbench many times > before. > Thus it is a current bug elsewhere. > > Linux oriongl64 4.1.0-gentoo #1 SMP Tue Jun 23 11:40:48 CEST 2015 x86_64 > Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz GenuineIntel GNU/Linux Which mysql server and client versions are you building against?
Here are my "mysql versions": $ equery -Cq l $(qlist -IC mysql) dev-db/mysql-5.6.26-r1 dev-db/mysql-connector-c++-1.1.6 dev-db/mysql-connector-c-6.1.6 dev-db/mysql-init-scripts-2.1_alpha4 dev-db/mysql-workbench-6.3.4 dev-perl/DBD-mysql-4.31.0 virtual/libmysqlclient-18 virtual/mysql-5.6-r6
I've hit the same error. The socket defines should come from the MYSQL server package... As Gentoo recently switched to virtual/libmysqlclient dev-db/mysql-connector-c I tried to downgrade my mysql version before this change. # forcefully nuke it... emerge -C virtual/libmysqlclient dev-db/mysql-connector-c # need the older virtual otherwise we pull in dev-db/mysql-connector-c again emerge -av1 =dev-db/mysql-5.6.24 =virtual/mysql-5.6-r2 As the mysql-connector-c++ linkage to libmysqlclient broke, I needed to recompile mysql-connector-c++. emerge -1 mysql-connector-c++ Compiling went fine then. So the bug seems to be hidden somewhere in the linkage or inclusion of headers from mysql package due to split in mysql-connector-c.
(In reply to h.habighorst from comment #10) > I've hit the same error. > > The socket defines should come from the MYSQL server package... As Gentoo > recently switched to > > virtual/libmysqlclient > dev-db/mysql-connector-c > > I tried to downgrade my mysql version before this change. > > # forcefully nuke it... > emerge -C virtual/libmysqlclient dev-db/mysql-connector-c > > # need the older virtual otherwise we pull in dev-db/mysql-connector-c again > emerge -av1 =dev-db/mysql-5.6.24 =virtual/mysql-5.6-r2 > > As the mysql-connector-c++ linkage to libmysqlclient broke, I needed to > recompile mysql-connector-c++. > > emerge -1 mysql-connector-c++ > > Compiling went fine then. > > So the bug seems to be hidden somewhere in the linkage or inclusion of > headers from mysql package due to split in mysql-connector-c. CONFIRMED: Built without errors using this downgrade.
I've had a bit more time today... Following the "trail", I noticed the following: uriel mysql # find /usr/include/mysql -type f -exec grep -Hi 'SOCKET_SIZE_TYPE' {} \; ./my_global.h:typedef socket_len_t SOCKET_SIZE_TYPE; /* Used by NDB */ So definition should come out of this package. The include path gets correctly set and used in my case (Variable MYSQL_INCLUDE_DIRS ). However: my_global.h does not get included. It seems that the inclusion of my_global.h always leads to inclusion of mysql-workbench-community-6.3.4-src/library/sql.parser/source/my_global.h As my_global.h in mysql-connector-c has MY_GLOBAL_INCLUDED defined, use explicitly that and refer to it explicitly in the mysql workbench source code. Added to the beginning of the following file: mysql-workbench-community-6.3.4-src/library/sql.parser/source/my_global.h: #ifndef MY_GLOBAL_INCLUDED #include <mysql/my_global.h> #endif This fixed compilation for me. Anyone knows maybe a nicer way?
Narf. Confused myself brilliantly. Pain killer kills brain. The direction was right, the path was wrong. It's not an inclusion problem, but it seems as if some automagic disappeared somewhere... I knew I have had seen the mentioned variables somewhere but was unable to remember where. https://github.com/MariaDB/mariadb-connector-c/blob/master/cmake/CheckTypes.cmake Found them. So I think the problem is rather simple - CMake doesn't pick up some configuration definitions from the mysql package anymore. And as such, the types are not defined anymore and it fails.
(In reply to h.habighorst from comment #13) > Narf. Confused myself brilliantly. Pain killer kills brain. > > The direction was right, the path was wrong. > > It's not an inclusion problem, but it seems as if some automagic disappeared > somewhere... > > I knew I have had seen the mentioned variables somewhere but was unable to > remember where. > > https://github.com/MariaDB/mariadb-connector-c/blob/master/cmake/CheckTypes. > cmake > > Found them. > > So I think the problem is rather simple - CMake doesn't pick up some > configuration definitions from the mysql package anymore. And as such, the > types are not defined anymore and it fails. MariaDB's Connector-C is not in portage. So unless you grabbed it from the mysql overlay, *and* enabled mysqlcompat (not recommended), this is a red herring.
Nope. It should have been only an hint so that maybe someone else could pick up where I left. But the hint was correct. When installing mysql-5.6.24, the configure system checks for several more options and creates as such another /usr/include/x86_64-pc-linux-gnu/mysql/my_config.h as mysql-connector-c . The question is - how should this be handled? Is mysql-workbench the only package that relies on defines from my_config.h that are specific for mysql-server?
Created attachment 409374 [details] MYSQL Server generated /usr/include/x86_64-pc-linux-gnu/mysql/my_config.h
Created attachment 409382 [details] MySQL Connector C generated /usr/include/x86_64-pc-linux-gnu/mysql/my_config.h For example, the following defines are missing and seem to be crucial for mysql-workbench build: #define HAVE_MEMMOVE 1 ... #define QSORT_TYPE_IS_VOID 1 #define RETQSORTTYPE void #define SIGNAL_RETURN_TYPE_IS_VOID 1 #define RETSIGTYPE void #define VOID_SIGHANDLER 1 #define STRUCT_RLIMIT struct rlimit ...
Created attachment 410528 [details] Build log
Hmm.. I have 6.3.3 built, but no go for 6.3.4 Any info I can gather to help resolve this?
Seems like USE flag "client-libs" adds missing defines to /usr/include/mysql/my_global.h but it conflicts with dev-db/mysql-connector-c whereas dev-db/mysql-connector-c++, it's binding, I believe, is a explicit dependency of the mysql-workbench.
*** Bug 567242 has been marked as a duplicate of this bug. ***
Found in the news change log: > The client-libs USE flag turned out to be a failure and is being removed. > There is nothing much for the user to be concerned with with that removal. So, this can be resolved by upgrading to a version of mysql/mariadb/percona/galera/whatever that doesn't have the client-libs USE flag and rebuilding dev-db/mysql-connector-c++ against that. Then, dev-db/mysql-workbench should build successfully.
@grknight: should mysql-workbench block on dev-db/msyql-connector-c ?
is this ever going fixed in forseeable future?
I still get this error and cannot compile mysql-workbench. I tried the whole weekend to fiddle with versions of mariadb, mysql, gcc etc. I also did emerge -e @system and world and recompiled everything, according to https://wiki.gentoo.org/wiki/Upgrading_GCC The original solution (mentioned in comment #10) does not work anymore, because it was dated from 2015 and such versions are masked meanwhile. I even tried mysql-workbench version 8 (devel) but it is far from bug free right now, so no real option. I tried to compile with this gcc's [IP-] [ ] sys-devel/gcc-6.4.0-r1:6.4.0 [IP-] [ ] sys-devel/gcc-7.3.0-r3:7.3.0 [IP-] [ ] dev-db/mysql-5.6.40-r2:0/18 and with dev-db/mariadb:-10.0.35-r2 dev-db/mariadb:-10.1.34 All versions I have tried are currently marked as stable. Can someone please give me an idea. I cannot think of one anymore. The biggest problem with this, it always stops at 71% of compile process. That means, it takes about 3-4h before I know if it fails. That doesn't encourage to fiddle directly with the source code.
I just emerged version 6.3.10 successfully. If you can live with a keyworded version, I think its worth a try.
Closing since 6.3.10 is now the oldest, stable, version.