Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 131383 - Ebuild for MySQL workbench
Summary: Ebuild for MySQL workbench
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL: http://dev.mysql.com/downloads/workbe...
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2006-04-26 14:33 UTC by Marçal Juan Llaó
Modified: 2007-08-27 03:38 UTC (History)
16 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Alpha ebuild attachment (mysql-workbench-1.0.6_beta.ebuild,1.72 KB, text/plain)
2006-06-08 10:23 UTC, James Ausmus
Details
Fix for FTTextureGlyph.h class declaration file (FTTextureGlyph_fix.patch,581 bytes, patch)
2006-06-08 10:24 UTC, James Ausmus
Details | Diff
MGCanvasScroller.h class declaration file fix (MGCanvasScroller_fix.patch,502 bytes, patch)
2006-06-08 10:24 UTC, James Ausmus
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Marçal Juan Llaó 2006-04-26 14:33:43 UTC
MySQL Workbench is a visual database design tool that gives you system that integrates database design, modeling, creation and maintenance into a single, seamless environment.

MySQL Workbench is available under the MySQL AB "dual licensing" model. Under this model, users may choose to use MySQL products under the free software/opensource GNU General Public License (commonly known as the "GPL") or under a commercial license.
Comment 1 James Ausmus 2006-06-08 10:23:46 UTC
Created attachment 88694 [details]
Alpha ebuild attachment

Doesn't work fully yet - I get segfault on application startup on AMD64 GCC 4.1.1 - don't know what the cause is yet, as I don't have time to delve deeper at the moment.

Also I probably did some Bad Things in the ebuild - I'm not an experienced ebuild writer (yet) ;)

Specifically had some issues with Java and with termcap:

Java:
1. --disable-java doesn't seem to actually disable the java parts of the build, haven't looked into it at all yet. 
2. Had to do some BASH stuff in the ebuild to get the java include directory - don't know if there's a Gentoo Way of doing this or not
3. Had to modify my jni.h - it #includes "jni_md.h", which has the Machine Dependant defines in it, but when jni.h was included from the build, it wasn't able to find it - had to modify jni.h to #include "linux/jni_md.h", which I pretty much *know* is the wrong way to do things, as it makes it the "Machine Independant" "Machine Dependant" include into a "Machine Dependant" "Machine Dependant" include... :)

Termcap:
1. Had to emerge libtermcap-compat, which is fairly deprecated at this point
2. Had to add /lib to LDFLAGS in the ebuild in order to point the compile to where the .so's are actually at
3. Had to symlink libtermcap.so.2 to libtermcap.so so that the build could find the shared library - which, from what I've ready, is deliberately left off the libtermcap-compat ebuild to keep people from building new apps against libtermcap... <grin>
4. Haven't checked out the mysql-workbench code to the point where I know whether or not they actuall *need* libtermcap or not - if so, how do we go about convincing them to use ncurses instead, if not, we should let them know they are trying to link against it. :)


And Misc:

1. Not sure if it's a GCC 4.1.1 thing, but I had to create the 2 patches (attached) in order to get the C++ class declarations inside the .h files they affect to not error out with "Extra qualification '<Class name>::' on member <blah>" errors - I'm assuming this must be a GCC 4.1.1 thing, as MySQL has binary versions of 1.0.6beta available - this needs more checking into or at least a more knowledgable eye to take a look...


So, in short, the attached ebuild doesn't seem to build a viable executable, is full of holes (I'm sure of it), and shouldn't be used by anyone, but if someone wants to take up the torch while I'm too busy to delve deeper into the issues, it might be useful as a base to start from.

Thanks!

-James
Comment 2 James Ausmus 2006-06-08 10:24:28 UTC
Created attachment 88696 [details, diff]
Fix for FTTextureGlyph.h class declaration file

See comments above
Comment 3 James Ausmus 2006-06-08 10:24:57 UTC
Created attachment 88697 [details, diff]
MGCanvasScroller.h class declaration file fix
Comment 4 James Ausmus 2006-06-08 10:27:52 UTC
Another thing - haven't tested this *at all* on x86 or any other arches at all yet - keyworded it ~amd64 and ~x86, as I planned on testing it on x86 once I got it working under amd64, but ran into more issues than I have time ATM to check into...

And one more thing - due to the (bad) ebuild stuff to get the java include directory combined with the --disable-java configure flag apparently not doing anything, if you try to emerge this with USE="-java", it *will* fail.

-James
Comment 5 Michele Beltrame 2006-06-21 06:38:01 UTC
I gest this compilation error using this ebuild (I'm on AMD64 with GCC 3.4.5). I use "-java", so I guess it shouldn't be compiling those files anyhow... However, I see you reported the problem that it does anyway, but I have no JDK installed!

-------------------------
sh.Tpo"; exit 1; fi
In file included from grtsh.cc:28:
../../library_grt/include/myx_grt_java.h:26:17: jni.h: No such file or directory
In file included from grtsh.cc:28:
../../library_grt/include/myx_grt_java.h:31: error: ISO C++ forbids declaration of `JavaVM' with no type
../../library_grt/include/myx_grt_java.h:31: error: expected `;' before '*' token
../../library_grt/include/myx_grt_java.h:32: error: ISO C++ forbids declaration of `JNIEnv' with no type
../../library_grt/include/myx_grt_java.h:32: error: expected `;' before '*' token
../../library_grt/include/myx_grt_java.h:33: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:34: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:36: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:37: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:39: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:40: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:42: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:43: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:45: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:46: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:49: error: `jclass' does not name a type
../../library_grt/include/myx_grt_java.h:50: error: `jmethodID' does not name a type
../../library_grt/include/myx_grt_java.h:57: error: `jclass' does not name a type
make[3]: *** [grtsh-grtsh.o] Error 1
make[3]: Leaving directory `/var/tmp/portage/mysql-workbench-1.0.6_beta/work/mysql-workbench-1.0.6beta/mysql-gui-common/source/grtsh'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/mysql-workbench-1.0.6_beta/work/mysql-workbench-1.0.6beta/mysql-gui-common/source'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/mysql-workbench-1.0.6_beta/work/mysql-workbench-1.0.6beta/mysql-gui-common'
make: *** [all] Error 2

!!! ERROR: dev-util/mysql-workbench-1.0.6_beta failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  mysql-workbench-1.0.6_beta.ebuild, line 58:   Called die

!!! emake failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! This ebuild is from an overlay: '/usr/local/portage'
Comment 6 John N. Laliberte (RETIRED) gentoo-dev 2006-07-15 20:08:43 UTC
we'll be replacing dbdesigner with this.
http://mysqldump.azundris.com/archives/21-DB-Designer-becomes-MySQL-Workbench.html
Comment 7 John N. Laliberte (RETIRED) gentoo-dev 2006-07-15 23:10:07 UTC
so far I've taken a snapshot of mysql-gui-common from upstream cvs, and built that just fine.  ( I've disabled java though since they have a bug in the Makefile, and added a couple more patches )  I have also updated the ebuild deps a bit and made a few changes.

the new snapshot of the mysql-gui-common seems to like my libsigc++-2.0.17 which is good b/c I was having issues with it before taking the snapshot.

now I'm onto building the workbench portion.  I'll post everything once I have it building and running. ( if that is possible :) )
Comment 8 Anthony Ettinger 2006-09-06 14:47:32 UTC
/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'
Comment 9 Chester Chee 2006-09-19 07:40:19 UTC
You may want to check out this tar file instead.

http://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-gui-tools-5.0r3-linux-i386.tar.gz/from/http://mysql.mirrors.hoobly.com/

This tarball includes all the stuff.

    * MySQL Administrator 1.2
    * MySQL Query Browser 1.2
    * MySQL Migration Toolkit 1.1
    * MySQL Workbench 1.1
Comment 10 David 2007-01-04 05:46:49 UTC
I have just created bug 159957 which modifies the current mysql-gui-tools and enables MySQL workbench.  It works for me, if it looks useful to you please test it and leave a comment.

I did not attach to this bug because I did not want to clutter it with something similar but slightly different.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2007-08-27 03:38:05 UTC
dev-db/mysql-gui-tools