Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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.

share|improve this question
1  
Why not apt-get install unetbootin? –  frostschutz Mar 24 '13 at 1:26
    
@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. –  John Bensin Mar 24 '13 at 1:36
    
It's also nice for pulling dependencies... –  frostschutz Mar 24 '13 at 1:40
    
@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. –  John Bensin Mar 24 '13 at 1:42
1  
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. –  Gilles Mar 24 '13 at 15:25
show 1 more comment

1 Answer

up vote 1 down vote accepted

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.