Dana 14.10.2012 16:04, lux-integ je napisao:
> On Saturday 13 October 2012 22:30:05 Armin K. wrote:
>
>>
>> As for the problem, you can't use MesaLib 8.0 with libdrm 2.4.39 if you
>> are building per BLFS instructions. Either use MesaLib 9.0 with libdrm
>> 2.4.39, disable nouveau DRI and Gallium drivers in MesaLib 8.0.4 or use
>> libdrm 2.4.33 with MesaLib 8.0.4 and the problem will go away.
>
>
> As an update:
>
> I am now able to compile Mesa-9.0 using the following configure script.
>
> ./configure \
> --prefix=$XORG_PREFIX \
> --sysconfdir=/etc \
> --enable-gles1 \
> --enable-gles2 \
> --enable-xa \
> --enable-texture-float \
> --enable-glx-tls \
> --with-gallium-drivers="nouveau,r300,r600,svga,swrast" \
> --enable-shared-glapi \
> --enable-shared-dricore \
> --enable-gallium-llvm \
> --with-egl-platrorms="drm,x11" \
> --enable-gbm \
> --enable-gallium-gbm \
> --enable-gallium-egl \
> --enable-openvg \
>
> ( I tried the scons script buiut it failed).
>
> The build fails with either of the following two options
> --enable-r600-llvm-compiler \
> --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" \
>
> # with --enable-r600-llvm-compiler \ make ends like so
> #---------
> gcc -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -
> I../../../src/gallium/drivers -I/usr/X11R7.7/include -I/usr/include -
> I/usr/local/include -I/opt/qt4/include -march=amdfam10 -O2 -pipe -m64 -fPIC
> -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-
> prototypes -fno-strict-aliasing -fno-builtin-memcmp -fPIC -D_GNU_SOURCE -
> DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -
> DIN_DRI_DRIVER -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -
> DGLX_USE_TLS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -
> DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_LLVM= -fvisibility=hidden
> cso_cache/cso_cache.c -o cso_cache/cso_cache.o
> gcc -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -
> I../../../src/gallium/drivers -I/usr/X11R7.7/include -I/usr/include -
> I/usr/local/include -I/opt/qt4/include -march=amdfam10 -O2 -pipe -m64 -fPIC
> -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-
> prototypes -fno-strict-aliasing -fno-builtin-memcmp -fPIC -D_GNU_SOURCE -
> DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -
> DIN_DRI_DRIVER -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -
> DGLX_USE_TLS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -
> DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_LLVM= -fvisibility=hidden
> cso_cache/cso_context.c -o cso_cache/cso_context.o
> gcc -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -
> I../../../src/gallium/drivers -I/usr/X11R7.7/include -I/usr/include -
> I/usr/local/include -I/opt/qt4/include -march=amdfam10 -O2 -pipe -m64 -fPIC
> -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-
> prototypes -fno-strict-aliasing -fno-builtin-memcmp -fPIC -D_GNU_SOURCE -
> DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -
> DIN_DRI_DRIVER -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -
> DGLX_USE_TLS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -
> DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_LLVM= -fvisibility=hidden
> cso_cache/cso_hash.c -o cso_cache/cso_hash.o
> gcc -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -
> I../../../src/gallium/drivers -I/usr/X11R7.7/include -I/usr/include -
> I/usr/local/include -I/opt/qt4/include -march=amdfam10 -O2 -pipe -m64 -fPIC
> -Wall -std=c99 -Werror=implicit-function-declaration -Werror=missing-
> prototypes -fno-strict-aliasing -fno-builtin-memcmp -fPIC -D_GNU_SOURCE -
> DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -
> DIN_DRI_DRIVER -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -
> DGLX_USE_TLS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -
> DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_LLVM= -fvisibility=hidden
> draw/draw_context.c -o draw/draw_context.o
> In file included from draw/draw_context.c:40:0:
> draw/draw_vs.h:170:14: error: #if with no expression
> draw/draw_context.c:43:14: error: #if with no expression
> draw/draw_context.c: In function 'draw_create_context':
> draw/draw_context.c:79:14: error: #if with no expression
> draw/draw_context.c: In function 'draw_destroy':
> draw/draw_context.c:195:7: error: implicit declaration of function
> 'draw_llvm_destroy' [-Werror=implicit-function-declaration]
> draw/draw_context.c: In function 'draw_set_samplers':
> draw/draw_context.c:794:7: error: implicit declaration of function
> 'draw_llvm_set_sampler_state' [-Werror=implicit-function-declaration]
> draw/draw_context.c: In function 'draw_set_mapped_texture':
> draw/draw_context.c:811:10: error: implicit declaration of function
> 'draw_llvm_set_mapped_texture' [-Werror=implicit-function-declaration]
> draw/draw_context.c: In function 'draw_get_shader_param':
> draw/draw_context.c:844:4: error: implicit declaration of function
> 'draw_get_option_use_llvm' [-Werror=implicit-function-declaration]
> draw/draw_context.c:848:10: error: implicit declaration of function
> 'gallivm_get_shader_param' [-Werror=implicit-function-declaration]
> cc1: some warnings being treated as errors
> make[3]: *** [draw/draw_context.o] Error 1
>
> #---------
>
>
> # with --with-gallium-drivers="nouveau,r300,r600,radeonsi,svga,swrast" --
> make like so
> #-----------------------
> mklib: Making Linux shared library: r600_dri.so.tmp
> g++ -I/usr/X11R7.7/include -I/usr/include -I/usr/local/include -
> I/opt/qt4/include -march=amdfam10 -O2 -pipe -m64 -fPIC -Wall -std=c99 -
> Werror=implicit-function-declaration -Werror=missing-prototypes -fno-strict-
> aliasing -fno-builtin-memcmp -fPIC -D_GNU_SOURCE -DTEXTURE_FLOAT_ENABLED -
> DUSE_X86_64_ASM -DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DIN_DRI_DRIVER -DUSE_XCB
> -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -
> DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -
> DHAVE_LIBUDEV -DHAVE_LLVM=0x0301 -fvisibility=hidden -o r600_dri.so.test
> ../../../../src/mesa/drivers/dri/common/dri_test.o r600_dri.so.tmp -
> L/usr/X11R7.7/lib -ldrm -lexpat -lm -lpthread -ldl -ldrm_radeon -
> L/usr/X11R7.7/lib -L/usr/local/lib -L/usr/X11R7.7/lib -L/opt/llvm/lib
> -L/opt/qt4/lib -L/opt/llvm/lib -L/usr/lib -L/usr/local/lib -ldl -
> lpthread;
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::SelectionDAGISel'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::AsmPrinter'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::MCInstPrinter'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::TargetInstrInfoImpl'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::TargetPassConfig'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::MCAsmInfo'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::MCObjectWriter'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::TargetSubtargetInfo'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::LLVMTargetMachine'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::MCAsmBackend'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::MachineFunctionInfo'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::TargetFrameLowering'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::MachineFunctionPass'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::TargetIntrinsicInfo'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::MCCodeEmitter'
> r600_dri.so.tmp: undefined reference to `typeinfo for
> llvm::TargetRegisterInfo'
> r600_dri.so.tmp: undefined reference to `typeinfo for llvm::TargetLowering'
> collect2: ld returned 1 exit status
> make[3]: *** [r600_dri.so] Error 1
> #-----------------------
>
> (is here something I need to install to get get MesaLib-9.0 to install as per
> BLFS?
>
>
>
>
>
>
> incidenty I built llvm using cmake ;
> here is my build script:-
>
> cmake $BUILD/llvm-3.1.src \
> -DCMAKE_C_FLAGS="-march=amdfam10 -O2 -pipe -m64 -fPIC" \
> -DCMAKE_CXX_FLAGS="-march=amdfam10 -O2 -pipe -m64 -fPIC" \
> -DCMAKE_INSTALL_PREFIX=${LLVM_ROOT} \
> -DCMAKE_BUILD_TYPE=Release \
> -DBUILD_SHARED_LIBS=ON \
> -DLLVM_BUILD_TOOL=ON \
> -DLLVM_INCLUDE_TOOLS=ON \
> -DLLVM_BUILD_EXAMPLES=ON \
> -DLLVM_INCLUDE_EXAMPLES=ON \
> -DLLVM_INCLUDE_TEST=ON \
> -DLLVM_ENABLE_THREADS=ON \
> -DLLVM_ENABLE_ASSERTIONS=ON \
> -DLLVM_ENABLE_PIC=ON \
> -DLLVM_ENABLE_WARNINGS=ON \
> -DLLVM_ENABLE_PEDANTIC=ON \
>
> make VERBOSE=1
>
> make check
>
> su
> make install
>
First, you've ignored my warning about using compiler optimisations.
Second, you don't follow the book. MesaLib is installed per instuctions
in /usr now. So is llvm.
There is no way that I can follow what you've done ... Sorry.
Again, try following the book as it is and don't use optimisations.
If that fails, come back here again. Untill then you are on your own
since you decided to go "screw these people and their instructions, I
know better" way. I can assure you that the instructions work as they
are in the book, everything else is experiment on your own.
--
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page