Bug 11056 - Compiling a file that uses libdrm headers fails with: fatal error: drm.h: No such file or directory
Summary: Compiling a file that uses libdrm headers fails with: fatal error: drm.h: No ...
Status: RESOLVED INVALID
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: 2018.02.1
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-31 07:58 UTC by Ciro Santilli
Modified: 2018-05-31 08:31 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ciro Santilli 2018-05-31 07:58:24 UTC
Test setup: https://github.com/cirosantilli/buildroot/tree/b388a47239bceb5abfe45b5ab4cdc44bdc837f7a which has very shallow patches on top of master commit 545567a8fc3eaac197c089c4ea905675d8d3dab9 which is ahead of 2018.05-rc1 then run with:

```
./run
./run-aarch64
```

Build fails for both x86 and aarch64 with:

```
>>> hello 1.0 Building
/usr/bin/make -j8 CC="/home/ciro/bak/git/buildroot/output/host/bin/aarch64-buildroot-linux-uclibc-gcc" LD="/home/ciro/bak/git/buildroot/output/host/bin/aarch64-buildroot-linux-uclibc-ld" -C /home/ciro/bak/git/bu
ildroot/output/build/hello-1.0
/home/ciro/bak/git/buildroot/output/host/bin/aarch64-buildroot-linux-uclibc-gcc -o 'hello' 'hello.c'
In file included from hello.c:2:0:
/home/ciro/bak/git/buildroot/output/host/aarch64-buildroot-linux-uclibc/sysroot/usr/include/xf86drm.h:40:17: fatal error: drm.h: No such file or directory
 #include <drm.h>
                 ^
```

for the file:

```
#include <stdio.h>
#include <xf86drm.h>
#include <xf86drmMode.h>

int main(void) {
    puts("hello");
}

```

If I remove:

```
#include <xf86drm.h>
#include <xf86drmMode.h>
```

which are provided by libdrm, then it works.

Likely something obvious to those familiar with it.

Can we add an appropriate DEPENDS or SELECTS to the Config.in?

My goal is to later run: https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset.c to learn DRM. I know that there must be further settings missing since I don't have /dev/dri on aarch64, but I do on x86.
Comment 1 Ciro Santilli 2018-05-31 08:30:52 UTC
Ah, as it usually happens, after posting something publicly I triple checked everything to not look silly and noticed that drm.h is part of the Linux kernel uapi, is in staging, and I passed -I and -l and it worked!!

I will try to use pkgconfig later on.