How to compile 64-bit ET:L

Added by palota about 2 years ago

I could compile 64-bit Windows version of ET:L 2.74, but now I get too many errors in the current version. Most errors are in Theora library which was added in ET:L 2.75.
I have Visual Studio 2013. The project files are generated by easybuild.bat.

build64.log (706 KB)


Replies (9)

RE: How to compile 64-bit ET:L - Added by RaFaL about 2 years ago

Some kind of log would be appreciated and very helpfull

RE: How to compile 64-bit ET:L - Added by IR4T4 about 2 years ago

Set FEATURE_THEORA = 0 (f.e. in CMakeLists.txt:86) and do a build w/o this lib. You probably don’t need extra video formats.

But I wonder if you did change your system. There are also inline assembly errors in q_math.c BoxOnPlaneSide_fast() and this hasn’t been changed for 2.75. Is there anything like MASM installed and configured?

See https://social.msdn.microsoft.com/Forums/vstudio/en-US/f9091616-c031-4118-b3c5-c2441a89b16b/asm-keyword-not-supported-on-this-architecture?forum=vcgeneral

RE: How to compile 64-bit ET:L - Added by palota about 2 years ago

I changed line 1002 in q_match.c:
#if defined LCC || defined C_ONLY || defined GNUC || defined _WIN64

I tried to set FEATURE_THEORA OFF in CMakeLists.txt, but it does not work. Options are ignored and theora is always compiled.

RE: How to compile 64-bit ET:L - Added by Spyhawk about 2 years ago

Short answer: we don’t care about 64bit on windows.

Windows supports execution of both 32 and 64 bit executables, by default. Linux distributions are entirely 64 bit by default, and using the 32 bit build is a pain on this ass due to the ~GB of additional deps required. This is the only reason the 64 bit Linux build exists.

As ET:L 64 bit has only partial support for existing servers (compatible with Legacy mod only), there is no real reason to support 64 bit on windows - especially when "basic" players have no clue what the 64 bit downsides are.

If you want to fix 64 bit build on windows and send us a patch, feel free to do so - but we’re unlikely to provide a win 64bit version in the future.

RE: How to compile 64-bit ET:L - Added by IR4T4 about 2 years ago

palota, I still don’t understand how you were able to build Win x64 as we haven’t done 'asm’ changes and Win x64 doesn’t support it?

RE: How to compile 64-bit ET:L - Added by palota about 2 years ago

Problem is that file easybuild.bat has Unix line endings. If I convert line endings to CR+LF, then everything builds successfully.

RE: How to compile 64-bit ET:L - Added by IR4T4 about 2 years ago

OMG! Please send a patch.

RE: How to compile 64-bit ET:L - Added by palota about 2 years ago

I think it can by fixed by adding file .gitattributes
*.bat eol=crlf

RE: How to compile 64-bit ET:L - Added by IR4T4 about 2 years ago

I’ve realized this too. Meanwhile my .gitattributes file looks like this (not committed):

* text=auto

# Windows CMD does not like LF in batch files
*.bat text eol=crlf
*.cmd text eol=crlf

# Custom for Visual Studio
*.cs     diff=csharp
*.sln    merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union

# Custom for Xcode
*.pbxproj merge=union

# Binaries
*.ai binary
*.bmp binary
*.bsp binary
*.dll binary
*.ico binary
*.icns binary
*.jpg binary
*.mdc binary
*.md3 binary
*.mdx binary
*.mp3 binary
*.ogg binary
*.pdf binary
*.png binary
*.psd binary
*.so binary
*.svg binary
*.tga binary
*.ttf binary
*.wav binary
*.zip binary

(1-9/9)