Attached is an updated ebuild for diacanvas2 to the current version There are some changes made to the RDEPEND's which I believe are necessary: 1) depending on gtk+ (which itself depends on glib) instead of glib 2) for python, gnome-python is needed which itself depends on python and pygtk
Created attachment 38249 [details] diacanvas-0.13.1 ebuild
current diavanvas fails with build error: gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libart-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/freetype2/config -I/usr/include/libgnomeprint-2.2 -I/usr/include/libxml2 -I.. -DG_LOG_DOMAIN=\"DiaCanvas2\" -O2 -mtune=pentium3 -MT dia-shape.lo -MD -MP -MF .deps/dia-shape.Tpo -c dia-shape.c -fPIC -DPIC -o dia-shape.lo dia-shape.c:1178: error: conflicting types for 'dia_shape_text_set_wrap_mode' dia-shape.h:387: error: previous declaration of 'dia_shape_text_set_wrap_mode' was here dia-shape.c:1178: error: conflicting types for 'dia_shape_text_set_wrap_mode' dia-shape.h:387: error: previous declaration of 'dia_shape_text_set_wrap_mode' was here make[3]: *** [dia-shape.lo] Error 1 make[3]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/root/tmp/portage/diacanvas-0.10.0/work/diacanvas2-0.10.0' make: *** [all] Error 2 !!! ERROR: x11-libs/diacanvas-0.10.0 failed. !!! Function gnome2_src_compile, Line 40, Exitcode 2 !!! compile failure
Created attachment 48251 [details] diacanvas-0.14.2
Would like to see this one updated. Have build 0.14.2 on my system using just a version bumped 0.10 ebuild, seemed to work fine.
the attached diacanvas-0.14.2 ebuild got still problems with the python support. i assume its in the configure script line 10223 ... the 2 sys.exit()s should be switched. but i didnt test that. if you do the test (import pygtk, pytgtk.require('2.0') and import gnome.canvas) manually and if it succeeds you can just change line 10231 to "enable_python=yes" if you want python support. theres a little trick to the whole thing: first emerge the broken package, and let emerge download the file. then copy /usr/portage/distfiles/diacanvas2-0.14.2.tar.gz to any location, unpack it, change the configure file, repack it (tar cvvfz), copy the new compressed file back to /usr/prtage/distfiles, do a "ebuild /usr/portage/x11-libs/diacanvas/diacanvas-0.14.2.ebuild digest", and emerge diacanvas again. that did the job for me
The 0.14.2 ebuild installs fine on my machine, I did not have to tweak the configure script (I have python-2.3.4-r1 installed). Gaphor also compiled and runs fine as a test application for diacanvas.
Dario's hack worked for me. Thanks.
I face the same build error with x11-libs/diacanvas-0.10.0 as in comment #2. It's almost one year. Why don't you put the diacanvas-0.14.2 version into portage? I have ~x86 and still have the old diacanvas-0.10.0 crap. Thanks. ;)
Created attachment 69350 [details] diacanvas-0.14.2-r1.ebuild Emerging diacanvas-0.14.2 with Python 2.4 installed doesn't build the Python modules. Attached is an updated ebuild that forces configure to look at the default Python interpreter (as indicated by distutils eclass).
Re #9: Works fine with gaphor here, thanks. Hope this makes it into Portage without waiting another year...
Created attachment 78821 [details] diacanvas-0.14.3.ebuild
Diacanvas is really diacanvas2. This should be corrected. diacanvas-0.14.3.ebuild works for amd64, so ~amd64 would be nice. In addition, diacanvas2-0.14.4 is out and works with the same ebuild just renamed.
Hi Guys. Here the error below still occurs. Should I put ~x86 to the python packages related to this program? I'm trying to install gaphor. Module 'xml.parsers.expat' found. !!! Required module 'gtk' not found. !!! Required module 'gnomecanvas' not found. !!! Required module 'diacanvas' not found. Config failed. The following modules can not be found or are to old: 'gtk', 'gnomecanvas', 'diacanvas'
I would expect that you do not have the python modules installed. I would expect that they are installed in Python 2.3 and you have upgraded since then and are running Python 2.4 now. That would be why portage is not wanting you to update those packages. Try running python-updater or looking in /usr/lib/python2.3/site-pacakges/ (I think this is the correct directory, it may be slightly different (I am in a different distro at the moment)) and see if they are in there. Python-updater should do the trick if this is the cause of the problem.
Yes, I'm using python2.4 and there's nothing else from python2.3. python-update can't find an old version of python. Do you know what should I re-emerge? or how to discover? Thanks.
Bring up python and try importing each: $ python Python 2.4.2 (...) [GCC ...] ... >>> import xml.parsers.expat >>> import gtk >>> import gnomecanvas >>> import diacanvas Python 2.4 should come up when you run the python command. The first import should work and the other three should fail. GTK is provided by pygtk, so see if you have that if import gtk does not work. I do not know what provides the gnomecanvas python bindings. Diacanvas provides the diacanvas module, and you certainly have that. Is your use flag for python on? If not, then that would explain having problems.
Thanks for the suggesstion. I emerged pycairo, pygtk, and all the python libraries that I thought was related to gtk. I works now. I guess pycairo did the trick, but I'm not sure. Thanks =)
Created attachment 85422 [details] diacanvas-0.14.4.ebuild Minor QA fixes.
Error compiling diacanvas-0.14.4: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I/usr/include/python2.4 -I/usr/include/pygtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I.. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libart-2.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libpng12 -march=athlon64 -O2 -pipe -msse3 -ftree-vectorize -MT _canvasmodule_la-pydiacanvasitem.lo -MD -MP -MF .deps/_canvasmodule_la-pydiacanvasitem.Tpo -c pydiacanvasitem.c -fPIC -DPIC -o .libs/_canvasmodule_la-pydiacanvasitem.o (cd . \ && /usr/bin/pygtk-codegen-2.0 \ --register /usr/share/pygtk/2.0/defs/pango-types.defs \ --register ../diacanvas/dia-boxed.defs \ --register diashape.defs \ --override diacanvas.override \ --prefix pydiacanvas diacanvas.defs) > gen-diacanvas.c \ && cp gen-diacanvas.c diacanvas.c \ && rm -f gen-diacanvas.c Traceback (most recent call last): File "/usr/share/pygtk/2.0/codegen/codegen.py", line 1707, in ? sys.exit(main(sys.argv)) File "/usr/share/pygtk/2.0/codegen/codegen.py", line 1659, in main o = override.Overrides(arg) File "/usr/share/pygtk/2.0/codegen/override.py", line 49, in __init__ self.handle_file(filename) File "/usr/share/pygtk/2.0/codegen/override.py", line 81, in handle_file self.__parse_override(buf, startline, filename) File "/usr/share/pygtk/2.0/codegen/override.py", line 130, in __parse_override raise RuntimeError("Function %s is being overridden more than once" % (func,)) RuntimeError: Function dia_canvas_item_new is being overridden more than once make[2]: *** [diacanvas.c] Error 1 ------------------------------------------------ emerge --info Portage 2.1.2_rc1-r1 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo x86_64) ================================================================= System uname: 2.6.18-gentoo x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+ Gentoo Base System version 1.12.5 Last Sync: Tue, 31 Oct 2006 20:00:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: 1.3.3-r1, 2.0.27-r1 dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: 0.4.2-r1 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftree-vectorize" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-march=athlon64 -O2 -pipe -msse3 -ftree-vectorize" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo" LC_ALL="fr_FR.UTF-8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X alsa berkdb bitmap-fonts cli cracklib crypt cups dlloader doc dri elibc_glibc examples fortran gdbm gpm iconv input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kernel_linux libg++ ncurses nptl nptlonly pcre perl png ppds pppd python readline reflection session smp spl sse3 ssl tcpd truetype-fonts type1-fonts udev unicode userland_GNU video_cards_nv video_cards_nvidia video_cards_vesa video_cards_vga xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 100977 [details, diff] diacanvas-0.14.4-override.patch I saw the same thing and came up with the attached patch (for 0.14.4) to remove what look like duplicates being mentioned, it does at least allow the compile to complete, but whether it really works I am not sure. Now applications using diacanvas (gaphor) throw errors like: ** (gaphor:12403): WARNING **: couldn't make the type `CanvasGroup' ready TypeError: Cannot create a consistent method resolution order (MRO) for bases GObject, CanvasGroupableIface, CanvasGroupable Looking at diacanvas CVS on sf.net the project doesn't seem very alive and the gaphor project is developing a new version that doesn't use it.
it looks like diacanvas has no dependencies in tree anymore and that gaphor now has its own implementation in python according to the project homepage. If you guys see any problem in lastriting this package, please speak.
0.15.4 in now in tree.