LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch
User Name
Password
Linux From Scratch This Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.

Notices


Reply
  Search this Thread
Old 07-18-2012, 06:57 PM   #1
Dr. 2
LQ Newbie
 
Registered: Jul 2012
Posts: 5

Rep: Reputation: Disabled
Mesa can not build because I don't have libglapi.


Hi! Recently I've finished LFS and started BLFS. But I'm having a problem in chapter 24 building Mesalib-8.0.4. I'm using the newest version BLFS.

When I do make after following the instructions it ends with this:

Code:
make[1]: Entering directory `/root/xc/Mesa-8.0.4/xdemos'
gcc -I../include -L../lib -lGL -lX11   -lm -o glxinfo glxinfo.c
/usr/bin/ld: warning: libglapi.so.0, needed by ../lib/libGL.so, not found (try using -rpath or -rpath-link)
../lib/libGL.so: undefined reference to `_glapi_get_proc_address'
../lib/libGL.so: undefined reference to `_glapi_get_dispatch_table_size'
../lib/libGL.so: undefined reference to `_glthread_GetID'
../lib/libGL.so: undefined reference to `_glapi_check_multithread'
../lib/libGL.so: undefined reference to `_glapi_set_context'
../lib/libGL.so: undefined reference to `_glapi_set_dispatch'
../lib/libGL.so: undefined reference to `_glapi_tls_Dispatch'
collect2: ld returned 1 exit status
make[1]: *** [glxinfo] Error 1
make[1]: Leaving directory `/root/xc/Mesa-8.0.4/xdemos'
make: *** [default] Error 1
I've tried searching for libglapi using
Code:
find / libglapi
and
Code:
find / libglapi.so.0
but I could not find it. I also could not find an answer to this anywhere on my internet! Does anyone have an idea what I could have done wrong?

Last edited by Dr. 2; 07-18-2012 at 07:20 PM.
 
Old 07-18-2012, 08:19 PM   #2
whizzit
Member
 
Registered: Aug 2004
Location: UK
Distribution: Gentoo, OpenBSD, Debian, FreeBSD, RHEL, CentOS
Posts: 65

Rep: Reputation: 24
http://www.linuxfromscratch.org/blfs/view/svn/x/mesalib.html

Are these the instructions you're following? My interpretation is that the mesa build will create the libglapi library. This leads me to wonder what your. /configure line is. I suspect a typo or missing --enable-shared-glapi option. Can you post it here?

I assume the checksum of the tarball was ok and that you're working in a fresh unpacked directory.
 
1 members found this post helpful.
Old 07-19-2012, 08:37 AM   #3
Dr. 2
LQ Newbie
 
Registered: Jul 2012
Posts: 5

Original Poster
Rep: Reputation: Disabled
The checksum says OK and I'm working in the fresh Mesa directory that was created after untarring. I'm using these commands

Code:
sed 's@FLAGS=\"-g@FLAGS=\"@' -i configure                &&
patch -Np1 -i ../MesaLib-8.0.4-add_xdemos-2.patch        &&
patch -Np1 -i ../MesaLib-8.0.4-llvm-3.1-fixes-1.patch    &&
./configure --prefix=$XORG_PREFIX   \
            --enable-texture-float  \
            --enable-gles1          \
            --enable-gles2          \
            --enable-xa             \
            --enable-shared-glapi   \
            --enable-shared-dricore \
            --enable-glx-tls        \
            --with-gallium-drivers="nouveau,r300,r600,svga,swrast" &&
make
Exactly as in the BLFS book (Except I don't use the escaped newlines, but that shouldn't make a difference) and I checked it several times to be sure there were no typos.

And libglapi.so.0 is in the lib directory in the untared mesa directory.

Last edited by Dr. 2; 07-19-2012 at 09:17 AM.
 
Old 07-19-2012, 10:14 AM   #4
whizzit
Member
 
Registered: Aug 2004
Location: UK
Distribution: Gentoo, OpenBSD, Debian, FreeBSD, RHEL, CentOS
Posts: 65

Rep: Reputation: 24
If the same configure options are exactly the same as created/cached with config.status then the libglapi.so.0 library should be installed into Mesa-8.0.4/lib/. Either way it should build cleanly.

Admittedly I'm not doing the following test on BLFS and with subtly different configure options so at least I can run make...but evidently, libglapi.so.0 is the first thing to be built. I noticed also that to start with there is a python2 script executed relating to glapi. My system is using python 2.7.

Had to strip nouveau from gallium driver set, and force only radeon dri driver ( to remove libdrm_intel dependency ) for the purposes of testing on my system - this is not intended to recommend better configure options than the excellent documentation for BLFS.

Code:
./configure --prefix=/usr/lib/xorg    \
            --with-dri-drivers=radeon \
            --enable-gles1            \
            --enable-gles2            \
            --enable-xa               \
            --enable-texture-float    \
            --enable-shared-dricore   \
            --enable-glx-tls          \
            --with-gallium-drivers="r300,r600,svga,swrast" \
            --enable-shared-glapi
Code:
Making sources for autoconf
gmake[2]: Entering directory `/home/grant/build/Mesa-8.0.4/src/mapi/shared-glapi'
python2 -t -O -O ../../../src/mapi/mapi/mapi_abi.py --mode lib --printer shared-glapi ../../../src/mapi/glapi/gen/gl_and_es_API.xml > glapi_mapi_tmp.h
running /usr/bin/makedepend
gmake[2]: Leaving directory `/home/grant/build/Mesa-8.0.4/src/mapi/shared-glapi'
gmake[2]: Entering directory `/home/grant/build/Mesa-8.0.4/src/mapi/shared-glapi'
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/entry.c -o entry.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/mapi_glapi.c -o mapi_glapi.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/stub.c -o stub.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/table.c -o table.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/u_current.c -o u_current.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/u_execmem.c -o u_execmem.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_64_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0209 -fvisibility=hidden ../../../src/mapi/mapi/u_thread.c -o u_thread.o
/bin/sh ../../../bin/mklib -o glapi -linker 'gcc' -ldflags '' \
        -major 0 -minor 0 -patch 0 \
        -id /usr/lib/xorg/lib/libglapi.0.dylib \
         -install ../../../lib \
        entry.o mapi_glapi.o stub.o table.o u_current.o u_execmem.o u_thread.o  -lpthread 
mklib: Making Linux shared library:  libglapi.so.0.0.0
mklib: Installing libglapi.so.0.0.0 libglapi.so.0 libglapi.so in ../../../lib
gmake[2]: Leaving directory `/home/grant/build/Mesa-8.0.4/src/mapi/shared-glapi'
For reference, the following excerpt is from Mesa-8.0.4/doc/egl.html:

Quote:
* --enable-shared-glapi

By default, libGL has its own copy of libglapi. This options makes
libGL use the shared libglapi. This is required if applications mix
OpenGL and OpenGL ES.
Did you build python 2 from chapter 13 and/or python 3? Could the src/mapi/mapi/mapi_abi.py not work with python 3 (?), if that version is the one you opted for. Or more specifically your system builds of 2 or 3? Just thinking aloud.

Disclaimer: I'm not an LFS nor BLFS expert so I lend my comments to correction by persons more experienced with such systems.

Last edited by whizzit; 07-19-2012 at 12:50 PM. Reason: fix spelling error
 
1 members found this post helpful.
Old 07-19-2012, 12:53 PM   #5
Dr. 2
LQ Newbie
 
Registered: Jul 2012
Posts: 5

Original Poster
Rep: Reputation: Disabled
Thanks for the responses.

When I type "python" python 2.7.3 starts so I think that I got python working correctly. I also get similar output to what you got above when I start make.

This is what I get: (Only the start it goes on a long time before it crashes)
Code:
make[1]: Entering directory `/root/xc/Mesa-8.0.4/src'
Making sources for autoconf
make[2]: Entering directory `/root/xc/Mesa-8.0.4/src/mapi/shared-glapi'
python -t -O -O ../../../src/mapi/mapi/mapi_abi.py --mode lib --printer shared-glapi ../../../src/mapi/glapi/gen/gl_and_es_API.xml > glapi_mapi_tmp.h
running /usr/bin/makedepend
make[2]: Leaving directory `/root/xc/Mesa-8.0.4/src/mapi/shared-glapi'
make[2]: Entering directory `/root/xc/Mesa-8.0.4/src/mapi/shared-glapi'
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/entry.c -o entry.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/mapi_glapi.c -o mapi_glapi.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/stub.c -o stub.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/table.c -o table.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/u_current.c -o u_current.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/u_execmem.c -o u_execmem.o
gcc -c -I../../../include -I../../../src/mapi -DMAPI_MODE_GLAPI -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/u_thread.c -o u_thread.o
/bin/sh ../../../bin/mklib -o glapi -linker 'gcc' -ldflags '' \
	-major 0 -minor 0 -patch 0 \
	-id /usr/lib/libglapi.0.dylib \
	 -install ../../../lib \
	entry.o mapi_glapi.o stub.o table.o u_current.o u_execmem.o u_thread.o  -lpthread 
mklib: Making Linux shared library:  libglapi.so.0.0.0
mklib: Installing libglapi.so.0.0.0 libglapi.so.0 libglapi.so in ../../../lib
make[2]: Leaving directory `/root/xc/Mesa-8.0.4/src/mapi/shared-glapi'
make[2]: Entering directory `/root/xc/Mesa-8.0.4/src/mapi/glapi'
running /usr/bin/makedepend
make[2]: Leaving directory `/root/xc/Mesa-8.0.4/src/mapi/glapi'
make[2]: Entering directory `/root/xc/Mesa-8.0.4/src/mapi/glapi'
gcc -c -I../../../include -I../../../src/mapi -I../../../src/mesa -DMAPI_MODE_BRIDGE -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp  -fPIC  -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -D__STDC_CONSTANT_MACROS -DHAVE_LLVM=0x0301 -fvisibility=hidden ../../../src/mapi/mapi/entry.c -o entry.o
mklib: Making Linux static library:  libglapi.a
ar: creating libglapi.a
make[2]: Leaving directory `/root/xc/Mesa-8.0.4/src/mapi/glapi'
It builds correctly when I leave out --enable-shared-glapi .

Last edited by Dr. 2; 07-19-2012 at 02:19 PM.
 
Old 07-19-2012, 04:20 PM   #6
whizzit
Member
 
Registered: Aug 2004
Location: UK
Distribution: Gentoo, OpenBSD, Debian, FreeBSD, RHEL, CentOS
Posts: 65

Rep: Reputation: 24
libxml2-python.so

That's interesting. So the shared library is getting built ( when using --enable-shared-glapi obviously ) but just doesn't contain the right symbols.

Might be worth checking that the missing symbols in the error message from your original post are contained within the Mesa-8.0.4/src/mapi/shared-glapi/mapi_glapi.o object file and compare that with what is in Mesa-8.0.4/lib/libglapi.so.0.0.0 using objdump -t, for example.

The only other idea I have is that the libxml2-python must be built if using OpenGL ES, which is the case here due to --enable-gles1 and --enable-gles2. The BLFS libxml2 build instructions only recommend Python as a dependency whereas the MesaLib instructions state that it that the libxml2-python module *is* required ( but only recommended ).

Curiously, all bar 2 xml files in the checked out source code are within the src/mapi/glapi/ directory.
 
1 members found this post helpful.
Old 07-20-2012, 12:35 PM   #7
Dr. 2
LQ Newbie
 
Registered: Jul 2012
Posts: 5

Original Poster
Rep: Reputation: Disabled
All symbols are in Mesa-8.0.4/lib/libglapi.so.0.0.0 and only 1 is missing in Mesa-8.0.4/src/mapi/shared-glapi/mapi_glapi.o.

How can I see if I have libxml2-python? I have installed both python and libxml2 in that order.
I have found this
Code:
python -c "import sys; print sys.path"
And I tried replacing sys with libxml2 and it says
Code:
'module' object has no attribute 'path'
So I think that I have got libxml2-python because when I replace sys with some boogus name like ml2 it says there is no module named ml2.

The build works also when I leave out --enable-gles1 and --enable-gles2.
 
Old 07-20-2012, 04:04 PM   #8
whizzit
Member
 
Registered: Aug 2004
Location: UK
Distribution: Gentoo, OpenBSD, Debian, FreeBSD, RHEL, CentOS
Posts: 65

Rep: Reputation: 24
Ok. The BLFS libxml2 docs say the module would be libxml2mod.so, but it seems you have it.

Well, my last wacky idea wasn't worth mentioning except I've exhausted everything I can think of, so:

* lib/libglapi.so.0.0.0 seems to have the right symbols. The original error message was unable to find libglapi.so.0 - this being a symlink to libglapi.so.0.0.0.

Code:
ged Mesa-8.0.4 $ ls -lgo lib/libglapi*
lrwxrwxrwx 1     13 Jul 20 20:19 lib/libglapi.so -> libglapi.so.0
lrwxrwxrwx 1     17 Jul 20 20:19 lib/libglapi.so.0 -> libglapi.so.0.0.0
-rwxr-xr-x 1 230205 Jul 20 20:19 lib/libglapi.so.0.0.0
A long shot I wouldn't put money on.

I don't know what else to suggest.
 
1 members found this post helpful.
Old 07-21-2012, 07:38 AM   #9
Dr. 2
LQ Newbie
 
Registered: Jul 2012
Posts: 5

Original Poster
Rep: Reputation: Disabled
I decided to simply leave out --enable-shared-glapi and got xwindows working. I guess I can always try compiling Mesa with --enable-shared-glapi again if this causes me problems in the future.

Anyways thanks for your help I really appreciate it!
 
Old 07-22-2012, 04:19 PM   #10
whizzit
Member
 
Registered: Aug 2004
Location: UK
Distribution: Gentoo, OpenBSD, Debian, FreeBSD, RHEL, CentOS
Posts: 65

Rep: Reputation: 24
You're welcome. I felt sure we'd crack it.

If/when you revisit this in the future and find a solution, I will be interested to know what we overlooked.

All the best.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Unofficial Mesa-7.11 build script for Slackware ReaperX7 Slackware 10 10-12-2011 10:21 PM
[SOLVED] configure: error: makedepend is required to build Mesa ghantauke Linux - Software 3 06-04-2011 05:07 AM
Mesa with DRI custom build shows black 3D windows (glxgears...) arond Linux - Software 0 08-20-2010 01:38 PM
[SOLVED] Help on build mesa + xcb BrZ Slackware 13 04-15-2009 02:39 AM
Mesa 6.5.2 Build Failure s3v_state.c EmrldDrgn Linux - Software 1 01-09-2009 02:27 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Linux From Scratch

All times are GMT -5. The time now is 12:35 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration