I am trying to run the 64 bit version of a binary on the default OS of the Intel Joule(Linux intel-corei7-64 4.4.15-yocto-standard # 1 SMP PREEMPT Fri Aug 12 22:04:24 UTC 2016 x86_64 GNU/Linux)
The binary is from a orchestration software called Nomad from Hashicorp(https://www.nomadproject.io/downloads.html Download Nomad - Nomad by HashiCorp ).
Here's what happens when i try to run it(I have already given it all necessary permissions):
-sh: ./nomad: No such file or directory
This binary works fine on an 64 bit laptop running Ubuntu 14.04 or 16.04.
Here's some extra info which hopefully might give an idea of whats going wrong -
root@intel-corei7-64:~# strace -fF ./nomad
execve("./nomad", ["./nomad"], [/* 18 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
exit_group(1) = ?
+++ exited with 1 +++
root@intel-corei7-64:~# file ./nomad
./nomad: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=8ea5c51afe8ae64f4e10f0c14f51c45dbcc901b8, not stripped
root@intel-corei7-64:~# readelf -d nomad
Dynamic section at offset 0x130ae10 contains 25 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x000000000000000c (INIT) 0x4017c0
0x000000000000000d (FINI) 0xec1ae4
0x0000000000000019 (INIT_ARRAY) 0x190adf8
0x000000000000001b (INIT_ARRAYSZ) 8 (bytes)
0x000000000000001a (FINI_ARRAY) 0x190ae00
0x000000000000001c (FINI_ARRAYSZ) 8 (bytes)
0x000000006ffffef5 (GNU_HASH) 0x400380
0x0000000000000005 (STRTAB) 0x400da0
0x0000000000000006 (SYMTAB) 0x400530
0x000000000000000a (STRSZ) 1464 (bytes)
0x000000000000000b (SYMENT) 24 (bytes)
0x0000000000000015 (DEBUG) 0x0
0x0000000000000003 (PLTGOT) 0x190b000
0x0000000000000002 (PLTRELSZ) 816 (bytes)
0x0000000000000014 (PLTREL) RELA
0x0000000000000017 (JMPREL) 0x401490
0x0000000000000007 (RELA) 0x401460
0x0000000000000008 (RELASZ) 48 (bytes)
0x0000000000000009 (RELAENT) 24 (bytes)
0x000000006ffffffe (VERNEED) 0x401410
0x000000006fffffff (VERNEEDNUM) 2
0x000000006ffffff0 (VERSYM) 0x401358
0x0000000000000000 (NULL) 0x0
The shared libraries mentioned above are present in the /lib folder.
Anybody have any clues as to whats happening?
Cant seem to figure out what I'm doing wrong.
Thank you for interest in the Intel® Joule™ Products.
I'll do some research and try to replicate the issue you are experiencing, as soon as I have relevant information, I'll post it here.
Thank you for the information provided. If you thing there is additional information that may help me replicate the process, please let me know.
Thank you for your patience.
Sorry for the late reply.
I tried to reproduce the issue and got the same error message: -sh:./nomad: No such file or directory.
I'll like to compare our processes for running the nomad binary, so here is what I did:
root@Andres:~# mv nomad_0.5.4_linux_amd64-lxc.zip\?_ga\=1.148551351.143738131.1488927180 nomad
root@Andres:~# unzip nomad
root@Andres:~# chmod +x nomad
Could you please tell me how you transferred the binary file to your board?
I'll be waiting for your response.
I was wondering if you had the chance to check the previous message.
Comparing how we transferred the binary file may help us find the reason why you are experiencing the issue.
If you have any other question or update, don't hesitate to contact us.
Sorry I think I missed your previous message.
I got this issue resolved.
The issue was that the ./nomad binary was looking for the "ld-linux-x86-64.so.2" library in the /lib64 folder which did not exist.
Instead they were located in the /lib folder.
So I just created a symbolic link from /lib64 to /lib and it worked.
Thanks for the prompt support on this though!