MinoMino / minqlx

Extends Quake Live's dedicated server with extra functionality and scripting.
GNU General Public License v3.0
112 stars 42 forks source link

MINQLX-x86-Support compiles but not right ELF class?! #75

Closed KrillinsWorld closed 5 years ago

KrillinsWorld commented 6 years ago

With server crashes going into 12 - 16 hours at a time in the x64 binary and not being able to run MINQLX in x86 mode. I tested my servers to runing more than 48 hours plus with the x86 binaries and I want to run my servers in this mode. So a few days ago I took on the challenge of follow the directions for the minqlx-x386-support.

The problem with this was it seems to have produced the x64 binary? I recall someone reporting this issue but it seemed like it was assumed the user was using THE WRONG binary. Well, I am here to point out this is simply NOT the case here.

We staged up the files in our Ubuntu /usr/share/minqlx-x86-support the we opened the terminal and "sudo make" where we got the minqlx.zip along with the minqlx.so files like the directions said we would.

I open nautilus and get the files into the clipboard and head over to our QLDS folder where I renamed minqlx.so to minqlx_64.so and the minqlx.zip to minqlx_x64, then pasted the two newly created files into the server location. I also switched the server launcher from the x64 to the x86 and saved the server launcher.

From here I then I switch over to the terminal to launch the server when the following error shows: ERROR: ld.so: object './minqlx.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.

How ironic. This is supposed to be the x86 build so why am I seeing wrong ELF Class, so can someone please tell me / us how to compile this so we can get the x86 binary we spent trying to get in the first place? I cannot find any information and tried to find help in the IRC but no response. So I found this and came here in hopes to getting the x86 binary compiled correctly.

Best Regards!

em92 commented 6 years ago

how to compile this so we can get the x86 binary

Compile on x86 os.

Or

  1. edit Makefile:
    diff --git a/Makefile b/Makefile
    index d9dfe14..8266ad6 100644
    --- a/Makefile
    +++ b/Makefile
    @@ -1,4 +1,4 @@
    -LBITS := $(shell getconf LONG_BIT)
    +LBITS := 32 #$(shell getconf LONG_BIT)
    ifeq ($(LBITS),64)
        CFLAGS += -m64 -fPIC
        SOURCES = HDE/hde64.c
  2. install dependencies
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install libc6-dev-i386 libpython3-dev:i386
  3. make

Or just download compiled one: http://stats.eugenemolotov.ru/static/temp/x86/minqlx.so It is from current develop branch.

With server crashes going into 12 - 16 hours at a time in the x64 binary

It would be nice, if you upload server's console log and write minqlx version you were using.

saltyscootertrash commented 6 years ago

I would also like to test your compiled version of the x86 minqlx.so but it seems the above link is no longer active. If it has been moved can you please direct me to the new location?

Thank you very much.

em92 commented 6 years ago

@saltyscootertrash, https://yadi.sk/d/h44ALNoz3V9mSG

em92 commented 5 years ago

Released x86 version: https://github.com/MinoMino/minqlx/releases/tag/v0.5.2