Install on Ubuntu 16 fails with "No such file or directory: 'make'"
adriaandotcom opened this issue · 4 comments
adriaandotcom commented
When I run the role I get this in my console:
TASK [DavidWittman.redis : compile redis] *********************************************************************
task path: /Users/me/.ansible/roles/DavidWittman.redis/tasks/install.yml:11
Using module file /usr/local/lib/python2.7/site-packages/ansible/modules/commands/command.py
<xxx.xxx.xxx.xx> ESTABLISH SSH CONNECTION FOR USER: root
<xxx.xxx.xxx.xx> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/b2607c52e2 xxx.xxx.xxx.xx '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''
<xxx.xxx.xxx.xx> (0, '/root\n', 'OpenSSH_7.4p1, LibreSSL 2.5.0\r\ndebug1: Reading configuration data /Users/me/.ssh/config\r\ndebug1: /Users/me/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 69751\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n')
<xxx.xxx.xxx.xx> ESTABLISH SSH CONNECTION FOR USER: root
<xxx.xxx.xxx.xx> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/b2607c52e2 xxx.xxx.xxx.xx '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880 `" && echo ansible-tmp-1522193665.58-145433144292880="` echo /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880 `" ) && sleep 0'"'"''
<xxx.xxx.xxx.xx> (0, 'ansible-tmp-1522193665.58-145433144292880=/root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880\n', 'OpenSSH_7.4p1, LibreSSL 2.5.0\r\ndebug1: Reading configuration data /Users/me/.ssh/config\r\ndebug1: /Users/me/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 69751\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n')
<xxx.xxx.xxx.xx> PUT /var/folders/b4/_ml44mdj0yv1s07z87zbryk40000gn/T/tmpHMbRYJ TO /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/command.py
<xxx.xxx.xxx.xx> SSH: EXEC sftp -b - -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/b2607c52e2 '[xxx.xxx.xxx.xx]'
<xxx.xxx.xxx.xx> (0, 'sftp> put /var/folders/b4/_ml44mdj0yv1s07z87zbryk40000gn/T/tmpHMbRYJ /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/command.py\n', 'OpenSSH_7.4p1, LibreSSL 2.5.0\r\ndebug1: Reading configuration data /Users/me/.ssh/config\r\ndebug1: /Users/me/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 69751\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug2: Remote version: 3\r\ndebug2: Server supports extension "posix-rename@openssh.com" revision 1\r\ndebug2: Server supports extension "statvfs@openssh.com" revision 2\r\ndebug2: Server supports extension "fstatvfs@openssh.com" revision 2\r\ndebug2: Server supports extension "hardlink@openssh.com" revision 1\r\ndebug2: Server supports extension "fsync@openssh.com" revision 1\r\ndebug3: Sent message fd 8 T:16 I:1\r\ndebug3: SSH_FXP_REALPATH . -> /root size 0\r\ndebug3: Looking up /var/folders/b4/_ml44mdj0yv1s07z87zbryk40000gn/T/tmpHMbRYJ\r\ndebug3: Sent message fd 8 T:17 I:2\r\ndebug3: Received stat reply T:101 I:2\r\ndebug1: Couldn\'t stat remote file: No such file or directory\r\ndebug3: Sent message SSH2_FXP_OPEN I:3 P:/root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/command.py\r\ndebug3: Sent message SSH2_FXP_WRITE I:4 O:0 S:32768\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 4 32768 bytes at 0\r\ndebug3: Sent message SSH2_FXP_WRITE I:5 O:32768 S:32768\r\ndebug3: Sent message SSH2_FXP_WRITE I:6 O:65536 S:1477\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 5 32768 bytes at 32768\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: In write loop, ack for 6 1477 bytes at 65536\r\ndebug3: Sent message SSH2_FXP_CLOSE I:4\r\ndebug3: SSH2_FXP_STATUS 0\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n')
<xxx.xxx.xxx.xx> ESTABLISH SSH CONNECTION FOR USER: root
<xxx.xxx.xxx.xx> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/b2607c52e2 xxx.xxx.xxx.xx '/bin/sh -c '"'"'chmod u+x /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/ /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/command.py && sleep 0'"'"''
<xxx.xxx.xxx.xx> (0, '', 'OpenSSH_7.4p1, LibreSSL 2.5.0\r\ndebug1: Reading configuration data /Users/me/.ssh/config\r\ndebug1: /Users/me/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 69751\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\n')
<xxx.xxx.xxx.xx> ESTABLISH SSH CONNECTION FOR USER: root
<xxx.xxx.xxx.xx> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/Users/me/.ansible/cp/b2607c52e2 -tt xxx.xxx.xxx.xx '/bin/sh -c '"'"'/usr/bin/python3 /root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/command.py; rm -rf "/root/.ansible/tmp/ansible-tmp-1522193665.58-145433144292880/" > /dev/null 2>&1 && sleep 0'"'"''
<xxx.xxx.xxx.xx> (0, '\r\n{"rc": 2, "invocation": {"module_args": {"_raw_params": "make -j2", "creates": "/usr/local/src/redis-2.8.24/src/redis-server", "_uses_shell": false, "stdin": null, "chdir": "/usr/local/src/redis-2.8.24", "warn": true, "executable": null, "removes": null}}, "exception": " File \\"/tmp/ansible_v5cfctcj/ansible_modlib.zip/ansible/module_utils/basic.py\\", line 2786, in run_command\\n cmd = subprocess.Popen(args, **kwargs)\\n File \\"/usr/lib/python3.5/subprocess.py\\", line 947, in __init__\\n restore_signals, start_new_session)\\n File \\"/usr/lib/python3.5/subprocess.py\\", line 1551, in _execute_child\\n raise child_exception_type(errno_num, err_msg)\\n", "failed": true, "msg": "[Errno 2] No such file or directory: \'make\'", "cmd": "make -j2"}\r\n', 'OpenSSH_7.4p1, LibreSSL 2.5.0\r\ndebug1: Reading configuration data /Users/me/.ssh/config\r\ndebug1: /Users/me/.ssh/config line 1: Applying options for *\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 3 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 69751\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\nShared connection to xxx.xxx.xxx.xx closed.\r\n')
The full traceback is:
File "/tmp/ansible_v5cfctcj/ansible_modlib.zip/ansible/module_utils/basic.py", line 2786, in run_command
cmd = subprocess.Popen(args, **kwargs)
File "/usr/lib/python3.5/subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
fatal: [xxx.xxx.xxx.xx]: FAILED! => {
"changed": false,
"cmd": "make -j2",
"invocation": {
"module_args": {
"_raw_params": "make -j2",
"_uses_shell": false,
"chdir": "/usr/local/src/redis-2.8.24",
"creates": "/usr/local/src/redis-2.8.24/src/redis-server",
"executable": null,
"removes": null,
"stdin": null,
"warn": true
}
},
"msg": "[Errno 2] No such file or directory: 'make'",
"rc": 2
}
to retry, use: --limit @/Users/me/Developer/ansible/create-droplet.retry
PLAY RECAP **************************************************************************
xxx.xxx.xxx.xx : ok=10 changed=7 unreachable=0 failed=1
localhost : ok=4 changed=2 unreachable=0 failed=0
That does not look too nice.
The OS is: Ubuntu 16.04.4 x64
Could this issue be related? #31
adriaandotcom commented
The funny thing is, when I install all the Debian dependencies for this Ubuntu version as well it works:
- name: install dependecies
apt:
name: "{{ item }}"
state: latest
with_items:
- gcc
- make
- libc6-dev
- name: run redis role
include_role:
name: DavidWittman.redis
vars:
redis_bind: 127.0.0.1
I use DigitalOcean.
DavidWittman commented
I had no issues when running this role directly against a fresh 16.04.4 instance on DigitalOcean. This might be a bug in Ansible or a side-effect of this role not yet switching to include_tasks.
Could you provide your Ansible version and playbook if possible?
adriaandotcom commented
They full playbook is here: https://github.com/adriaanvanrossum/ansible
DavidWittman commented
Closing due to inactivity. Please feel free to reopen if you're still having issues.