[Bug 1130974] Re: mesa_8.0.4-0ubuntu0.3 fails to build on 12.04.2

Maarten Lankhorst maarten.lankhorst at canonical.com
Thu Feb 21 12:28:33 UTC 2013


** Description changed:

- It looks like the libdrm_nouveau library has split into version 1 and
- version 2, but the mesa package shipped with Ubuntu precise hasn't been
- updated to build with the updated packages.
+ [Impact] 
+  * Building xserver-xorg-video-nouveau, mesa, and xserver-xorg-video-nouveau from source with the updates pocket enabled will not work correctly.
+ 
+ [Test Case]
+  * Build and run those affected packages, plymouth build may succeed, but it will not be linked against libdrm-nouveau.so.1 in that case.
+ 
+ [Regression Potential] 
+  * Theoretically just a rebuild, so when I initially pushed the libdrm update I didn't want to risk pushing the updates to those packages since theoretically they should otherwise be identical. I never broke abi compability, so this would just be a rebuild.
+  * Build logs should be looked over to ensure that no strange things pop up.
+ 
+ [Other Info]
+   * libdrm moved to a new abi, but retained the same soname with a small bump. This means that the old mesa, plymouth and xxv-nouveau packages need to look for libdrm-nouveau1's package config now, which contains the correct information.
+  * libdrm_nouveau.so.1 -> old abi, link against it with -ldrm_nouveau1, and use libdrm-nouveau1 pkg-config
+  * libdrm_nouveau.so.2 -> new abi, libdrm-nouveau pkg-config and -ldrm-nouveau should be used.
+ 
+ [Original bug report]
+ It looks like the libdrm_nouveau library has split into version 1 and version 2, but the mesa package shipped with Ubuntu precise hasn't been updated to build with the updated packages.
  
  apt-get source mesa
  pbuilder-dist precise build mesa_8.0.4-0ubuntu0.3.dsc
  
  This fails with:
  mklib: Making Linux shared library:  nouveau_vieux_dri.so.tmp
  g++ -D_FORTIFY_SOURCE=2 -Wall -g -O2 -Wall -Wmissing-prototypes -std=c99 -fno-st
- rict-aliasing -fno-builtin-memcmp -Wall -g -O2  -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=0x0300 -fvisibility=hidden -o nouveau_vieux_dri.so.test ../../../../../src/mesa/drivers/dri/common/dri_test.o nouveau_vieux_dri.so.tmp  -L../../../../../x86_64-linux-gnu -Wl,-R/usr/lib/x86_64-linux-gnu/dri -ldricore -lglsl  -ldrm   -lexpat -lm -lpthread -ldl -ldrm_nouveau 
+ rict-aliasing -fno-builtin-memcmp -Wall -g -O2  -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=0x0300 -fvisibility=hidden -o nouveau_vieux_dri.so.test ../../../../../src/mesa/drivers/dri/common/dri_test.o nouveau_vieux_dri.so.tmp  -L../../../../../x86_64-linux-gnu -Wl,-R/usr/lib/x86_64-linux-gnu/dri -ldricore -lglsl  -ldrm   -lexpat -lm -lpthread -ldl -ldrm_nouveau
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_flush'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_pending'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_marker_undo'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_autobind'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_marker_emit'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_unmap'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_free'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_free'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_emit_reloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_device_close'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_handle_get'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_handle_ref'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_notifier_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_new_tile'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_notifier_free'
  collect2: ld returned 1 exit status
  make[7]: *** [nouveau_vieux_dri.so] Error 1

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to plymouth in Ubuntu.
https://bugs.launchpad.net/bugs/1130974

Title:
  mesa_8.0.4-0ubuntu0.3 fails to build on 12.04.2

Status in “mesa” package in Ubuntu:
  Invalid
Status in “plymouth” package in Ubuntu:
  New
Status in “xserver-xorg-video-nouveau” package in Ubuntu:
  Invalid
Status in “mesa” source package in Precise:
  In Progress
Status in “plymouth” source package in Precise:
  New
Status in “xserver-xorg-video-nouveau” source package in Precise:
  In Progress

Bug description:
  [Impact] 
   * Building xserver-xorg-video-nouveau, mesa, and xserver-xorg-video-nouveau from source with the updates pocket enabled will not work correctly.

  [Test Case]
   * Build and run those affected packages, plymouth build may succeed, but it will not be linked against libdrm-nouveau.so.1 in that case.

  [Regression Potential] 
   * Theoretically just a rebuild, so when I initially pushed the libdrm update I didn't want to risk pushing the updates to those packages since theoretically they should otherwise be identical. I never broke abi compability, so this would just be a rebuild.
   * Build logs should be looked over to ensure that no strange things pop up.

  [Other Info]
    * libdrm moved to a new abi, but retained the same soname with a small bump. This means that the old mesa, plymouth and xxv-nouveau packages need to look for libdrm-nouveau1's package config now, which contains the correct information.
   * libdrm_nouveau.so.1 -> old abi, link against it with -ldrm_nouveau1, and use libdrm-nouveau1 pkg-config
   * libdrm_nouveau.so.2 -> new abi, libdrm-nouveau pkg-config and -ldrm-nouveau should be used.

  [Original bug report]
  It looks like the libdrm_nouveau library has split into version 1 and version 2, but the mesa package shipped with Ubuntu precise hasn't been updated to build with the updated packages.

  apt-get source mesa
  pbuilder-dist precise build mesa_8.0.4-0ubuntu0.3.dsc

  This fails with:
  mklib: Making Linux shared library:  nouveau_vieux_dri.so.tmp
  g++ -D_FORTIFY_SOURCE=2 -Wall -g -O2 -Wall -Wmissing-prototypes -std=c99 -fno-st
  rict-aliasing -fno-builtin-memcmp -Wall -g -O2  -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=0x0300 -fvisibility=hidden -o nouveau_vieux_dri.so.test ../../../../../src/mesa/drivers/dri/common/dri_test.o nouveau_vieux_dri.so.tmp  -L../../../../../x86_64-linux-gnu -Wl,-R/usr/lib/x86_64-linux-gnu/dri -ldricore -lglsl  -ldrm   -lexpat -lm -lpthread -ldl -ldrm_nouveau
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_flush'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_pending'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_marker_undo'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_autobind'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_marker_emit'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_unmap'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_free'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_free'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_pushbuf_emit_reloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_device_close'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_channel_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_handle_get'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_handle_ref'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_notifier_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_bo_new_tile'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_grobj_alloc'
  nouveau_vieux_dri.so.tmp: undefined reference to `nouveau_notifier_free'
  collect2: ld returned 1 exit status
  make[7]: *** [nouveau_vieux_dri.so] Error 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1130974/+subscriptions




More information about the foundations-bugs mailing list