Hello. About 12h ago I've done emerge sync. Now I'm doing emerge -e world. Recompile qt library failed because of this error: In file included from /usr/include/GL/glx.h:117, from opengl/qgl.cpp:52: /usr/include/GL/glxext.h:355:2: invalid preprocessing directive #warn I've looked in the /usr/include/GL dirrectory and found there some problems. 1. Symlinks are pointing into nowhere. glxmd.h -> /usr/lib/opengl/global/include/glxmd.h glxproto.h -> /usr/lib/opengl/global/include/glxproto.h Question here. Why emerge did not substitute this symlinks with the files from xorg's installation? So may be this is because of portage version I'm using? I'm sure I should have this files there. The output of qpkg -l has this lines: /usr/include/GL/glxproto.h /usr/include/GL/glxmd.h 2. Same problem with this file: glxext.h -> /usr/lib/opengl/global/include/glxext.h The difference is, that /usr/lib/opengl/global/include/glxext.h exist. I'm not sure this is ebuild's problem. As mentioned in 1. may be this is the problem of portage version I'm using. Reproducible: Always Steps to Reproduce: Expected Results: camobap GL # emerge --info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 Intel(R) Pentium(R) M processor 1700MHz Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 7 2005, 22:53:03)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe -mcpu=pentium4" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/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="-O2 -march=pentium4 -fomit-frame-pointer -pipe -mcpu=pentium4" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://ftp.citkit.ru/pub/Linux/gentoo/ ftp://mirror.gentoo.ru/pub/mirror/gentoo/ http://ftp.du.se/pub/os/gentoo ftp://ftp.du.se/pub/os/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://mirror.pudas.net/gentoo" LANG="ru_RU.UTF-8" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" USE="x86 X acl alsa arts audiofile avi bluetooth cdparanoia crypt cups dga divx4linux dvd dvdread encode erandom extensions flac gif gimpprint glut gnokii gnome gtk gtk2 hal howl imlib irda java jce jpeg kde lirc mad mikmod mmx mng mozilla mpeg mppe-mppc nls nomotif nptl oggvorbis opengl pam pdflib pic plotutils png povray python qt quicktime readline real rtc samba sdl slp sms speex spell sse sse2 ssl svg tetex tiff truetype unicode wifi wmf xml xml2 xmms xprint xscreensaver xv xvid zlib linguas_ru" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Donnie. I've CC you here, because I think you will be interested in this. Seems that this is an error in /usr/include/GL/glxext.h. Now I saw on the list this message with subject: "What does invalid preprocessing directive #warn mean?" This is the same problem. I've changed #warn->#warning as Mike Frysinger told there and seems that this fixes my problem with qt compilation. But. Broken symlinks after manual removing them and reinstalling xorg are still there. Also I've noted this message during installation: ln: creating symbolic link `/var/tmp/portage/xorg-x11-6.8.1.904/image//usr/X11R6/lib/X11/doc' to `../../../share/doc/xorg-x11-6.8.1.904': No such file or directory This is also bug I think.
I have the same problem as well.
And I think this is related. During compilation of tuxracer, configure ends with error: checking for GL/glx.h... no configure: error: Cannot find GL/glx.h Strange. I have this header. But this last line in configure log are: configure:4017: checking for GL/glx.h configure:4027: gcc -E -DTUXRACER_NO_ASSERT=1 -DTCL_HEADER=\<tcl.h\> -DHAVE_SDL=1 -DHAVE_SDL_MIXER=1 conftest.c >/dev/null 2>con ftest.out In file included from /usr/include/GL/glx.h:117, from configure:4023: /usr/include/GL/glxext.h:355:2: warning: #warning "int32_t and int64_t are undefined!" configure: failed program was: #line 4022 "configure" #include "confdefs.h" #include <GL/glx.h>
Jeremy, looks like some of the symlinks are pointing into global that shouldn't be.
The symlinks-pointing-nowhere thing is fixed in 2.1.0 Previously, they were pointing to global if none existed in the profile dir. Now they point to the profile dir first, then global if they don't exist there, and finally fall back on xorg-x11 if they don't exist in either place. Please try 2.1.0 and report if that fixes your problem.
Something strange again. After installation I have such headers/symlinks in /usr/include/GL: -rw-r--r-- 1 root root 10381 Фев 8 23:26 gle.h lrwxrwxrwx 1 root root 37 Фев 8 11:17 gl.h -> /usr/lib/opengl/xorg-x11/include/gl.h -r--r--r-- 1 root root 15981 Фев 9 13:33 glu.h -rw-r--r-- 1 root root 4109 Фев 8 19:14 glutf90.h -rw-r--r-- 1 root root 30192 Фев 8 19:14 glut.h -r--r--r-- 1 root root 7946 Фев 9 13:33 GLwDrawA.h -r--r--r-- 1 root root 4433 Фев 9 13:33 GLwDrawAP.h -r--r--r-- 1 root root 2309 Фев 9 13:33 GLwMDrawA.h -r--r--r-- 1 root root 2311 Фев 9 13:33 GLwMDrawAP.h -r--r--r-- 1 root root 29020 Фев 9 13:33 glxext.h lrwxrwxrwx 1 root root 38 Фев 8 11:17 glx.h -> /usr/lib/opengl/xorg-x11/include/glx.h -r--r--r-- 1 root root 4257 Фев 9 13:33 glxint.h -r--r--r-- 1 root root 2453 Фев 9 13:33 glxmd.h -r--r--r-- 1 root root 71034 Фев 9 13:33 glxproto.h lrwxrwxrwx 1 root root 44 Фев 8 11:17 glxtokens.h -> /usr/lib/opengl/xorg-x11/include/glxtokens.h -r--r--r-- 1 root root 8349 Фев 9 13:33 osmesa.h An attempt to configure tuxracer ends with the error that I do not have openGL library. Ok. I'm doing `opengl-update xorg-x11`. After that configure manage to find library but fails to find /usr/include/GL/gl.h. After that I have to create this links: lrwxrwxrwx 1 root root 41 Фев 9 13:56 glext.h -> ../../lib/opengl/xorg-x11/include/glext.h lrwxrwxrwx 1 root root 38 Фев 9 13:55 gl.h -> ../../lib/opengl/xorg-x11/include/gl.h lrwxrwxrwx 1 root root 40 Фев 9 13:57 glxext.h -> ../../lib/opengl/global/include/glxext.h lrwxrwxrwx 1 root root 39 Фев 9 13:56 glx.h -> ../../lib/opengl/xorg-x11/include/glx.h lrwxrwxrwx 1 root root 40 Фев 9 13:58 glxtokens.h -> ../../lib/opengl/ati/include/glxtokens.h Again fix in glxext.h #warn -> #warning. And still I could not compile tuxracer. From config.log: configure:4017: checking for GL/glx.h configure:4027: gcc -E -DTUXRACER_NO_ASSERT=1 -DTCL_HEADER=\<tcl.h\> -DHAVE_SDL=1 -DHAVE_SDL_MIXER=1 conftest.c >/dev/null 2>con ftest.out In file included from /usr/include/GL/glx.h:117, from configure:4023: /usr/include/GL/glxext.h:355:2: warning: #warning "int32_t and int64_t are undefined!" configure: failed program was: #line 4022 "configure" #include "confdefs.h" #include <GL/glx.h> Summarizing. Something is still broken. Thank you for your attention, _________ Peter.
*** Bug 81333 has been marked as a duplicate of this bug. ***
fixed in 2.1.0-r1. Thanks.
Thank you Jeremy! I'll try this in the evening. But. Can I ask a question? Of course you already saw a piece of code with that #warn. #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #include <inttypes.h> [snip] #else #warn "int32_t and int64_t are undefined!" #endif I have inttypes.h that includes stdint.h. So I have typedefed int32_t and int64_t. So I don't understand why the first if statment is not true. So what is the magic with this 199901L number? Why we come into that #warn? Thank you for your attention, Peter.
Hello. Just updated the system to opengl-2.1.0-r1 reemerged xorg-x11 (just to be sure). But everything is the same as in #6. Here is my contents of /usr/include/GL after opengl-update xorg-x11: peter@camobap /usr/include/GL $ ll итого 112 -rw-r--r-- 1 root root 10381 Фев 8 23:26 gle.h -r--r--r-- 1 root root 15981 Фев 9 20:48 glu.h -rw-r--r-- 1 root root 4109 Фев 8 19:14 glutf90.h -rw-r--r-- 1 root root 30192 Фев 8 19:14 glut.h -r--r--r-- 1 root root 7946 Фев 9 20:48 GLwDrawA.h -r--r--r-- 1 root root 4433 Фев 9 20:48 GLwDrawAP.h -r--r--r-- 1 root root 2309 Фев 9 20:48 GLwMDrawA.h -r--r--r-- 1 root root 2311 Фев 9 20:48 GLwMDrawAP.h -r--r--r-- 1 root root 4257 Фев 9 20:48 glxint.h -r--r--r-- 1 root root 8349 Фев 9 20:48 osmesa.h There is no gl.h! So it seems I have to reopen bug. Or may be I misunderstand something?
Volkov, do you have /usr/lib32 or /usr/lib64 on your system? This looks like it may be bug #81385 Can you ls /usr/lib/opengl/xorg-x11/include Thanks
Ok, bug #81385 is fixed in opengl-update-2.1.1. Can you please try: emerge -v \=x11-base/opengl-update-2.1.0-r1 cp /usr/portage/x11-base/opengl-update/files/opengl-update-2.1.1 /sbin/opengl-update opengl-update xorg-x11 That should get you the right headers and test out the opengl-update-2.1.1 fix.
Also, please check the header of the opengl-update-2.1.1. It should be revision 1.2: # $Header: /var/cvsroot/gentoo-x86/x11-base/opengl-update/files/opengl-update-2.1.1,v 1.2 2005/02/10 01:37:59 eradicator Exp $ Thanks.
I verified that the #warn -> #warning change causes qt to compile.
marking fixed.
Thank you, Jeremy. I had that /usr/lib32, so update of opengl-update to /usr/sbin solves problem with symlinks. But the problem mentioned in #3 is still the same. So: 1. I can not compile tuxracer. 2. And the new problem. I do not have glx extention in my system. But I think I'd better open two new bugs, after little more experimenting with xorg-x11... Thank you again, Jeremy. BTW. Volkov is my surname and Peter is my name.