emerge myslq-gui-tools faild with typedef conflict in /usr/include/GL/* headers. Reproducible: Didn't try Steps to Reproduce: ... /usr/include/GL/glext.h:1807: error: 'PFNGLVARIANTUBVEXTPROC' has a previous declaration as 'typedef void (* PFNGLVARIANTUBVEXTPROC)(GLuint, GLubyte*)' ../include/gc_glext.h:5906: error: conflicting declaration 'typedef void (* PFNGLVARIANTUSVEXTPROC)(GLuint, const GLushort*)' /usr/include/GL/glext.h:1808: error: 'PFNGLVARIANTUSVEXTPROC' has a previous declaration as 'typedef void (* PFNGLVARIANTUSVEXTPROC)(GLuint, GLushort*)' ../include/gc_glext.h:5907: error: conflicting declaration 'typedef void (* PFNGLVARIANTUIVEXTPROC)(GLuint, const GLuint*)' /usr/include/GL/glext.h:1809: error: 'PFNGLVARIANTUIVEXTPROC' has a previous declaration as 'typedef void (* PFNGLVARIANTUIVEXTPROC)(GLuint, GLuint*)' ../include/gc_glext.h:5908: error: conflicting declaration 'typedef void (* PFNGLVARIANTPOINTEREXTPROC)(GLuint, GLenum, GLuint, const GLvoid*)' /usr/include/GL/glext.h:1810: error: 'PFNGLVARIANTPOINTEREXTPROC' has a previous declaration as 'typedef void (* PFNGLVARIANTPOINTEREXTPROC)(GLuint, GLenum, GLsizei, GLvoid*)' make[4]: *** [myx_gc_animation.lo] Fehler 1 make[4]: *** Warte auf noch nicht beendete Prozesse... make[4]: *** [myx_gc_base.lo] Fehler 1 make[4]: *** [myx_gc_bsp.lo] Fehler 1 make[4]: Leaving directory `/var/tmp/portage/dev-db/mysql-gui-tools-5.0_p12/work/mysql-gui-tools-5.0r12/mysql-gui-common/library/generic-canvas/source' make[3]: *** [all-recursive] Fehler 1 make[3]: Leaving directory `/var/tmp/portage/dev-db/mysql-gui-tools-5.0_p12/work/mysql-gui-tools-5.0r12/mysql-gui-common/library/generic-canvas' make[2]: *** [all-recursive] Fehler 1 make[2]: Leaving directory `/var/tmp/portage/dev-db/mysql-gui-tools-5.0_p12/work/mysql-gui-tools-5.0r12/mysql-gui-common/library' make[1]: *** [all-recursive] Fehler 1 make[1]: Leaving directory `/var/tmp/portage/dev-db/mysql-gui-tools-5.0_p12/work/mysql-gui-tools-5.0r12/mysql-gui-common' make: *** [all] Fehler 2 !!! ERROR: dev-db/mysql-gui-tools-5.0_p12 failed. Call stack: ebuild.sh, line 1638: Called dyn_compile ebuild.sh, line 985: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile mysql-gui-tools-5.0_p12.ebuild, line 75: Called gnome2_src_compile '--disable-java-modules' '--enable-grt' '--enable-canvas' '--enable-i18n' gnome2.eclass, line 71: Called die !!! compile failure !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/dev-db/mysql-gui-tools-5.0_p12/temp/build.log'. ############################################################# nacirema temp # eselect opengl list Available OpenGL implementations: [1] xorg-x11 * ############################################################# nacirema temp # glxinfo name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: Matrox Graphics Inc. server glx version string: 1.3 server glx extensions: GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context client glx vendor string: Matrox Graphics Inc. client glx version string: 1.3 client glx extensions: GLX_ARB_get_proc_address, GLX_EXT_visual_rating, GLX_EXT_visual_info, GLX_SGI_swap_control GLX version: 1.3 GLX extensions: GLX_ARB_get_proc_address, GLX_EXT_visual_rating, GLX_EXT_visual_info, GLX_SGI_swap_control OpenGL vendor string: Matrox Graphics Inc. OpenGL renderer string: OpenGL Linux library for Parhelia OpenGL version string: 1.3ICD v1.03 OpenGL extensions: GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, GL_ARB_transpose_matrix, GL_S3_s3tc, GL_ATI_element_array, GL_ATI_vertex_array_object, GL_Autodesk_valid_back_buffer_hint, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint, GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements, GL_EXT_element_array, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_specular_color, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture3D, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array, GL_EXT_vertex_array_object, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_KTX_buffer_region, GL_MTX_fragment_shader, GL_NV_texgen_reflection, GL_SGIS_multitexture, GL_SGIS_texture_lod visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat ---------------------------------------------------------------------- 0x22 24 tc 1 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x23 24 tc 1 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None 0x24 24 tc 1 32 0 r y . 8 8 8 8 0 24 8 8 8 8 8 0 0 None 0x25 24 tc 1 32 0 r . . 8 8 8 8 0 24 8 8 8 8 8 0 0 None ############################################################# nacirema temp # emerge --info Portage 2.1.2.12 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.5-r4, 2.6.21-gentoo-r4 i686) ================================================================= System uname: 2.6.21-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System release 1.12.9 Timestamp of tree: Sat, 01 Sep 2007 11:30:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17 dev-java/java-config: 1.3.7, 2.0.33-r1 dev-lang/python: 2.4.4-r4 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.9-r2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 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.16 sys-devel/libtool: 1.5.23b virtual/os-headers: 2.6.21 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe" CHOST="i686-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/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE.UTF-8" LC_ALL="de_DE.UTF-8" LINGUAS="de en" 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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl acpi alsa avahi berkdb bitmap-fonts cli cracklib crypt cups dbus dga dri fam gdbm gif gpm hal iconv jpeg kde libg++ midi mmx ncurses nls nptl nptlonly opengl pam pcre perl png ppds python qt3 qt3support qt4 readline reflection session spl sse sse2 ssl tcpd tiff truetype-fonts type1-fonts unicode x86 xcomposite xinerama xorg xprint xscreensaver zlib" ALSA_CARDS="intel8x0 usb-audio" ALSA_PCM_PLUGINS="adpcm asym copy dmix file hooks linear meter multi plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="fbdev mga v4l vesa vga" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
(In reply to comment #0) > emerge myslq-gui-tools faild with typedef conflict in > /usr/include/GL/* headers. I noticed this earlier, too. I just wanted to file a bug about it. How to fix: Before emerging, select the xorg GL implementation with eselect opengl set xorg-x11 after emerging, reset it to the old value eselect opengl set nvidia (in my case.) Would be nice if the ebuild would do this by itself, I've seen it happen on other ebuilds.
Doing it in the ebuild has been discussed in relation to the secondlife ebuild, but it was summarily decided that it was far too dangerous to change an important preference like that, even for a "short" time (secondlife takes many hours on some systems), and especially in light of the possibility of ctrl-c or even a crash that might prevent the preference from being restored to the correct value. Still, this problem is becoming more and more common - some sort of solution should be adopted.
(In reply to comment #2) > even a crash that might prevent the preference from being restored to the > correct value. I see. I have noticed it happening on some other ebuild, but I don't remember which one. It was referring especially to "new enough glxtokens.h" or something like that. > Still, this problem is becoming more and more common - some sort of solution > should be adopted. - The workbench depends on virtual/opengl. Should first be media-libs/mesa in that case. - The CFLAGS could be prefixed with -I/usr/lib/opengl/xorg-x11/include, so that the files there are used first. - prefix the linkflags with -L/usr/lib/opengl/xorg-x11/lib. (Where and how?) That would be the solution, at least it looks like it could be.
Closing this as WONTFIX since the current p12 versions in the tree don't enable the canvas at all. Bug 272234 may be of interest, it contains an ebuild and patches that also include a USE flag to enable the canvas. I hope to find time to add that version to the tree as well.