thisuserguy Posted September 6, 2014 Share Posted September 6, 2014 Can i ask if there will ever be a x64 static server provided for Linux? On a server i user x86 binaries are prevented from running on the x64 platform and all that is really required is the x64 static build. Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted September 7, 2014 Administrators Share Posted September 7, 2014 Did you try simply running the 32-bit one anyway?It’s possible it has everything bundled even for a x64 environment (libc is bundled). Quote Link to comment Share on other sites More sharing options...
thisuserguy Posted September 7, 2014 Author Share Posted September 7, 2014 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 fileI was told this is because only x64 binaries will run on this Debian x64 setup file murmur.x86These 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? Quote Link to comment Share on other sites More sharing options...
Administrators kissaki Posted September 7, 2014 Administrators Share Posted September 7, 2014 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-ermineAt 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 setupx64 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. Quote Link to comment Share on other sites More sharing options...
thisuserguy Posted September 8, 2014 Author Share Posted September 8, 2014 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.