Привет!
На одной машине скомпилил сишный исходник,попытался запустить получившийся бинарник на другой машине,пишет: bash: ./flle: cannot execute binary file
chmod +x file делал,не помогает.Что делать с этим бинарником? Или запускать бинарники,поучившийся на другой машине,на лине это аморально и линь пережевывает только пакеты? :|
Не запускается бинарник
в студию:
uname -a
file <бинарник>
ls -l <бинарник>
pwd
mount
Как то так
ivan@Acer:~/Desktop/Arbeit$ uname -a
Linux Acer 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 16:26:01 UTC 2012 i686 i686 i386 GNU/Linux
ivan@Acer:~/Desktop/Arbeit$ file game
game: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x88b9773e322589f8e2c75fadc7431211320bba16, not stripped
ivan@Acer:~/Desktop/Arbeit$ ls -l game
-rwxrwxr-x 1 ivan ivan 8792 июля 3 16:53 game
ivan@Acer:~/Desktop/Arbeit$ pwd
/home/ivan/Desktop/Arbeit
ivan@Acer:~/Desktop/Arbeit$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro,user_xattr)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
cgroup on /sys/fs/cgroup type tmpfs (rw,relatime,mode=755)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,relatime,cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,relatime,cpuacct)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,relatime,perf_event)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/ivan/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ivan)
Linux Acer 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 16:26:01 UTC 2012 i686 i686 i386 GNU/Linux
game: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID
то что бинарник 64-х битный, а система 32-х битная не смущает?
Хм,теперь смущает,спасибо! А если скомпилить на 32 битной то он запустится на 64 битной?Или будит так же проблема?
Хм,теперь смущает,спасибо! А если скомпилить на 32 битной то он запустится на 64 битной?Или будит так же проблема?
запустится, только нужны 32-хбитные библиотеки, если какие-то используются...
Да,так оно и есть.
Можно и на 64-разрядной скомпилить, указав примерно следующее:
./configure --host=i686 --target=i686Это называется кросс-компиляция.