Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

What would cause running the file /usr/sbin/xenstored to print

sh: /usr/sbin/xenstored: not found

However, the file /usr/sbin/xenstored is there and is not a symbolic link.

Actually I should be running this as root. That prints a similarly odd message.

sudo: unable to execute /usr/sbin/xenstored: No such file or directory

By the way, xenstored is not a script, it's an ELF executable.

My guess is that it's because I haven't gotten all the dependent libraries installed. However, I would expect it to say something like this:

./xenstored: error while loading shared libraries: libxenctrl.so.4.0: cannot open shared object file: No such file or directory

Which is true of running xenstored on a system that doesn't have all the required libraries. Why do I get "not found" vs the much more useful "cannot open shared object file"?

share|improve this question
    
I think I may be onto something. ldd /sbin/busybox prints useful stuff, but ldd /usr/sbin/xenstored prints "error while loading shared librarie... wrong ELF class: ELFCLASS64". Now, this is meant to be a 64bit image of microcorelinux that I'm editing. how can I verify that? –  Matt H Apr 3 '12 at 22:20
    
I assume it has the executable byte set? –  mkaito Apr 4 '12 at 1:18
    
@Mikato - Of course! LOL –  Matt H Apr 4 '12 at 1:24
    
I've found that micocore linux is using 32bit userland tools. I think it's got something to do with that. Probably the way busybox handles these errors is different to a full bash shell. –  Matt H Apr 4 '12 at 1:27

1 Answer 1

up vote 0 down vote accepted

It turns out it was missing some libraries. I found that I was in a situation where I had a 32bit userspace but a 64bit kernel. I expected both to be 64-bit but that wasn't the case.

The issue was I needed to install the 64bit runtime linker ld.so and all the 64bit shared libraries that xenstored and other xen apps need and get them into the right paths. Once that was done it works.

share|improve this answer

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.