[Nouveau] Mesa build issue... is it just me? [solved]

Andrew Green andrew.green.df at gmail.com
Sun Aug 5 06:38:37 PDT 2012


El 29/07/12 18:36, Andrew Green escribió:
> El 29/07/12 12:54, Maarten Maathuis escribió:
>> On Sun, Jul 29, 2012 at 7:14 PM, Andrew 
>> Green<andrew.green.df at gmail.com>  wrote:
>>> Anyone else getting this when building the latest mesa?
>>>
>>> make[3]: Entering directory
>>> `/usr/local/nouveau/mesa2/mesa/src/gallium/targets/dri-nouveau'
>>> gcc -c -I. -I../../../../src/mesa/drivers/dri/common -Iserver
>>> -I../../../../include -I../../../../include/GL/internal
>>> -I../../../../src/mapi -I../../../../src/gallium/include
>>> -I../../../../src/gallium/auxiliary -I../../../../src/gallium/drivers
>>> -I../../../../src/gallium/winsys -I../../../../src/mesa
>>> -I../../../../src/mesa/main -I../../../../src/mesa/math
>>> -I../../../../src/mesa/transform -I../../../../src/mesa/shader
>>> -I../../../../src/mesa/swrast -I../../../../src/mesa/swrast_setup
>>> -I../../../../src/egl/main -I../../../../src/egl/drivers/dri
>>> -I/usr/local/include -I/usr/local/include/libdrm    -g -O2 -Wall 
>>> -std=c99
>>> -Werror=implicit-function-declaration -Werror=missing-prototypes
>>> -fno-strict-aliasing -fno-builtin-memcmp -g -g -O2 -fPIC -D_GNU_SOURCE
>>> -DPTHREADS -DDEBUG -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 
>>> -fvisibility=hidden
>>> -DGALLIUM_RBUG -DGALLIUM_TRACE target.c -o target.o
>>> /bin/sh ../../../../bin/mklib -o nouveau_dri.so.tmp -noprefix 
>>> -linker 'g++'
>>> -ldflags '' \
>>>          target.o ../../../../src/mesa/drivers/dri/common/utils.o
>>> ../../../../src/mesa/drivers/dri/common/dri_util.o
>>> ../../../../src/mesa/drivers/dri/common/xmlconfig.o
>>> ../../../../src/gallium/state_trackers/dri/drm/libdridrm.a
>>> ../../../../src/gallium/winsys/nouveau/drm/libnouveaudrm.a
>>> ../../../../src/gallium/drivers/trace/libtrace.a
>>> ../../../../src/gallium/drivers/rbug/librbug.a
>>> ../../../../src/gallium/drivers/nv30/libnv30.a
>>> ../../../../src/gallium/drivers/nv50/libnv50.a
>>> ../../../../src/gallium/drivers/nvc0/libnvc0.a
>>> ../../../../src/gallium/drivers/nouveau/libnouveau.a \
>>>                  -Wl,--start-group 
>>> ../../../../src/mesa/libmesagallium.a
>>> ../../../../src/gallium/auxiliary/libgallium.a -Wl,--end-group \
>>>                    ../../../../lib/libdricore8.1.0.so  
>>> -L/usr/local/lib -ldrm
>>> -lexpat -lm -lpthread -ldl -ldrm_nouveau
>>> mklib: Making Linux shared library:  nouveau_dri.so.tmp
>>> g++ -g -O2 -Wall -std=c99 -Werror=implicit-function-declaration
>>> -Werror=missing-prototypes -fno-strict-aliasing -fno-builtin-memcmp 
>>> -g -g
>>> -O2 -fPIC -D_GNU_SOURCE -DPTHREADS -DDEBUG -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 -fvisibility=hidden -o nouveau_dri.so.test
>>> ../../../../src/mesa/drivers/dri/common/dri_test.o nouveau_dri.so.tmp
>>> ../../../../lib/libdricore8.1.0.so  -L/usr/local/lib -ldrm   -lexpat 
>>> -lm
>>> -lpthread -ldl -ldrm_nouveau   ;
>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libdrm_nouveau.so:
>>> undefined reference to `drmPrimeHandleToFD'
>>> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libdrm_nouveau.so:
>>> undefined reference to `drmPrimeFDToHandle'
>>> collect2: error: ld returned 1 exit status
>>>
>>> I'm on a mixed Debian testing/unstable/experimental, with Linux
>>> 3.4-trunk-amd64. Didn't have any build issues before doing a git 
>>> pull and an
>>> apt-get upgrade just prior.
>>>
>>> I noticed this (refers to intel and drm):
>>> http://blog.gmane.org/gmane.comp.video.dri.patches . Says something 
>>> about
>>> distributions having changed ld to default to 
>>> --no-copy-dt-needed-entries.
>>>
>>> Many thanks in advance for any suggestions, greetings,
>>> Andrew
>>>
>>> P.S. Here is my config:
>>>
>>> ./autogen.sh --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib
>>> --includedir=/usr/include --with-dri-drivers=
>>> --with-gallium-drivers=swrast,nouveau --enable-debug 
>>> --enable-texture-float
>>> --disable-asm --enable-opengl --disable-gles2 --disable-openvg
>>> --enable-texture-float --disable-asm --enable-opengl --disable-gles2
>>> --disable-openvg --enable-dri --enable-glx --enable-xvmc --disable-va
>>> --disable-vdpau --disable-osmesa --disable-egl --disable-xorg
>>> --disable-d3d1x --disable-xa --disable-gbm --disable-xlib-glx
>>> --disable-gallium-egl --disable-gallium-gbm --disable-gallium-llvm
>>> --enable-driglx-direct --enable-glx-tls --enable-glu --prefix=/usr/
>>>
>>>
>>> _______________________________________________
>>> Nouveau mailing list
>>> Nouveau at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/nouveau
>>>
>> Sounds like something is wrong with your libdrm install if i had to 
>> guess.
>>
>> Those symbols were added recently it seems:
>> http://cgit.freedesktop.org/mesa/drm/commit/?id=cc0a14575d9fd0aafe73cb4aa445eaf024436114 
>>
> It does look like something like that. But I've compiled drm from the 
> most recent git, which includes that commit. And a grep -R for those 
> symbols in my drm source tree does indeed find them. I also removed 
> the libdrm files provided by my distribution, and then ran ldconfig. 
> In /usr/lib/ I have lots of libdrm stuff, all compiled by me, and a 
> grep of those binary files also finds the supposedly missing symbols. 
> Could there still be some old/distribution-installed libdrm stuff 
> lurking somewhere? (The file mentioned by the error, 
> /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../../lib/libdrm_nouveau.so, 
> was compiled by me.) What about the "--no-copy-dt-needed-entries" issue?
Found it... there were some old files in that I had compiled and that I 
didn't realize were being linked to...  *embarrassed grin* Many thanks 
for your help...



More information about the Nouveau mailing list