[klee-dev] Cannot compile Coreutils 6.10 inside KLEE Docker image

Thuan Pham thuanpv at comp.nus.edu.sg
Mon Nov 14 02:18:12 GMT 2016


Hi Dan Liew,
I have fixed the issue based on your suggestions.
Many thanks,
Thuan

On Fri, Nov 11, 2016 at 6:34 PM, Dan Liew <dan at su-root.co.uk> wrote:

> On 11 November 2016 at 08:41, Thuan Pham <thuanpv at comp.nus.edu.sg> wrote:
> > FYI, the same issue happens while configuring Coreutils-6.11.
> >
> > On Fri, Nov 11, 2016 at 4:33 PM, Thuan Pham <thuanpv at comp.nus.edu.sg>
> wrote:
> >>
> >> Dear all,
> >> I am trying to reproduce results of KLEE OSDI'08 paper on the Docker
> image
> >> provided on KLEE website. I downloaded Coreutils 6.10 and followed the
> >> tutorial at https://klee.github.io/tutorials/testing-coreutils/.
> However, I
> >> got an error when I run configure. It looks quite strange.
> >>
> >> ....
> >> config.status: executing po-directories commands
> >> config.status: creating po/POTFILES
> >> config.status: creating po/Makefile
> >> rm: cannot remove
> >> 'confdir3/confdir3/confdir3/confdir3/confdir3/confdir3/
> confdir3/confdir3/confdir3/confdir3/confdir3/confdir3/
> confdir3/confdir3/confdir3/confdir3/confdir3/confdir3/
> confdir3/confdir3/confdir3/confdir3/confdir3/confdir3/..................':
> >> File name too long
> >>
>
> Using the latest docker image built three days ago I cannot reproduce the
> issue.
>
> ```
> docker run --rm -ti klee/klee
> wget http://ftp.gnu.org/gnu/coreutils/coreutils-6.11.tar.gz
> tar -xvf coreutils-6.11.tar.gz
> cd coreutils-6.11
> mkdir obj-llvm
> ../configure --disable-nls CFLAGS="-g"
> ```
>
> The configure succeeds for me. This issue has been asked before [1].
> The issue appears to be underlying storage driver you are using (aufs)
> [2].
> It has a rather low limit for the path length apparently.
>
> I suggest you try one of the following.
>
> * Mount a directory on your host into the container (i.e. a volume
> mount, e.g. `docker run --rm -ti -v
> /path/on/host:/home/klee/coreutils/`) and then
>   build coreutils in there. This will bypass aufs and should avoid the
> issue.
>
> * Change storage driver (see [3]). I use overlay2. Note if you switch
> Docker storage driver you will need to nuke your
> `/var/lib/docker` directory. I advise not nuking it yourself and
> instead using this script [4] to do it.
>
>
> [1] https://www.mail-archive.com/klee-dev@imperial.ac.uk/msg01987.html
> [2] https://github.com/docker/docker/issues/1413
> [3] https://docs.docker.com/engine/userguide/storagedriver/selectadriver/
> [4] https://github.com/docker/docker/blob/master/contrib/
> nuke-graph-directory.sh
>
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the klee-dev mailing list