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
Moderator: Ras
- 
				AndrewGrant
 - Posts: 1960
 - Joined: Tue Apr 19, 2016 6:08 am
 - Location: U.S.A
 - Full name: Andrew Grant
 
- 
				jdart
 - Posts: 4410
 - 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
- 
				Sven
 - 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.
- 
				smatovic
 - Posts: 3372
 - 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
- 
				velmarin
														 - 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/