Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis CI build fail #1294

Closed
jubalh opened this issue Mar 30, 2020 · 4 comments · Fixed by #1295
Closed

Travis CI build fail #1294

jubalh opened this issue Mar 30, 2020 · 4 comments · Fixed by #1295

Comments

@jubalh
Copy link
Member

jubalh commented Mar 30, 2020

The build for openSUSE Tumbleweed currently fails with:

Step 11/17 : RUN ./bootstrap.sh

 ---> Running in 5623e9843763

aclocal: warning: couldn't open directory 'm4': No such file or directory

libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.

libtoolize: copying file 'build-aux/ltmain.sh'

libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.

libtoolize: copying file 'm4/libtool.m4'

libtoolize: copying file 'm4/ltoptions.m4'

libtoolize: copying file 'm4/ltsugar.m4'

libtoolize: copying file 'm4/ltversion.m4'

libtoolize: copying file 'm4/lt~obsolete.m4'

libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.

configure.ac:9: installing 'build-aux/compile'

configure.ac:9: installing 'build-aux/config.guess'

configure.ac:9: installing 'build-aux/config.sub'

configure.ac:8: installing 'build-aux/install-sh'

configure.ac:8: installing 'build-aux/missing'

Makefile.am: installing 'build-aux/depcomp'

Removing intermediate container 5623e9843763

 ---> 9e63698f896c

Step 12/17 : RUN ./configure --prefix=/usr --disable-dependency-tracking

 ---> Running in b268d2532325

ls: cannot access '.': Operation not permitted

configure: error: working directory cannot be determined

The command '/bin/sh -c ./configure --prefix=/usr --disable-dependency-tracking' returned a non-zero code: 2

The command "if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker build -f Dockerfile."$BUILD_FLAVOR" -t profanity .; fi" failed and exited with 2 during .

Your build has been stopped.

openSUSE Tumblewed seems to be too cutting edge for Travis. It uses coreutils 8.32 (2020-03-05) which has the following change:

  stat and ls now use the statx() system call where available, which can
  operate more efficiently by only retrieving requested attributes.

We use Travis with Ubuntu 16.04. AFAIK only Ubuntu 18.10 is new enough to have a kernel and glibc version that support statx().

Thanks to @Vogtinator for investigating the openSUSE docker images and finding the cause.

@Vogtinator
Copy link

We use Travis with Ubuntu 16.04. AFAIK only Ubuntu 18.10 is new enough to have a kernel and glibc version that support statx().

Note that ls still has a fallback to not use statx, but docker's default seccomp profile breaks the fallback as it returns -EACCES instead of -ENOSYS, which can't be distinguished from an actual access denied error.

jubalh added a commit that referenced this issue Mar 30, 2020
From https://docs.docker.com/engine/reference/run/:

```
When the operator executes docker run --privileged, Docker will enable
access to all devices on the host as well as set some configuration in
AppArmor or SELinux to allow the container nearly all the same access to
the host as processes running outside containers on the host.
```

Regards #1294
jubalh added a commit that referenced this issue Mar 30, 2020
From https://docs.docker.com/engine/reference/run/:

```
When the operator executes docker run --privileged, Docker will enable
access to all devices on the host as well as set some configuration in
AppArmor or SELinux to allow the container nearly all the same access to
the host as processes running outside containers on the host.
```

Regards #1294
jubalh added a commit that referenced this issue Mar 30, 2020
From https://docs.docker.com/engine/reference/run/:

```
When the operator executes docker run --privileged, Docker will enable
access to all devices on the host as well as set some configuration in
AppArmor or SELinux to allow the container nearly all the same access to
the host as processes running outside containers on the host.
```

Regards #1294
jubalh added a commit that referenced this issue Mar 30, 2020
jubalh added a commit that referenced this issue Mar 30, 2020
jubalh added a commit that referenced this issue Mar 30, 2020
@jubalh
Copy link
Member Author

jubalh commented Mar 30, 2020

docker buid with --security-opt seccomp=unconfined gives us Error response from daemon: The daemon on this platform does not support setting security options on build.

Seems we have no option other than pinning the last working repo or disabling TW until Travis supports at least Ubuntu 18.10..

@jubalh
Copy link
Member Author

jubalh commented Mar 30, 2020

Arch is still on coreutils 8.31 while having 8.32 in testing.

@Vogtinator
Copy link

Seems we have no option other than pinning the last working repo

Next week that image will be garbage collected, so it won't work for long...

or disabling TW until Travis supports at least Ubuntu 18.10..

Or finding a not completely ancient version of docker somewhere.

wstrm added a commit to wstrm/profanity that referenced this issue Mar 30, 2020
Force a Docker upgrade for all Linux runners.

Fixes: profanity-im#1294
wstrm added a commit to wstrm/profanity that referenced this issue Mar 30, 2020
Force a Docker upgrade for all Linux runners.

Fixes: profanity-im#1294
pevik added a commit to linux-test-project/ltp that referenced this issue Apr 1, 2020
Tumbleweed requires newer Docker version.
This fixed failures which started since 27 March.

See also profanity-im/profanity#1294

Suggested-by: Fabian Vogt <fvogt@suse.com>
Suggested-by: Michael Vetter <mvetter@suse.com>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants