I seem to be unable to compile my engine in a way that other users are able to run the executable.
My makefile can be found here
https://github.com/AndyGrant/Ethereal/b ... makeEngine
I suppose I should remove -march=native, but what else must be changed?
Thanks, Andrew Grant
Compiling engine for release
Moderators: hgm, Rebel, chrisw
-
- Posts: 1759
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
-
- Posts: 4367
- Joined: Fri Mar 10, 2006 5:23 am
- Location: http://www.arasanchess.org
Re: Compiling engine for release
Definitely remove -march=native. I compile with -msse3 for older machines. Then I also have a separate build that uses -msse4.2 and enables use of the popcnt intrinsics. If you can assume even newer hardware you can use Avx and/or bmi instructions.
--Jon
--Jon
-
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: Compiling engine for release
Perhaps you could try "-static" instead of "-static-libgcc -static-libstdc++". Or avoid static linking at all. It seems GNU libc is not designed for static linking.AndrewGrant wrote:I seem to be unable to compile my engine in a way that other users are able to run the executable.
My makefile can be found here
https://github.com/AndyGrant/Ethereal/b ... makeEngine
I suppose I should remove -march=native, but what else must be changed?
Thanks, Andrew Grant
EDIT: I realize you are probably talking about a Windows build, in that case I don't know. I was talking about a Linux build.
-
- Posts: 2662
- Joined: Wed Mar 10, 2010 10:18 pm
- Location: Hamburg, Germany
- Full name: Srdja Matovic
Re: Compiling engine for release...mingw
concerning to build windows 32 and 64 bit binaries on Linux,
you could use mingw-64.
These Debian packages should do it:
In the Makefile you just replace the compiler with
or
--
Srdja
you could use mingw-64.
These Debian packages should do it:
Code: Select all
ii gcc-mingw-w64-i686 4.8.2-10ubuntu2+12 amd64 GNU C compiler for MinGW-w64 targeting Win32
ii gcc-mingw-w64-x86-64 4.8.2-10ubuntu2+12 amd64 GNU C compiler for MinGW-w64 targeting Win64
Code: Select all
CC=/usr/bin/i686-w64-mingw32-gcc
Code: Select all
CC=/usr/bin/x86_64-w64-mingw32-gcc
Srdja
-
- Posts: 1600
- Joined: Mon Feb 21, 2011 9:48 am
Re: Compiling engine for release...mingw
Well compiles in Visual Studio with Intel Compiler and LLVM-Clang.
Run ICU, isready, register, ect.
It breaks with the command "GO" pointing to the next line in movegen.c:
The use of depends on its executable give many errors....
http://www.dependencywalker.com/
Run ICU, isready, register, ect.
It breaks with the command "GO" pointing to the next line in movegen.c:
Code: Select all
if ((MoveDatabaseBishop[sq][dbIndex] & enemyBishops) != 0) return 1;
http://www.dependencywalker.com/