Closed amontefusco closed 4 years ago
@amontefusco What's being compiled is a simple EGT source file that depends on cairo. Not any cairo libs.
Your environment is a bit confusing and unknown. Are you using a ubuntu armel multiarch setup for cross compiling (guessing based on your compiler path) or some other cross compiler? What is your target processor? Can you provide the summary at the end of the ./configure output?
At first glance, the issue is you are somehow mixing in host and target toolchains/headers/libs. Because the error is in a toolchain header (stdlib.h), it looks like this has something to do with your environment. This can happen, for instance, if you are using pkg-config that provides a host cairo package, but you are compiling for ARM.
You are compiling on ubuntu, for a debian target which is curious. You need to make sure EGT is compiled against and links to the same shared libraries on your debian target (i.e. cairo, libjpeg, libdrm, libpng, libjpeg). Are these ARM libraries installed/available in your cross compilation environment? Usually they would be in /usr/lib/arm-linux-gnueabi/ based on where your stdlib.h is.
This is not a line for line tutorial, but something like this would be needed to get the dependent libs available and then compile and link on debian, for debian. Note that not all EGT dependencies have debian packages (i.e. libplanes), so you would have to manually compile and make it available.
sudo apt install crossbuild-essential-armel
sudo dpkg --add-architecture armel
sudo apt update
sudo apt install libdrm-dev:armel libcairo2-dev:armel libjpeg-dev:armel libmagic-dev:armel libsndfile1-dev:armel libasound2-dev:armel libcurl4-openssl-dev:armel librsvg2-dev:armel
Hi Joshua, many thanks for taking the time to look at my question.
Such system routinely runs Debian for ARM (after one builds a specific kernel as per AcmeSystems instructions) or Buildroot (there are specific patches to do that).
I am attempting to build, on my laptop running U18.04, the EGT because compiling directly on the target system is painfully slow
I understand now it is a quite more complex process that I thought, even unfeasible on Ubuntu.
I'm trying to cross-compile the EGT from Linux Ubuntu 18.04, but without using Buildroot (as my target system runs a regular Debian distro for ARM. On the same build platform, the build for x86 / X11 is working fine and all examples work.
But I get the following error whilst compiling Cairo related libs:
there are any workarounds?