[Mesa-dev] [Bug 38537] New: Can't find X headers during 'make'

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jun 21 12:05:50 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=38537

           Summary: Can't find X headers during 'make'
           Product: Mesa
           Version: unspecified
          Platform: x86 (IA32)
        OS/Version: Linux (All)
            Status: NEW
          Severity: blocker
          Priority: medium
         Component: Mesa core
        AssignedTo: mesa-dev at lists.freedesktop.org
        ReportedBy: jdc843 at sccoast.net


I did not search for existing bugs but I did view the release notes for the
current mesa release.

I am using the build.sh script to install X.
I have modified the script to use local repository mirrors on my HDD.
However, the environment variable assignments of the script are
unchanged.

I have had a problem compiling mesa for the last year (at least).
The problem has to do with gcc not finding the X headers that were
installed by build.sh.
BTW, I have this problem when using ./configure|make|ETC without using
build.sh.

Without confusing you, let's just say that nouveau and gallium are
disabled because enabling those caused drm and mesa to fail to compile.
I had to butcher both drm and the mesa main makefiles to do that.
(The creator of build.sh is going to get my help passing options to
modules when I get my new system up and running.)
Though I think that I did have gallium enabled several months back when
I last installed X and I still had this same problem.

I have two errors that I'm reporting.

I am attaching a partial output from the make showing the errors.

Building to run Linux / i686 ()
Fri Jun 10 22:39:45 America 2011

Environment variables that build.sh sees :
Libdir = lib ??? set via build.sh. I don't know what it's for.
ACLOCAL = aclocal -I /opt/X/share/aclocal
PKG_CONFIG_PATH
=
/opt/X/share/pkgconfig:/opt/X/lib/pkgconfig:/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/opt/X/lib/pkgconfig:/opt/GNOME/lib/pkgconfig:/opt/GNOME/share/pkgconfig:/usr/local/apr/lib/pkgconfig:/opt/QT/lib/pkgconfig
LD_LIBRARY_PATH
=
/opt/X/lib:/lib:/usr/lib:/usr/local/lib:/opt/X/lib:/opt/GNOME/lib:/usr/local/apr/lib:/opt/JAVA/lib/i386:/srv/mysql/lib/mysql:/opt/QT/lib
PATH
=
/opt/X/bin:/bin:/usr/bin:/usr/local/bin:/opt/X/bin:/opt/GNOME/bin:/opt/JAVA/bin:/opt/QT/bin
SHELL=/bin/bash MAKEFLAGS=-j 1

======================================================================
==  Processing module/component:  "mesa/"
.
.
.
checking for X11... yes
checking for GLPROTO... yes
checking for LIBDRM... yes
checking for DRI2PROTO... yes
checking for XF86VIDMODE... yes
checking for DRIGL... yes
checking for LIBDRM_RADEON... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ParserCreate in -lexpat... yes
checking for INTEL... yes
checking for LIBUDEV... yes
checking for XCB_DRI2... yes
checking for xcb_dri2_connect_alignment_pad in -lxcb-dri2... no
checking for GLW... yes
checking for GLUT... yes
checking for llvm-config... no <---- What is this ???
checking for XORG... no
configure: creating ./config.status
config.status: creating configs/autoconf
config.status: executing configs commands

        prefix:          /opt/X
        exec_prefix:     ${prefix}
        libdir:          /opt/X/lib
        includedir:      ${prefix}/include

        OpenGL:          yes (ES1: no ES2: no)
        OpenVG:          no

        Driver:          dri
        OSMesa:          no
        DRI drivers:     i810 i915 i965 mach64 mga r128 r200 r300 r600
        radeon savage sis tdfx unichrome swrast DRI driver dir:
        ${libdir}/dri Use XCB:         no
        Shared dricore:  no

        GLU:             yes
        GLw:             yes (Motif: no)
        glut:            yes

        EGL:             yes
        EGL platforms:   x11 drm
        EGL drivers:     builtin:egl_glx builtin:egl_dri2 egl_gallium
        EGL Gallium STs: $(GL_LIB)

        llvm:            no

        Gallium:         yes
        Gallium dirs:    auxiliary drivers state_trackers
        Target dirs:      egl
        Winsys dirs:     sw sw/xlib sw/dri
        Driver dirs:     softpipe failover galahad trace rbug noop
        identity Trackers dirs:   dri egl

        Shared libs:     yes
        Static libs:     no

        CFLAGS:          -g -O2 -Wall -Wmissing-prototypes -std=c99
        -ffast-math -fno-strict-aliasing -fPIC CXXFLAGS:        -g -O2
        -Wall -fno-strict-aliasing -fPIC Macros:          -D_GNU_SOURCE
        -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1
        -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING
        -DHAVE_ALIAS -DHAVE_LIBUDEV -DHAVE_XCB_DRI2
        -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -DUSE_X86_ASM
        -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM

        PYTHON2:         python

        Run 'make' to build Mesa
.
.
.
make[3]: Entering directory
        `/home/david/sources/XSOURCES/mesa/src/egl/main'
        running /opt/X/bin/makedepend
/opt/X/bin/makedepend -fdepend
-I/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/include
-I/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/include-fixed
-D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN
-DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_LIBUDEV -DHAVE_XCB_DRI2
-DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -I../../../include \
eglapi.c eglarray.c eglconfig.c eglcontext.c eglcurrent.c 
egldisplay.c egldriver.c eglfallbacks.c eglglobals.c eglimage.c 
egllog.c eglmisc.c eglmode.c eglscreen.c eglstring.c 
eglsurface.c eglsync.c eglcompiler.h eglconfig.h eglcontext.h 
eglcurrent.h egldefines.h egldisplay.h egldriver.h eglglobals.h 
eglimage.h egllog.h eglmisc.h eglmode.h eglmutex.h eglscreen.h 
eglstring.h eglsurface.h eglsync.h > /dev/null 2>/dev/null
make[3]: Leaving directory
        `/home/david/sources/XSOURCES/mesa/src/egl/main'
make[3]: Entering directory
        `/home/david/sources/XSOURCES/mesa/src/egl/main'
gcc -c -I../../../include -g -O2 -Wall -Wmissing-prototypes -std=c99
-ffast-math -fno-strict-aliasing  -fPIC  -DUSE_X86_ASM
-DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE
-DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1
-DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING
-DHAVE_ALIAS -DHAVE_LIBUDEV -DHAVE_XCB_DRI2
-DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -fvisibility=hidden
-D_EGL_OS_UNIX=1 -D_EGL_BUILT_IN_DRIVER_DRI2
-D_EGL_BUILT_IN_DRIVER_GLX
-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_X11
-D_EGL_DRIVER_SEARCH_DIR=\"/opt/X/lib/egl\" eglapi.c -o eglapi.o
In file included from ../../../include/EGL/egl.h:36:0, from
        egltypedefs.h:6,
 from eglcontext.h:5,
 from eglapi.c:60: ../../../include/EGL/eglplatform.h:98:22:
 fatal error: X11/Xlib.h: No such file or directory
compilation terminated.
make[3]: *** [eglapi.o] Error 1


Problem : Can't find X11/Xlib.h :
6x Confirmed 10 Jun 2011 : /mesa/src/egl/main/Makefile :
Add -I/opt/X/include to INCLUDE_DIRS
Or Add $(X11_INCLUDES) to INCLUDE_DIRS

Did that and started over.
.
.
.
make[4]: Entering directory
`/home/david/sources/XSOURCES/mesa/src/gallium/state_trackers/egl'
rm -f depend
touch depend
/opt/X/bin/makedepend -fdepend
-I/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/include
-I/usr/lib/gcc/i686-pc-linux-gnu/4.6.0/include-fixed -I.
-I../../../../src/gallium/include -I../../../../src/gallium/auxiliary
-I../../../../src/egl/main -I../../../../src/egl/wayland/wayland-drm/
-I../../../../include -I../../../../src/gallium/drivers
-I../../../../src/glx -I../../../../src/mapi -I../../../../src/mesa
-I/opt/X/include   -I/opt/X/include -I/opt/X/include/libdrm
-I../../../../src/gallium/winsys -I/opt/X/include
-I/opt/X/include/libdrm   -I../../../../src/gallium/winsys/sw
common/native_wayland_drm_bufmgr_helper.c common/egl_g3d_image.c
common/egl_g3d_st.c common/egl_g3d_api.c common/native_helper.c
common/egl_g3d.c common/egl_g3d_sync.c x11/native_ximage.c
x11/native_dri2.c x11/x11_screen.c x11/native_x11.c
x11/glxinit.c ../../../../src/glx/dri2.c drm/native_drm.c drm/modeset.c
fbdev/native_fbdev.c 2> /dev/null
make[4]: Leaving directory
`/home/david/sources/XSOURCES/mesa/src/gallium/state_trackers/egl'
make[4]: Entering directory
`/home/david/sources/XSOURCES/mesa/src/gallium/state_trackers/egl'
gcc -c -I. -I../../../../src/gallium/include
-I../../../../src/gallium/auxiliary -I../../../../src/egl/main
-I../../../../src/egl/wayland/wayland-drm/ -I../../../../include
-DHAVE_X11_BACKEND -DHAVE_DRM_BACKEND -D_GNU_SOURCE -DPTHREADS
-DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -g
-O2 -Wall -Wmissing-prototypes -std=c99 -ffast-math
-fno-strict-aliasing  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM
-DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS
-DHAVE_POSIX_MEMALIGN -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER
-DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS
-DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN
-fvisibility=hidden common/native_wayland_drm_bufmgr_helper.c -o
common/native_wayland_drm_bufmgr_helper.o
In file included from ../../../../include/EGL/egl.h:36:0,
 from common/native.h:29,
 from common/native_wayland_drm_bufmgr_helper.c:4:
../../../../include/EGL/eglplatform.h:98:22: fatal error: X11/Xlib.h:
No such file or directory
compilation terminated.
make[4]: *** [common/native_wayland_drm_bufmgr_helper.o]
Error 1
make[4]: Leaving directory
`/home/david/sources/XSOURCES/mesa/src/gallium/state_trackers/egl'
make[3]: *** [subdirs] Error 1


Problem : Can't find X11/Xlib.h :
3x confirmed 10 Jun
2011 : /mesa/src/gallium/state_trackers/egl/Makefile :
Add $(shell pkg-config --cflags-only-I x11) to common_INCLUDES.
That 'x' is NOT a typo. It is a lowercase x.


Did that and started over.
Compile successful.
I'm not finished installing X yet. But I've done it 2-3 times the last
few months so I'm sure that it will work. This is the last time BTW.

I've noticed that other problems finding X's includes and libraries
have been fixed over the last few years. I've hesitated to file this
bug report because I'm tired of hearing "Fix it yourself" or "Get a
decent distro". I can't see any difference between what I have and
Redhat,Slackware,ETC-based systems. Other than that I compile
everything myself. I'm not an automake/autoconf expert so I figured
that I'd let someone else do the bug reporting that is. But these two
problems remain and nobody seems to be fixing them. So I'm filing this
report.

Now, if someone could just tell me what gallium is and especially how
to get ATI's or nVidia's headers installed and get X and other apps
that I compile to use them, I'd appreciate it. Somebody needs to make a
nice chart that shows how the kernel, X, drm, mesa, cairo, ETC fit
together. It won't be me because I need the chart to figure it all out
so that I can make the chart. Which I then wouldn't have to make
because someone already did it :) Linux and circular dependancies go
together like ham and cheese. haha. Oh well.

UPDATE : After my hacks, X is installed just fine. But I'm not sure what
effects mesa/drm/etc are having on how my screen works.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the mesa-dev mailing list