balena-cli: 'File is a directory: undefined' if building with a symlinked directory present
- resin-cli version: 7.1.4
- Operating system and architecture: Workstation: Ubuntu 17.10 Artful, Linux 4.13.0-37 x86_64 Target: RPi 3 on resinOS
- Docker version: 18.02.0-ce, build fc4de44
I’m running into the following error on both resin build and resin deploy
>>> resin build --application myapplication $DIR
[Info] Creating default composition with source: /home/user@domain/Repos/myapplication
[Info] Building for armv7hf/raspberrypi3
[Build] Built 1 service in 0 seconds
[Build] main Preparing...
[Error] Build failed
File is a directory: undefined
Note that for $DIR, I’ve tried ., $PWD, leaving it off, and going to the directory above and doing ./myapplication/. The contents of that directory are as follows:
Repos/myapplication
├── myapplication.egg-info (dir)
├── myapplication.py
├── myapplication.pyc
├── .cache (dir)
├── Dockerfile
├── .dockerignore
├── .git (dir)
├── git-requirements.txt
├── .idea (dir)
├── Jenkinsfile
├── __pycache__ (dir)
├── README.md
├── requirements.txt
├── service (dir)
├── setup.py
├── test_myapplication.py
├── .tox (dir)
├── tox.ini
├── venv (dir)
└── venv3 (dir)
I thought that it may be something with the service directory, but that didn’t seem to help either.
Edit: After a bit more tinkering, it seems that I can build by pushing to a resin git remote or on another Ubuntu 17.10 machine. The only difference with that machine is that I have installed npm via the repos instead of nvm and the home directories are /home/domain/user instead of /home/user@domain. I’ve seen other applications get tripped up on the @ in the home path…maybe that’s the issue?
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 19 (8 by maintainers)
For me the solution (temporarily) is to move my workspace for docker-compose to a global location under
/tmp. In my case I’m pretty sure it’s down to the docker daemon to being able to see my encrypted homedir. Not sure what it might be in your case @danielunderwood, but it couldn’t hurt to try.