portworx/px-dev

linux-headers "no such file or directory"

nupplaphil opened this issue · 6 comments

Environment

  • Debian stretch (4.9.0-4-amd64)
  • Docker CE (17.09.0~ce-0~debian)

Docker Info

Containers: 13
Running: 5
Paused: 0
Stopped: 8
Images: 8
Server Version: 17.09.0-ce
Storage Driver: devicemapper
Pool Name: vg0-docker_thin
Pool Blocksize: 524.3kB
Base Device Size: 10.74GB
Backing Filesystem: ext4
Data file:
Metadata file:
Data Space Used: 5.097GB
Data Space Total: 161.1GB
Data Space Available: 156GB
Metadata Space Used: 2.429MB
Metadata Space Total: 7.516GB
Metadata Space Available: 7.514GB
Thin Pool Minimum Free Space: 16.11GB
Udev Sync Supported: true
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
Library Version: 1.02.137 (2016-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local lvm
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
seccomp
 Profile: default
Kernel Version: 4.9.0-4-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.56GiB
Name: vm-box
ID: K4YD:7C65:AY5M:MNKA:K6OV:CKJ4:WEBH:LKKV:WILX:U4OW:6PJN:OOSC
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support

I installed the portworx plugin, following the steps at https://docs.portworx.com/scheduler/docker/docker-plugin.html and I tried to use the docker-compose.yml from https://github.com/portworx/px-dev/blob/master/quick-start/docker-compose.yml

Both versions are throwing this execptions:

Creating px fs...
make -C /usr/src/linux-headers-4.9.0-4-common O=/usr/src/linux-headers-4.9.0-4-amd64 M=/home/px-fuse clean
make[1]: Entering directory '/usr/src/linux-headers-4.9.0-4-common'
make[2]: Entering directory '/usr/src/linux-headers-4.9.0-4-amd64'
/usr/src/linux-headers-4.9.0-4-common/Makefile:308: scripts/Kbuild.include: No such file or directory
/bin/bash: /usr/src/linux-headers-4.9.0-4-common/scripts/gcc-goto.sh: No such file or directory
/usr/src/linux-headers-4.9.0-4-common/Makefile:667: scripts/Makefile.gcc-plugins: No such file or directory
/usr/src/linux-headers-4.9.0-4-common/Makefile:812: scripts/Makefile.kasan: No such file or directory
/usr/src/linux-headers-4.9.0-4-common/Makefile:813: scripts/Makefile.extrawarn: No such file or directory
/usr/src/linux-headers-4.9.0-4-common/Makefile:814: scripts/Makefile.ubsan: No such file or directory

I already purged and reinstalled all headers and kbuild packages. Nothing changed.

@jrivera-px can you please look in to this?

Is this a temporary problem with 4.9.0-4? Is it possible to return to a previous kernel and it would work?

I'm sorry to push this issue, but I tried a lot of other decentralized, statefull, storage solutions, but I think portworx would definitely fit best for my challenge (two servers with HW RAID per openvpn connection, docker environment, async-replication of data).

Sorry for the delay in the response. The problem with the debian linux header installation is that the header scripts are not contained with this container mounted /usr/src like most other kernels. The solution to this for debian is to volume mount /usr to /hostusr (-v /usr:/hostusr) inside the container and proper files should be found. If your using the "yaml" file should be able to add "- /usr:/hostusr. Please give this a try and let us know if you run into anymore issue.

It worked 👍
Thank you!!

I think you should add this hint for debian to the Installation Docs of px-dev.

@nupplaphil @jrivera-px Please i tried your line command like this "mount -v /usr:/hostusr" but it does not work, it gives me error : mount: /usr:/hostusr: can't find in /etc/fstab.
how can i fix that Please?
Thank you!

@SamirKali The '-v /usr:/hostusr' is not a host mount. It is a "container" volume mount. It should be added to the startup of the container .