I can't run server on Linux
#1
I can't run mc-server on Linux Ubuntu 10.04.4 LTS.
I don't have root access.

SSH
Code:
login as: minecraft
minecraft@minecraft7.sored.pl's password:
Linux artur9010 3.10.21-vs2.3.6.8-sored #4 SMP Fri Jan 3 20:01:52 UTC 2014 x86_64 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to Ubuntu!
* Documentation:  https://help.ubuntu.com/

Last login: Thu Jul  3 19:16:14 2014 from dynamic-78-8-215-26.ssp.dialog.net.pl
minecraft@artur9010:~$ cd MCServer/
minecraft@artur9010:~/MCServer$ ./MCServer
./MCServer: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./MCServer)
minecraft@artur9010:~/MCServer$

and
Code:
minecraft@artur9010:~/MCServer$ strings /usr/lib/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
minecraft@artur9010:~/MCServer$

Sorrry for my bad English, Im' from Poland.
Reply
Thanks given by:
#2
I suppose you're using one of the compiled binaries from Bearbin's site, http://ci.bearbin.net ? They are probably linked to a newer version of C++ runtime than your OS contains. Generic solutions (not that I know almost nothing about Linux) would be to:
1. Install those newer runtime libraries (may require root, too, so no solution)
2. Compile MCServer on that server from source (requires installation of git, cmake, gcc and g++, if those aren't present, you'd need root, too)
3. Compile MCServer on another machine, link with older C++ runtime
Reply
Thanks given by:
#3
(07-04-2014, 07:48 PM)xoft Wrote: I suppose you're using one of the compiled binaries from Bearbin's site, http://ci.bearbin.net ? They are probably linked to a newer version of C++ runtime than your OS contains. Generic solutions (not that I know almost nothing about Linux) would be to:
1. Install those newer runtime libraries (may require root, too, so no solution)
2. Compile MCServer on that server from source (requires installation of git, cmake, gcc and g++, if those aren't present, you'd need root, too)
3. Compile MCServer on another machine, link with older C++ runtime

1. Hosting ansawer:
"That's too bad, because a higher version is not in the repository." (translated by Google Translate)
Reply
Thanks given by:
#4
I think option 3 is the easiest for you right now - get a virtualboxed install of the OS that you have at that hosting and compile there, then copy the executable to the hosted server.

@bearbin any chance of linking with lower runtime versions on your side?
Reply
Thanks given by:
#5
Not really, I'm not sure if older versions are forwards-compatible. I'd have to research it first.
Reply
Thanks given by:
#6
Normlly, MCServer needs more rights for his execution environment than other programs on. So, there are two ways to run the server on linux:

  1. Run it as root (sudo ./MCServer)
  2. Go into your MCServer directory and type in:
    Code:
    sudo chown <your_username> -R .

I think the second method is the best. After that you just can run it as usual.
Reply
Thanks given by:
#7
(07-07-2014, 06:41 PM)SphinxC0re Wrote: Normlly, MCServer needs more rights for his execution environment than other programs on.

Really? How? Why? Can anyone Linux-savy educate me on what MCS does that requires the root privileges? We should try to avoid that, most hosting programs don't allow root access to their VPSs.
Reply
Thanks given by:
#8
(07-08-2014, 03:47 AM)xoft Wrote:
(07-07-2014, 06:41 PM)SphinxC0re Wrote: Normlly, MCServer needs more rights for his execution environment than other programs on.

Really? How? Why? Can anyone Linux-savy educate me on what MCS does that requires the root privileges? We should try to avoid that, most hosting programs don't allow root access to their VPSs.

It doesn't usually. The only reason I can think of is if you want to host the webadmin on port 80. Linux requires admin rights to bind to ports below 1024.
Reply
Thanks given by:
#9
Why is that so? Is there a difference betwixt ports < 1024 and ones higher?
Reply
Thanks given by:
#10
Ports below 1024 are common ports, used by major services. The idea is that you can't just bind to port 80 and interfere with the web server on a computer without permission.
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)