Maxime Bouton writes:
Hello,
I am trying to set up a automated build for Spot in a docker like environment. The build
errored during the `make` step. I have been able to run it fine on my machine, so I hope
it is just a dependency/version issue. Do you have any idea what dependency I could be
missing?
You do not miss anything secure_getenv() is not a portable function.
It's a GNU libc extension, but it seems Alpine Linux is using a
different libc without this function. Spot ships with a replacement
implementation for secure_getenv() when it is missing, but apparently
tmpfile.cc does not include our replacement header for that.
Can you try running
sed -i 's/<cstdlib>/<stdlib.h>/' spot/misc/tmpfile.cc
before make?
We received a similar report from a Cygwin user a few weeks ago, but he
hasn't confirmed whether the above change solves the problem or not.
Now if I can reproduce that problem with an Alpine Docker, I'll probably
add that configuration to our build farm. Is your Docker file available
online?
I did not installed anything besides python3-dev and
got provided with an alpine linux distribution with gcc 7 already installed, this is the
configuration I have:
Configuration:
OS: Alpine Linux
Gcc --version: gcc (GCC) 7.1.0
G++ --version : g++ (GCC) 7.1.0
Clang --version: clang version 6.0.1
Spot source:
https://gitlab.lrde.epita.fr/spot/spot/-/jobs/21303/artifacts/download
(spot 2.6.3 dev)
If you want to automate the download of the the latest successful build
(and not build #21303), you can use this link
https://gitlab.lrde.epita.fr/spot/spot/-/jobs/artifacts/next/download?job=d…
The build script :
apk add python3-dev
cd $WORKSPACE/srcdir
unzip download
tar -xzf spot-2.6.3.dev.tar.gz
cd spot-2.6.3.dev
./configure --prefix=$prefix --host=${target}
Are you cross-compiling? What is the value of $target?