Linux executable not running

Unable to run executable files at all

What I am trying to achieve: I am now just trying to install the latest version of eclipse (4.7 AKA Oxygen) using the executable file (not .exe and is 32-bit called «eclipse-inst») on a 32-bit OS (Ubuntu MATE 16.04) using a 32-bit processor. Of course, it returns with the text above.

What I am using to run Linux:

  • A Banana Pi M3 (Specific specs at: https://www.cnx-software.com/wp-content/uploads/2015/07/Banana_PI_BPI-M3.jpg)
    • A7 ARM Processor
    • 2GB of RAM
    • Ubuntu MATE 16.04 (32-bit)

    Things to note:

    • Installer is made for 32-bit Linux which I’m using
    • Again, I’m using ARM
    • The file I’m trying to install is in /home/user/Downloads. Please let me know if there is a specific place I need to install from. That would be very helpful.

    R U speaking of Linux commands in /bin or a written script? Mount is a command to make file systems (drives)accessible. Are you trying to mount a drive? Typing ‘man mount’ in a terminal will give pertinent info on the command. More info as to what you wish to accomplish and what trouble you are actually having can give us a starting point to get you thru this dilemma.

    Are you trying to run a Windows executable file with the extension .exe? Executable files in linux are different and they are marked executable via the permissons, not via the extension. Some Windows exe files can be run via Wine (if you install the linux program package wine ).

    And no, I’m not trying to run Windows executables. They do not have .exe at the end and are made to be ran on linux.

    1. ./program or just double-clicking. From what I’ve heard I should be able to right-click the file and have a ‘run’ button but I only have an open. When I select it nothing happens. 2. Not necessarily, but when I do ./program it gives an error about the format. Not just on one file but from every other executable I’ve tried. 3. Nothing happens, nothing opens. I’ve tried it on a few applications/installers that are for Linux that should have a window appear after starting. Such as Eclipse or PyCharm.

    @DavidFoerster understood your problem perfectly well. When people usually say 32-bit installer, they mean installers for the x86 Intel architecture as opposed to the 64-bit x86-64/amd64 architecture. You can’t run x86 software on ARM, whether or not it’s 32-bit or 64-bit makes no difference.

    1 Answer 1

    You can’t run Intel x86 executables on ARM CPUs because the latter don’t understand the instruction set of the former (even though both have a word length of 32 bit).

    However, you can install Eclipse from Ubuntu’s software repositories which contains an armhf build of it:

      Enable the “universe” repository section (see How do I enable the “Universe” repository?), if you haven’t already, and update the package list after the change:

    Unfortunately, the version of Eclipse in the repositories is pretty old (over 3 years) and building a recent version from source is non-trivial. I also doubt that you’re going to have much fun with a resource-heavy interactive application like Eclipse on a low-resource system with an ARM A7 like yours. If you want to develop software for ARM systems you may want to look into cross-compilation which would allow you to develop software on your (x86-compatible) desktop computer which then runs on other platforms (ARM).

    Источник

    What to do with an executable file that simply doesn’t execute?

    I downloaded the Linux executable for Unetbootin 494, and now I’m trying to run it. As root, I made it executable and attempted to execute it:

    chmod +x unetbootin-linux-494 ./unetbootin-linux-494 

    Nothing happens and no output is displayed. ps -e | grep unetbootin shows nothing either. The file’s size looks right (4.3 MB), although I don’t see a checksum on sourceforge with which to verify it. I’m running it on my /home partition (as root, though), so the filesystem isn’t non-executable. How can I execute this file, or at least debug the problem further? I’m using Debian x64.

    @frostschutz Because I’m trying to use it to write a Windows 7 iso to a disk, and the 49* versions are the last versions that will read an NTFS partition (and therefore write the Windows iso correctly). Otherwise I would definitely be content to use the repo.

    @frostschutz If I could have used the version in the repo, I would have in a heartbeat. The problem basically boiled down to dependencies, though (32-bit shared libraries, specifically), since the old version of unetbootin is 32-bit and I’m using a 64-bit system.

    Getting «Not found» message when running a 32-bit binary on a 64-bit system is our canonical question on the topic. What shell are you using? Normally you should see an error message.

    1 Answer 1

    Short answer:

    Installing ia32-libs and ia32-libs-gtk should fix the problem. The problem was pretty basic: running a 32-bit executable on a 64-bit system without the proper libraries doesn’t work.

    Longer answer:

    My initial post might have been too hasty, but since I had a minor amount of difficulty finding a solution, I might as well answer. I ran strace ./unetbootin-linux-494 , which tells me:

    execve("./unetbootin-linux-494", ["./unetbootin-linux-494"], [/* 33 vars */]) = 0 [ Process PID=5369 runs in 32 bit mode. ] old_mmap(0x1020000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0x1020000) = 0x1020000 readlink("/proc/self/exe", "/home/jb/Downloads/unetbootin-linux-494", 4096) = 43 old_mmap(0x8048000, 10891295, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8048000 mprotect(0x8048000, 10891292, PROT_READ|PROT_EXEC) = 0 old_mmap(0x8aac000, 124071, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0xa63000) = 0x8aac000 mprotect(0x8aac000, 124068, PROT_READ|PROT_WRITE) = 0 old_mmap(0x8acb000, 4436, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x8acb000 brk(0x8acd000) = 0x8bfc000 open("/lib/ld-linux.so.2", O_RDONLY) = -1 ENOENT (No such file or directory) _exit(127) = ? 

    Clearly the problem is that the ld-linux.so.2 object doesn’t exist on my system. Since that object is part of ia32-libs , I installed that package. However, that isn’t enough, because I then received this error:

    unetbootin-linux-494: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory 

    According to this bug report, however, the problem is because the ia32-libs-gtk package needs to be installed as well. Once I installed that, the executable ran normally.

    Источник

    Executable is in current directory but can’t be run [duplicate]

    I’m having a weird problem where I have an executable in a directory, but when I try to run it, bash says that it doesn’t exist:

    kiarashsadr@pandoras-box:~/Downloads/Tether/linux$ ls adb run.sh kiarashsadr@pandoras-box:~/Downloads/Tether/linux$ ls -l total 1204 -rwxrwxr-x 1 kiarashsadr kiarashsadr 1226659 Mar 9 2013 adb -rwxrwxr-x 1 kiarashsadr kiarashsadr 521 Oct 29 2012 run.sh kiarashsadr@pandoras-box:~/Downloads/Tether/linux$ ./adb bash: ./adb: No such file or directory
    kiarashsadr@pandoras-box:~/Downloads/Tether/linux$ file adb adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped

    Show ls -l output. Maybe there’s a funny character in the name?b Maybe show the first 3 lines or so of the file — if there’s a shebang line and that’s malformed, you can get that because the command interpreter can’t be found.

    Your adb is a 1.2 MiB script? Or an executable program? Scripts are text files. That looks like it is probably an executable. And if so, what do you get from file ./adb /bin/sh ? Are they the same type?

    I seem to recall that this error pops up when the loader can’t find a dynamic lib which the executable references. Is that possible?

    This question’s answers unix.stackexchange.com/questions/120015/… show how to get a list of referenced libraries.

    2 Answers 2

    You’re trying to run a 32-bit executable on a 64-bit system. Bash doesn’t differentiate between this case and «no such file or directory» case.

    I can confirm the error you get in that case is exactly ‘no such file or directory’, as if the file wasn’t there.

    As stated by VOR73X, the reason in this case is that the file is a 32-bit executable on a 64-bit architecture. You can run it, but you need a compatibility layer to do so. If you have it:

    mintaka:/home/lserni # file ansi ansi: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, not stripped mintaka:/home/lserni # uname -a Linux mintaka 4.0.1-1-default #1 SMP Wed Apr 29 15:04:53 UTC 2015 (e3a374a) x86_64 x86_64 x86_64 GNU/Linux mintaka:/home/lserni # ./ansi Syntax: ansi [file|-] 

    . and otherwise you get ‘no such file or directory’.

    However, there might be other reasons to be unable to run a file that «seems» to be there (or even is).

    Missing dynamic libraries would give a distinctive error (at least they do on my system, Linux OpenSuSE 13.2):

    ./test: error while loading shared libraries: libcap.so.2: cannot open shared object file: No such file or directory 

    Another possibility.

    . is that the file is not named as you think it is. The file you asked for is really not there!

    For example (using the same obsolete file as before)

    mintaka:/home/lserni # mv ansi 'ansi ' mintaka:/home/lserni # ls -la ansi* -rwxr-xr-x 1 root root 14268 Sep 17 23:29 ansi 

    The file seems to be there but its name now ends with a space, so as you would expect.

    mintaka:/home/lserni # ./ansi bash: ./ansi: No such file or directory 

    Of course if the file is called correctly, escaping the space.

    mintaka:/home/lserni # ./ansi\ Syntax: ansi [file|-] mintaka:/home/lserni # 

    Other tricks are possible (I did it to myself once by mistake and have seen some worm using this trick to hide from a casual ‘ls’). For example UTF8 invisible characters.

    to verify that the name is indeed what it ought to be.

    Источник

    executable «running» but not working

    I’m trying to run an executable for some time and can’t get it to work. I already gave the chmod +x permissions, but the file seems to run but do not work as it should. This is the ls -l results:

    -rw-rw-r-- 1 gabriel gabriel 620 jan 22 2020 plasys.inp -rwxrwxrwx 1 gabriel gabriel 29536 jan 22 2020 Resonalyzerv2 -rwxrwxrwx 1 gabriel gabriel 28792 jan 22 2020 Superatlasv2 

    I need to use both the Resonalyzer and the Superatlas, but when i execute with ‘./file’ they just «run» and get me back to the terminal when they should ask me to input some values and then return me results. Here it is the terminal when i try to execute them:

    (base) gabriel@brainiac:~/IC/tabare/linux$ ./Resonalyzerv2 (base) gabriel@brainiac:~/IC/tabare/linux$ 
    (base) gabriel@brainiac:~/IC/tabare/linux$ ./Superatlasv2 (base) gabriel@brainiac:~/IC/tabare/linux$ 

    My professor used the same files as me and did the same process and it worked for him. I’m using ubuntu 20.04 and he 16.04 EDIT ldd for Resonalyzer results in:

     linux-vdso.so.1 (0x00007ffec50af000) libf2c.so.2 => /usr/lib/x86_64-linux-gnu/libf2c.so.2 (0x00007f28efb7a000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f28efa2b000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f28ef839000) /lib64/ld-linux-x86-64.so.2 (0x00007f28efdb3000) 
    linux-vdso.so.1 (0x00007ffc0b1e9000) libf2c.so.2 => /usr/lib/x86_64-linux-gnu/libf2c.so.2 (0x00007feff818f000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007feff8040000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007feff7e4e000) /lib64/ld-linux-x86-64.so.2 (0x00007feff83c8000) 
    Resonalyzerv2: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e95bde4f8cc35d6884e7b7a996972c8670d88045, for GNU/Linux 3.2.0, not stripped 
    Superatlasv2: 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]=0ff6fce0ffe2c4da50e2a34a765ad6d916ef823d, not stripped 

    Источник

    Читайте также:  Teamviewer для linux консоли
Оцените статью
Adblock
detector