Jump to content
Mumble forums

x64 static server Linux


thisuserguy
 Share

Recommended Posts

These are Debian Stable servers with no multi arch as far as I am aware. ( all know for sure is that no x86 binary will run)

 

-bash: /path/to/binary/murmur/./murmur.x86: cannot execute binary file

I was told this is because only x64 binaries will run on this Debian x64 setup

 

file murmur.x86

These gives me:

 

murmur.x86: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped

 

Is there a way I can compile it statically myself with x64? On Ubuntu 14 or Debian Stable?

Link to comment
Share on other sites

  • Administrators

There is a way, but I can’t really give you a simple command to do it.

We use ermine to build the static binaries http://www.magicermine.com/

And our build scripts provided in the mumble-releng repository have configuration for ermine builds on CentOS https://github.com/mumble-voip/mumble-releng/tree/746ec1871c3fa1fc077a0dace1fd64ea9fc6fbce/buildenv/1.2.x/centos-ermine


At least for me personally, it would be easier to build/use x64 deb packages.

If you still want to tackle static binary building, mkrautz will probably be more helpful if you run into problems; you can find him on IRC.

 

I was told this is because only x64 binaries will run on this Debian x64 setup

x64 Debian by default does not provide 32-bit libraries like that C standard library. However, after installing this/these 32-bit standard library package(s) any 32-bit program should run just fine.

By mkrautzs information these standard libraries are bundled with our static binaries though, so that should not be necessary.

[10:37:36] not sure that you need a 32-bit libc... we bundle libc (but not ld.so). the ermine wrapper is completely static (so no ld.so is needed); and when stracing there are no references to ld.so at all. so presumably it's doing all the loading/linking itself. haven't experimented with it though :-)

So I am unsure if this is just a superfluous arbitrary check by the system, or if something actually missing. If you could find out what it is that would be awesome.

Link to comment
Share on other sites

In this case x86 is not in the kernel (custom kernal) and it is not compiled. The reasons are around a large non root userbase on the server who can run things locally on the servers.


I will have to use a x64 binary as I know this would work. So then it s a question of how I get a x64 static binary.


If there was a way to do this myself I would compile it myself, I just ran into some errors with ice.3.3 paths when trying to compile the static using your documentation on Debian Stable.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...