Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 483400 - =x11-drivers/ati-drivers-13.8_beta2 with mesa-9.2 - common/usr/include/GL/glATI.h:6009:25: error: conflicting types for ‘GLDEBUGPROCARB’
Summary: =x11-drivers/ati-drivers-13.8_beta2 with mesa-9.2 - common/usr/include/GL/glA...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-02 15:06 UTC by Yichao Zhou
Modified: 2013-09-12 16:15 UTC (History)
6 users (show)

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


Attachments
build.log (build.log,7.82 KB, text/plain)
2013-09-03 08:51 UTC, Sergey Isachenko
Details
emerge --info (emerge_info.log,5.22 KB, text/plain)
2013-09-03 08:52 UTC, Sergey Isachenko
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yichao Zhou 2013-09-02 15:06:14 UTC
* Package:    x11-drivers/ati-drivers-13.8_beta2
 * Repository: gentoo
 * Maintainer: jkarlson@cc.hut.fi x11@gentoo.org,proxy-maint@gentoo.org
 * USE:        amd64 elibc_glibc kernel_linux modules multilib qt4 userland_GNU
 * FEATURES:   preserve-libs sandbox
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found kernel object directory:
 *     /lib/modules/3.10.7-gentoo/build
 * Found sources for kernel version:
 *     3.10.7-gentoo
 * Checking for suitable kernel configuration options...
 *   CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
 * 	rendering to work.
 * Please check to make sure these options are set correctly.
 * Failure to do so may cause unexpected problems.
 * 
 * Please note that this driver only supports graphic cards based on
 * Evergreen chipset and newer.
 * This includes the AMD Radeon HD 5400+ series at this moment.
 * 
 * If your card is older then use x11-drivers/xf86-video-ati
 * For migration informations please refer to:
 * http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml
 * 
>>> Unpacking source...
>>> Unpacking amd-catalyst-13.8-beta2-linux-x86.x86_64.zip to /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work
Warning: target directory exists /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work
>>> Unpacking xvba-sdk-0.74-404001.tar.gz to /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/xvba_sdk
>>> Source unpacked in /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work
>>> Preparing source in /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work ...
 * Applying ati-powermode-opt-path-3.patch ...
 [ ok ]
 * Applying ati-drivers-x32_something_something.patch ...
 [ ok ]
 * Applying ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch ...
 [ ok ]
 * Applying typesafe-kuid.diff ...
 [ ok ]
 * Applying ati-drivers-13.8-beta-include-seq_file.patch ...
 [ ok ]
 * Applying check-for-iommu-only-if-iommu-is-supported.patch ...
 [ ok ]
 * Applying ati-drivers-13.8-proc-permissions.diff ...
 [ ok ]
 * Converting 2.6.x/Makefile to use M= instead of SUBDIRS= ...
 [ ok ]
>>> Unpacking ./../common/usr/src/ati/fglrx_sample_source.tgz to /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/extra
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work ...
 * Preparing fglrx module
make -j8 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' GCC_VER_MAJ=4 KVER=3.10.7-gentoo KDIR=/usr/src/linux 'CFLAGS_MODULE+=-DMODULE -DATI -DFGL' CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space kmod_build 
make -C /usr/src/linux M=/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x modules
make[1]: Entering directory `/usr/src/linux-3.10.7-gentoo'
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_acpi.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_agp.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_debug.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_ioctl.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_io.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_pci.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_str.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_iommu.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl.o
  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/kcl_wait.o
  LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.mod.o
  LD [M]  /var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko
make[1]: Leaving directory `/usr/src/linux-3.10.7-gentoo'
 * Building fgl_glxgears ...
In file included from fgl_glxgears.c:81:0:
/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/usr/include/GL/glATI.h:5370:0: warning: "GL_PROXY_TEXTURE_2D_MULTISAMPLE" redefined [enabled by default]
/usr/include/GL/glext.h:1445:0: note: this is the location of the previous definition
/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/common/usr/include/GL/glATI.h:6009:25: error: conflicting types for ‘GLDEBUGPROCARB’
/usr/include/GL/glext.h:2603:26: note: previous declaration of ‘GLDEBUGPROCARB’ was here
 * ERROR: x11-drivers/ati-drivers-13.8_beta2 failed (compile phase):
 *   fgl_glxgears build failed
 * 
 * Call stack:
 *     ebuild.sh, line  93:  Called src_compile
 *   environment, line 3561:  Called die
 * The specific snippet of code:
 *       "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed";
 * 
 * If you need support, post the output of `emerge --info '=x11-drivers/ati-drivers-13.8_beta2'`,
 * the complete build log and the output of `emerge -pqv '=x11-drivers/ati-drivers-13.8_beta2'`.
 * The complete build log is located at '/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/temp/environment'.
 * Working directory: '/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work/extra/fgl_glxgears'
 * S: '/var/tmp/portage/x11-drivers/ati-drivers-13.8_beta2/work'
Comment 1 Yichao Zhou 2013-09-02 15:07:31 UTC
Conflict with mesa-9.2.
Comment 2 Tom Wijsman (TomWij) (RETIRED) gentoo-dev 2013-09-02 17:28:40 UTC
Can you please attach the complete build log and comment with the output of `emerge --info`?
Comment 3 Sergey Isachenko 2013-09-03 08:51:31 UTC
Created attachment 357740 [details]
build.log
Comment 4 Sergey Isachenko 2013-09-03 08:52:43 UTC
Created attachment 357742 [details]
emerge --info
Comment 5 Sergey Isachenko 2013-09-03 08:53:08 UTC
i have this problem too.
Attached build.log and emerge --info
Comment 6 Matthew Dawson 2013-09-04 05:45:17 UTC
The issues stems from a recent change in the ARB_debug_output extension for OpenGL.  According to the specification (available at: http://www.opengl.org/registry/specs/ARB/debug_output.txt ), there was a change on July 8th (v17) that changed a parameter to a callback from a void pointer to a const void pointer.  Mesa 9.2 has incorporated this change, however AMD's driver has not.  Thus, the includes files have different definitions for the callback, and gcc complains.

Locally, I removed the AMD specific header (glATI.h) from being included in the fgl_glxgears.c file, and this seemed to fix the issue without causing any further errors, however it leaves glATI.h with the incorrect definition.  Thus, I'm not sure how Gentoo would prefer this issue to be solved.  I'd be happy to prepare a patch if you let me know which you prefer:
1) Patch fgl_glxgears.c to not include glATI.h, since it doesn't appear to be necessary (at least with mesa 9.2).  This only leaves glATI.h to have the incompatible definition.
2) Patch glATI.h to have the same definition.  This will break with older versions of mesa though, since mesa 9.1 had the older (and at the time correct) definition.
Comment 7 emil karlson 2013-09-07 06:38:35 UTC
(In reply to Matthew Dawson from comment #6)
> The issues stems from a recent change in the ARB_debug_output extension for
> OpenGL.  According to the specification (available at:
> http://www.opengl.org/registry/specs/ARB/debug_output.txt ), there was a
> change on July 8th (v17) that changed a parameter to a callback from a void
> pointer to a const void pointer.  Mesa 9.2 has incorporated this change,
> however AMD's driver has not.  Thus, the includes files have different
> definitions for the callback, and gcc complains.
> 
> Locally, I removed the AMD specific header (glATI.h) from being included in
> the fgl_glxgears.c file, and this seemed to fix the issue without causing
> any further errors, however it leaves glATI.h with the incorrect definition.
> Thus, I'm not sure how Gentoo would prefer this issue to be solved.  I'd be
> happy to prepare a patch if you let me know which you prefer:
> 1) Patch fgl_glxgears.c to not include glATI.h, since it doesn't appear to
> be necessary (at least with mesa 9.2).  This only leaves glATI.h to have the
> incompatible definition.
> 2) Patch glATI.h to have the same definition.  This will break with older
> versions of mesa though, since mesa 9.1 had the older (and at the time
> correct) definition.

Thanks, implemented 1 in x11 overlay. I tested it also without mesa, seems to work just fine.
Comment 8 Chí-Thanh Christopher Nguyễn gentoo-dev 2013-09-12 16:15:41 UTC
Fixed in CVS.