official-stockfish / Stockfish

A free and strong UCI chess engine
https://stockfishchess.org/
GNU General Public License v3.0
11.6k stars 2.28k forks source link

profile building broken with gcc 4.7.4 os X 10.10.1 #210

Closed MehdiMhalla closed 9 years ago

MehdiMhalla commented 9 years ago

(normal build still works.)

g++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o search.o thread.o timeman.o tt.o uci.o ucioption.o syzygy/tbprobe.o -lgcov -arch x86_64 -mmacosx-version-min=10.6 -lpthread -Wall -Wcast-qual -fno-exceptions -fno-rtti -fprofile-arcs -ansi -pedantic -Wno-long-long -Wextra -Wshadow -arch x86_64 -mmacosx-version-min=10.6 -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -msse -DUSE_BSFQ -msse3 -mpopcnt -DUSE_POPCNT -flto :unknown:Undefined local symbol LPBX0.10683.10683 :unknown:Undefined local symbol LPBX0.8784.8784 :unknown:Undefined local symbol LPBX0.7229.7229 :unknown:Undefined local symbol LPBX0.4739.4739 lto-wrapper: g++ returned 1 exit status collect2: error: lto-wrapper returned 1 exit status

zamar commented 9 years ago

How about other gcc versions? Are they broken as well?

MehdiMhalla commented 9 years ago

it is the only gcc i have but i reverted to the Makefile from December 10 fixing for syzygy and it works (profile build compiled again) then as i no longer had the official Makefile anyway i tried to add the avx profile and it still worked ( compiled) (it was proposed in the forom see below)

ifeq ($(ARCH),x86-64-avx) arch = x86_64 bits = 64 prefetch = yes bsfq = yes popcnt = yes sse = yes avx = yes endif

zamar commented 9 years ago

What exactly is the problem?

MehdiMhalla commented 9 years ago

I wanted to signal that since some makefile modification when i do profile-build from the master version i get the error above profile build does not produce an executable and produces the error (i copied and paste in first essage). (the modification that created the problem for my system occured after december 10 (when i copied and paste the makefile from december 10 it worked again )

mcostalba commented 9 years ago

The only changes after December 10 that are sensible enough are these one:

https://github.com/official-stockfish/Stockfish/commit/e5c7b44f7abf49170ffba98 https://github.com/official-stockfish/Stockfish/commit/46d5fff01fbeafdf822e44023

zamar commented 9 years ago

@MehdiMhalla: As Marco showed there has been only minimalistic changes to Makefile after Dec10, can you please try which of these changes trigger the problem:

A) @rm -f ucioption.gc* B) Replacing '-fprofile-generate', '-fprofile-use' with '-fprofile-arcs', '-fbranch-probabilities'

MehdiMhalla commented 9 years ago

undoing the B fixes the compilation for gcc 4.7.4 osX10.10.1

mcostalba commented 9 years ago

Joona, I suggest to revert that change. It was just a speed up, but for SF 6 release we can anyhow prepare some special optimized binaries. In this case compatibility wins over small speed up on specific gcc version, considering we are going to release.

zamar commented 9 years ago

Agreed, we should revert.

zamar commented 9 years ago

Reopen, we will need to fix this for SF7.