Closed JoeSandom closed 5 years ago
Unfortunately, I do not understand what is going on. I'll try to contact the SR devs.
So, I have tried to build libimxdmabuffer with the FSL BSP that contains a 4.14 kernel, and it built just fine. Please contact SolidRun for more, since this seems to be either a problem with your setup or a SolidRun specific issue. Closing for now, but please feel free to reopen if it turns out to be a libimxdmabuffer bug after all.
I am having a very similar issue on a Nitrogen8m board from Boundary, using their provided Ubuntu 18.04 image. My suspicion is that the "asm" headers are targeting the wrong architecture. I can't seem to find asm headers for aarch64
Edit: I feel like this trouble would be circumvented if I could figure out how to build my own image using Yocto, but I don't know where to begin with that.
@JoeSandom did you ever find a solution to this?
Hi @JustBenj, In the end I used Yocto to build a custom distribution with gstreamer-imx included + all dependencies. Worked perfectly this way! Nitrogen8m board has Yocto support already so I would suggest trying to build the Yocto image. I feel that Yocto can be a bit overwhelming but once you get stuck in it's not too difficult :). Just follow the steps below to get the initial build done and then when including gstreamer-imx you'll have to modify a couple of recipes to get the "v2" branch as opposed to master. I can help you with this if you need.
Hi, I'm working with an iMX8m from SolidRun;
https://www.solid-run.com/product/SRMX8QDW00D03GE008V20C0/
When following the specified configuration instructions;
./waf configure --prefix=PREFIX
Errors relating to not having a specified kernel headers path appear. So I added the following kernel headers path in the configuration;
./waf configure --prefix=PREFIX --imx-linux-headers-path=/usr/src/linux-headers-4.14.104-imx8-sr/include/
This seemed to get us a little closer, now being able to include
<linux/mxcfb.h>
. Soon after a load of include errors were cropping up relating to "asm" includes. In the kernel header source files, there is only an "asm-generic", so I thought I created a symlink for asm to see if this would progress things a little further. The following errors appeared in the build config log; (snippet below)Would you be able to shed a little light on this issue?
In file included from /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/cmpxchg.h:93:0, from /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:18, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/atomic.h:5, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/kgdb.h:18, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/fb.h:5, from /usr/src/linux-headers-4.14.104-imx8-sr/include/uapi/linux/mxcfb.h:31, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/mxcfb.h:24, from ../test.c:1: /usr/src/linux-headers-4.14.104-imx8-sr/include/asm-generic/cmpxchg-local.h: In function ‘wrong_size_cmpxchg’: /usr/src/linux-headers-4.14.104-imx8-sr/include/asm-generic/cmpxchg-local.h:9:2: error: expected declaration specifiers before ‘noreturn’ noreturn; ^
~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm-generic/cmpxchg-local.h:17:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm-generic/cmpxchg-local.h:56:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { ^ In file included from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/atomic.h:5:0, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/kgdb.h:18, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/fb.h:5, from /usr/src/linux-headers-4.14.104-imx8-sr/include/uapi/linux/mxcfb.h:31, from /usr/src/linux-headers-4.14.104-imx8-sr/include/linux/mxcfb.h:24, from ../test.c:1: /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:92:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:120:1: note: in expansion of macro ‘ATOMIC_OP_RETURN’ ATOMIC_OP_RETURN(add, +) ^~~~/usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:92:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:124:1: note: in expansion of macro ‘ATOMIC_OP_RETURN’ ATOMIC_OP_RETURN(sub, -) ^~~~/usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:105:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:128:1: note: in expansion of macro ‘ATOMIC_FETCH_OP’ ATOMIC_FETCH_OP(add, +) ^~~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:105:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:132:1: note: in expansion of macro ‘ATOMIC_FETCH_OP’ ATOMIC_FETCH_OP(sub, -) ^~~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:105:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:136:1: note: in expansion of macro ‘ATOMIC_FETCH_OP’ ATOMIC_FETCH_OP(and, &) ^~~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:105:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:140:1: note: in expansion of macro ‘ATOMIC_FETCH_OP’ ATOMIC_FETCH_OP(or, |) ^~~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:105:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:144:1: note: in expansion of macro ‘ATOMIC_FETCH_OP’ ATOMIC_FETCH_OP(xor, ^) ^~~~~~~ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:82:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘{’ token { \ ^ /usr/src/linux-headers-4.14.104-imx8-sr/include/asm/atomic.h:148:1: note: in expansion of macro ‘ATOMIC_OP’ ATOMIC_OP(and, &)`