Go to file
Romain Naour bd0bb8b8f6 package/mesa3d: override dri path
Since the bump to 1.5.3, the behavior of pkg-config has slightly
changed. Like it used to behave before this bump, a few paths (libdir,
includedir, etc.) are prefixed by the sysroot, and other paths are
not. However, the behavior changes when a path, such as dridriverdir,
is defined in terms of ${libdir}.

With the older pkg-config, dridriverdir was not sysroot-prefixed.

With the new pkg-config, it will be sysroot-prefixed, because
pkg-config really resolved the value of libdir, which is
sysroot-prefixed. dridriverdir is used on the target and not at build
time, so we don't want it to be sysroot-prefixed.

As reported by #11591, the xerver fail to load dri modules (r600_dri.so):

>From Xorg.0.log:
(EE) AIGLX error: dlopen of /full/path/to/sysroot/usr/lib/dri/r600_dri.so failed (/full/path/to/sysroot/usr/lib/dri/r600_dri.so: cannot open shared object file: No such file or directory)
(II) GLX: no usable GL providers found for screen 0

That's because the xserver hardcode the dri divers directory path in
DRI_DRIVER_PATH which come from
dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`

We can see in dri.pc that dridriverdir use libdir which is now prefixed
by the sysroot by pkgconf 1.5.3:

prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri

Since we can't rely on pkgconf anymore, use
--with-dri-driverdir="/usr/lib/dri" to use explicitly "/usr/lib/dri"
instead of relying on dri.pc.

Tested using TestGlxinfo test from:
http://patchwork.ozlabs.org/patch/1021669/

Fixes:
https://bugs.buildroot.org/show_bug.cgi?id=11591

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: drop double quotes in path, rework commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-01-14 22:29:13 +01:00
arch arch: add support for RISC-V 32-bit (riscv32) architecture 2019-01-06 14:09:31 +01:00
board configs/qemu_riscv32_virt: new defconfig 2019-01-06 14:30:11 +01:00
boot boot/shim: new package 2019-01-12 17:38:25 +01:00
configs configs/raspberrypi*: bump kernel version to 4c5aec7827 2019-01-06 21:17:44 +01:00
docs docs/website/sponsors.html: Zillabit webserver does not support HTTPS 2019-01-13 08:46:34 +01:00
fs fs/common.mk: make sure that static devices from packages are created 2018-12-04 21:53:14 +01:00
linux {linux, linux-headers}: default to 4.19.x 2019-01-12 18:19:47 +01:00
package package/mesa3d: override dri path 2019-01-14 22:29:13 +01:00
support package/pkg-cmake: add CMAKE_SYSTEM_VERSION to toolchainfile.cmake 2019-01-12 16:06:51 +01:00
system skeleton: use BR2_SYSTEM_DEFAULT_PATH as default PATH 2018-12-31 14:32:44 +01:00
toolchain toolchain-external: update Arm AArch64 toolchain 8.2-2018.11 2019-01-04 12:45:17 +01:00
utils utils/get-developers: really make it callable from elsewhere than the toplevel directory 2019-01-04 13:23:41 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore
.gitlab-ci.yml configs/qemu_riscv32_virt: new defconfig 2019-01-06 14:30:11 +01:00
.gitlab-ci.yml.in .gitlab-ci.yml: store .config files as artefacts for defconfig tests 2018-12-09 17:31:13 +01:00
CHANGES Update for 2018.02.9 2018-12-20 14:21:49 +01:00
Config.in core/download: drop the SSH command 2018-11-19 22:11:31 +01:00
Config.in.legacy package/boost: bump to version 1.69.0 2019-01-13 21:45:43 +01:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS boot/shim: new package 2019-01-12 17:38:25 +01:00
Makefile Makefile, manual, website: Bump copyright year 2019-01-06 21:30:34 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches