Docker build environments

Hi all,

i have a problem with docker build, when i run in locally on my /any/ debian, that works fine, but when it was run in travis, somethis is another and it fails.

Here is my repo:
https://github.com/ondratu/m-bitbeam and my travis: https://travis-ci.org/ondratu/m-bitbeam

I think, that could be some build variables, which is used, and which creates another container, that is created on my computer. If i run commands by hand, all works fine, but when the container is build and run on travis, openscad which is used here say, that they don’t have any locale files, and some openscad mcad library is not found. When i modify Makefile, which is used as cmd in Dockerfile to print env, all variables look same as on my computer. So there must be something, which on build part of container.

Thank’s for any help. Last time, i thing that docker is created same on every systems, but not.

Can’t really advise anything other than keep at it. E.g. if some files aren’t found, check if they are actually there.

Since you are using Docker, you can run the same container locally for faster turnover. You weren’t clear about it, but I guess by “locally”, you might have meant you were running commands directly on your system rather than inside the same Docker container as you are using on Travis. If not, you were probably running commands interactively via docker run -it bash – in this mode, the container has an allocated terminal which might make a difference.

You can also request debug mode for your project, but due to the previous paragraph, I don’t really see a need.

-w "$TRAVIS_BUILD_DIR" -v "$TRAVIS_BUILD_DIR:$TRAVIS_BUILD_DIR" also seems suspicious. You are mounting stuff under /home, but it’s not your homedir (in a container, you are usually root) and doesn’t have the usual stuff – this may break software’s assumptions.
Better mount it somewhere neutral – e.g. under /root or /mnt (the Multibuild project uses /io).

Then, there is an error on installation step that you might have overlooked.

Only for information, problem was in statx syscall, I must use strace, which gets me the error.

So i need update libseccomp2 before running docker

- sudo apt-get update && sudo apt-get install -y libseccomp2

Imprint