0

I am trying to execute a program on a CIFS mounted partition in SUSE 11.1. Whenever I try executing it, I get a "could not execute binary file" error. Using strace, I was able to determine that the shell was getting a ENOEXEC error on execve(). I have verified that the binary does have the proper ELF magic number. There's also plenty of disk space on every partition, so that's not the problem either.

I can copy the file from the share to my home directory and run the executable, and I can run it remotely from RHEL 6.2, but for some reason it isn't working on SUSE. I have also verified that a newly compiled hello world will not run on the remote partition.

I've verified that the files are not being corrupted when they are transferred to the remote partition, and that I have execute permissions on the share. The partition is not mounted as noexec, so that's not the problem either. I've even tried running the program on SUSE using RHEL's evironment.

I do not have shell access to the remote machine.

I'm pretty thoroughly stumped, so any help would be greatly appreciated.

Edit

I've also tried running ldd on the executable on the remote partition, and it kicks back with "not a dynamic executable." Again, this works fine on the local partition and lists valid shared libraries.

Edit 2

Apparently it's an issue with the share being mounted with the directio option. Finally got access to fiddle with these, so maybe now I can figure out why.

2 Answers 2

0

It certainly sounds like the share is mounted noexec, even if it's not listed. Is the share mounted with the user or users option? These options implicitly include noexec.

1
  • The only options provided are rw and mand, which is the same as the RHEL machines. I've also tried a remount of the partition with exec included in the options, but exec isn't showing up in the list of options. It's actually creating several different copies of the partition in the mount table...
    – Dan Albert
    Apr 17, 2012 at 15:17
0

What does the file utility say about the executable? In other words, what does file PATH print, where PATH is the path to the executable file?

3
  • ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.4.0, dynamically linked (uses shared libs), stripped
    – Dan Albert
    Apr 18, 2012 at 18:35
  • ... and you're trying to run it on a 64-bit system?
    – jelmer
    Apr 18, 2012 at 23:38
  • Yep. I think it may be a problem with the software that's actually doing the mounting. I can mount the same directory manually and execute it just fine. Would have tried this much earlier, but I didn't actually get credentials until this morning.
    – Dan Albert
    Apr 19, 2012 at 16:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .