Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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.

share|improve this question

2 Answers 2

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.

share|improve this answer
    
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 '12 at 15:17

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?

share|improve this answer
    
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 '12 at 18:35
    
... and you're trying to run it on a 64-bit system? –  jelmer Apr 18 '12 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 '12 at 16:46

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.