New ebuild for Mico v2.3.11. Includes support for x86. Actually passes config options to configure! Adds Qt, Gtk and Postgresql support (optionally).
Created attachment 35257 [details] mico-2.3.11-r1.ebuild
can one of y'all please metadata.xml this package?
Created attachment 35734 [details] Metadata file for ebuild A bare-bones metadata.xml, validated with xmllint. No details on a maintainer ...
Additional note: mico 2.3.11 does not build with gcc 3.4.1 on 64bit AMD64. The build hangs on a makedep step part way through the compile. However, it builds just fine with gcc 3.3.3-r6 on 64bit AMD64.
Hmmm, is this different from the previous mico-2.3.11.ebuild? I notice that that ebuild was marked ~amd64 ...
I don't know. This is the first gcc 3.4.1 build I've done under amd64. The mico build works fine with gcc 3.3.3-r6, so there is probably a small patch needed for it to behave with gcc 3.4.x. Not being a developer, I have no idea what that patch might contain, though.
I have some questions about this ebuild. Firstly what are the reasons for removing --enable-life and --enable-externalize. Did you find they failed to build for your architecture? I realize MICO has a lot of other options (GTK, PostgreSQL, Qt). Last time I tested these options there were build failures for certain combinations. Did you encounter any problems for any of the possible combinations? Does any version of GTK+ or Qt work with MICO?
Some additional information on the ebuild hang under AMD64 with gcc 3.4.1. I had occasion to build a new dual opteron system (alas, not for me :-)). The mico build hung sometime Friday night and remained in the following state all weekend: [...] make[1]: Leaving directory `/var/tmp/portage/mico-2.3.11/work/mico/ccm' for i in orb ir cpp idl daemon auxdir coss ccm tools; do make -C $i prg || exit 1; done make[1]: Entering directory `/var/tmp/portage/mico-2.3.11/work/mico/orb' make[1]: Nothing to be done for `prg'. make[1]: Leaving directory `/var/tmp/portage/mico-2.3.11/work/mico/orb' make[1]: Entering directory `/var/tmp/portage/mico-2.3.11/work/mico/ir' g++ -I. -I../idl -I../include -O2 -Wall -pipe -fomit-frame-pointer -c main.cc -o main.o g++ -I. -I../idl -I../include -O2 -Wall -pipe -fomit-frame-pointer -L. -L../idl -L../orb -rdynamic main.o -L. -lidl -lmicoir2.3.11 -lmico2.3.11 -ldl -lelf -lbsd -lm -o ird true ird make[1]: Leaving directory `/var/tmp/portage/mico-2.3.11/work/mico/ir' make[1]: Entering directory `/var/tmp/portage/mico-2.3.11/work/mico/cpp' echo '# Module dependencies' > .depend /var/tmp/portage/mico-2.3.11/work/mico/./admin/mkdepend -O2 -Wall -pipe -fomit-frame-pointer *.c >> .depend (AT THIS POINT THE PROCESS HANGS INDEFINITELY.) ps shows the following occurring: root 1532 0.0 0.0 4116 1028 pts/0 S+ Jul23 0:00 /bin/bash /root/build-scripts/crutch4python.sh emerge -u net-misc/mico root 1535 0.0 1.0 47304 10604 pts/0 S+ Jul23 0:00 /usr/bin/python -O /usr/bin/emerge -u net-misc/mico root 4923 0.0 0.1 4120 1040 pts/0 S+ Jul23 0:00 /bin/sh -c /var/tmp/portage/mico-2.3.11/work/mico/./admin/mkdepend -O2 -Wall -pipe -fomit-frame-pointer *.c >> .depend root 4924 99.8 0.1 8596 1140 pts/0 R+ Jul23 3428:53 /var/tmp/portage/mico-2.3.11/work/mico/./admin/mkdepend -O2 -Wall -pipe -fomit-frame-pointer alloca.c cccp.c cexp.c config.c (Note that proces 4924 is consuming 99.8% of the processor. Specs on the system are as follows (emerge info) Portage 2.0.50-r9 (gcc34-amd64-2004.1, gcc-3.4.1, glibc-2.3.4.20040605-r0, 2.6.7-gentoo-r11) ================================================================= System uname: 2.6.7-gentoo-r11 x86_64 5 Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="2003-winter amd64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -fomit-frame-pointer" CHOST="x86_64-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache notitles" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa amd64 apache2 apm arts avi berkdb cdr crypt cups dga dvd dvdr encode esd flash foomaticdb free gdbm gif gphoto2 gpm gtk gtk2 imlib impa innodb jpeg kde lcms libg++ libwww mikmod motif mozilla mozirc mpeg ncurses nls oggvorbis opengl oss pam pda pdflib perl png python qt quicktime radeon readline ruby sdl slang slp spell ssl tcltk tcpd tds theora tiff truetype usb video_cards_radeon xinerama xml2 xmms xv zlib" Again, I have no trouble emerging mico later by switching to gcc 3.3.3-r6, then switching back to 3.4.1 when I'm finished.
Matthew - sorry for taking so long to reply. I don't login very often as the person who receives email from this bugzilla ... must get around to changing that at some point :-) I removed the --enable-life and --enable-externalize options because they did, indeed, fail to build for my architecture. I was in a hurry to provide an ebuild for use at work, and we didn't need these options and I thought I would leave fixing them to someone more capable than I (hint hint) :-) I have not tested the extra code added by the "Qt, Gtk and Postgresql support". I simply added these into the ebuild (hopefully, only if you have them in your USE variables!) and they seemed to build. We will, at some point I hope, be trying to use the Qt support within Mico - I have high hopes that this will work, if only because there is a Trolltech support document showing how to integrate Mico and Qt together ... The main reasons for this ebuild were to get x86 support (most recent stable version is 2.3.9, I believe) and because I noticed that the carefully constructed config options, created within the ebuild script, were not being passed to the configure script of Mico! So, although the current mico-2.3.11.ebuild script includes --enable-life and --enable-externalize within the "myopts" variable, this variable was not placed on the command line used to invoke Mico's configure script. In this respect, my new ebuild is no worse than the previous one, in that I also do not pass these (--enable-life and --enable-externalize) options to configure!! I have only built this ebuild under x86, and this is the only arch I have access too under Gentoo. Jean-Michel - sorry you are having problems with this ebuild with gcc 3.4.x, I have only built with gcc 3.3.x and, as you state, there does not seem to be any problems there. Perhaps, with more investigation, you may be able to either pass a patch-file to Matthew for gcc 3.4.x support, or get to a point where you can raise a bug report with the Mico people themselves? Do Mico claim support for gcc 3.4.x?
Graham, Thanks for the feedback. I will be able to incorporate your ebuild into portage shortly. Jean-Michel, I don't have much to suggest other than you try changing the "emake" line in the ebuild to just "make" (this has the effect of disabling parallel compilation).
Jean-Michel - further to Matthew's suggestion, you can change the emake line to: emake -j1 || die "emake failed" This also forces non-parallel builds (but still within the Portage way of doing things). Only found this out recently for another ebuild. Please try this and let Matthew know if it helps ...
Sorry it took awhile to get back to this. I tried using 'emake -j1' (instead of 'make') in the current 2.3.11 ebuild, using gcc 3.4.1 on an AMD64 (x86_64 architecture). Alas, there is no change in behavior. I continue to have to use gcc 3.3.3 in order to get mico to compile. (An attempt with 2.3.11-r1, hacked to add ~amd64, turned out even less well ... I had to ^C it after my load climbed through 6.00 to keep my machine accessible interactively). For now I'll continue using gcc 3.3.3.
I have found the soloution to this problem, i am on an amd64 with gcc 3.4.3 and it now compiles fine. In order to fix the problems that have been encountered change line 76 from: $(MKDEPEND) $(CPPFLAGS) $(CXXFLAGS) *.c >> .depend too: $(MKDEPEND) $(CPPFLAGS) $(CXXFLAGS) *.cc >> .depend within mico-2.6.11.tar.gz I am not familiar with how to make patches so i will leave this task to someone experienced with such matters. As a further note if your hostname/fqdn is incorrectly set this can lead to further compile problems (assert errors) to check that it is correct hostname -f can be used in commandline. Below is my system info just in case... Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r1, 2.6.7-gentoo-r14 x86_64) ================================================================= System uname: 2.6.7-gentoo-r14 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 12 2005, 16:10:52)] distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.6.3, 1.9.5, 1.8.5-r3, 1.4_p6, 1.7.9-r1 sys-devel/binutils: 2.15.92.0.2-r8 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O2 -ffast-math -fpic -pipe -g" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -ffast-math -fpic -pipe -g" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox strict" GENTOO_MIRRORS=" ftp://ftp.is.co.za/linux/distributions/gentoo/ ftp://ftp.rucus.ru.ac.za/pub/linux/gentoo/ ftp://ftp.up.ac.za/mirrors/gentoo.org/gentoo/ " MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.rucus.ru.ac.za/gentoo-portage" USE="amd64 X acpi alsa avi berkdb bitmap-fonts cdr crypt cups curl doc dvd dvdr esd fam flac font-server fortran gdbm gif gpm gtk2 imagemagick imlib ipv6 java jp2 jpeg junit kde libwww lzw lzw-tiff mad mikmod motif mp3 mpeg mysql nas ncurses nls nptl ogg opengl oss pam perl png python qt readline real samba sdl slang ssl tcpd tetex tiff truetype truetype-fonts type1-fonts usb userlocales vorbis xine xml2 xmms xpm xrandr xv xvid zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
Sorry I somehow forgot to mention the filename in which the change must be made in the post above.. The file is /mico/cpp/Makefile : line 76
Created attachment 60975 [details, diff] Patch to fix compile bug in mico-2.3.11 Patch fixes compile error on newer gcc versions
Added slightly modified, thanks.