After failing to build freeorion before, I decided to try and build SDK first. I have some problems. I apologise that some diagnostic messages are in Polish. I tried to force MSBuild, PowerShel et al to switch to invariant culture, but without success.
CUSTOMBUILD : warning : toolset clang-linux initialization: can not find tool clang++ [C:\Users\miron\Documents\Build\f
reeorion-sdk\boost.vcxproj]
CUSTOMBUILD : warning : initialized from C:\Users\miron\Documents\Build\freeorion-sdk\boost-config.jam:20 [C:\Users\mir
on\Documents\Build\freeorion-sdk\boost.vcxproj]
'"clang++"' is not recognized as an internal or external command,
operable program or batch file.
notice: will use 'clang++' for clang-linux, condition <toolset>clang-linux
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang-linux.jam:63: in clan
g-linux.init
*** argument error
* rule clang.init-cxxstd-flags ( toolset : condition * : version )
* called with: ( clang-linux : <toolset>clang-linux : )
* missing argument version
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang.jam:54:see definition
of rule 'clang.init-cxxstd-flags' being called
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\toolset.jam:44: in toolset.
using
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang.jam:33: in clang.init
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\toolset.jam:44: in toolset.
using
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\project.jam:1104: in using
C:\Users\miron\Documents\Build\freeorion-sdk\boost-config.jam:20: in modules.load
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:255: in load-con
fig
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:449: in load-con
figuration-files
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:607: in load
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\tools\build\src/kernel\modules.jam:295: in import
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\tools\build\src/kernel/bootstrap.jam:139: in boos
t-build
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\boost-build.jam:17: in module scope
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209
,5): error MSB6006: Polecenie "cmd.exe" zakończone przez kod 1. [C:\Users\miron\Documents\Build\freeorion-sdk\boost.vcx
proj]
Kompilowanie projektu "C:\Users\miron\Documents\Build\freeorion-sdk\boost.vcxproj" wykonane (domyślne elementy docelowe
) - NIEPOWODZENIE.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
I'm pretty sure I followed the instructions, but I'll try again on an empty build directory.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
PS C:\Users\miron> C:\dev\CMake\bin\cmake.exe -G "Visual Studio 15 2017" -S C:\Users\miron\Git\freeorion-sdk -B c:\users\miron\Documents\Build\freeorion-sdk -A x64
-- The C compiler identification is MSVC 19.16.27025.1
-- The CXX compiler identification is MSVC 19.16.27025.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/miron/Documents/Build/freeorion-sdk
"C:\Users\miron\Documents\Build\freeorion-sdk\ALL_BUILD.vcxproj" (domyślny element docelowy) (1)->
"C:\Users\miron\Documents\Build\freeorion-sdk\boost.vcxproj" (domyślny element docelowy) (3)->
(element docelowy CustomBuild) ->
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(2
09,5): error MSB6006: Polecenie "cmd.exe" zakończone przez kod 1. [C:\Users\miron\Documents\Build\freeorion-sdk\boost.v
cxproj]
Ostrzeżenia: 219
Liczba błędów: 1
That is 219 warnings and one error. The error seems again to be about boost library. I'll run the build again (without cleaning) for a more concise report.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
CUSTOMBUILD : -- warning : Building the Windows version without DirectSound output [C:\Users\miron\Documents\Build\free
orion-sdk\openal-soft.vcxproj]
-- This is probably NOT what you want!
I guess I'm missing Windows Platform SDK...
Edit: Yup, installing Windows 10 SDK fixed this warning.
Last edited by em3 on Thu Oct 03, 2019 2:03 pm, edited 1 time in total.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
CUSTOMBUILD : warning : toolset clang-linux initialization: can not find tool clang++ [C:\Users\miron\Documents\Build\f
reeorion-sdk\boost.vcxproj]
CUSTOMBUILD : warning : initialized from C:\Users\miron\Documents\Build\freeorion-sdk\boost-config.jam:20 [C:\Users\mir
on\Documents\Build\freeorion-sdk\boost.vcxproj]
'"clang++"' is not recognized as an internal or external command,
operable program or batch file.
notice: will use 'clang++' for clang-linux, condition <toolset>clang-linux
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang-linux.jam:63: in clan
g-linux.init
*** argument error
* rule clang.init-cxxstd-flags ( toolset : condition * : version )
* called with: ( clang-linux : <toolset>clang-linux : )
* missing argument version
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang.jam:54:see definition
of rule 'clang.init-cxxstd-flags' being called
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\toolset.jam:44: in toolset.
using
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/tools\clang.jam:33: in clang.init
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\toolset.jam:44: in toolset.
using
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src/build\project.jam:1104: in using
C:\Users\miron\Documents\Build\freeorion-sdk\boost-config.jam:20: in modules.load
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:255: in load-con
fig
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:449: in load-con
figuration-files
C:/Users/miron/Documents/Build/freeorion-sdk/boost-prefix/src/boost/tools/build/src\build-system.jam:607: in load
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\tools\build\src/kernel\modules.jam:295: in import
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\tools\build\src/kernel/bootstrap.jam:139: in boos
t-build
C:\Users\miron\Documents\Build\freeorion-sdk\boost-prefix\src\boost\boost-build.jam:17: in module scope
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209
,5): error MSB6006: Polecenie "cmd.exe" zakończone przez kod 1. [C:\Users\miron\Documents\Build\freeorion-sdk\boost.vcx
proj]
Kompilowanie projektu "C:\Users\miron\Documents\Build\freeorion-sdk\boost.vcxproj" wykonane (domyślne elementy docelowe
) - NIEPOWODZENIE.
NIEPOWODZENIE means FAILURE, FYI.
I'm not telling it to build anything with clang. It just somehow tries to when building boost.vcxproj.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
PS C:\Users\miron> C:\dev\CMake\bin\cmake.exe -G "Visual Studio 15 2017" -S C:\Users\miron\Git\freeorion-sdk -B c:\users\miron\Documents\Build\freeorion-sdk -A x64
-- The C compiler identification is MSVC 19.16.27025.1
-- The CXX compiler identification is MSVC 19.16.27025.1
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/miron/Documents/Build/freeorion-sdk
Otherwise cmake was what? I would try without the -A x64 and from within the directory as the instructions say, not some other location... eg.
em3 wrote: ↑Thu Oct 03, 2019 9:46 amI also passed -A x64, because otherwise cmake was
Otherwise cmake was what?
Sorry, I've got distracted while writing that. Otherwise CMake was choosing the x86 compiler instead of x64, and I wanted a x64 build.
I would try without the -A x64 and from within the directory as the instructions say, not some other location... eg.
I did try before and had the same errors. I just added it to make sure I'll have an x64 build.
I''m keeping sources and builds in separate hierarchy and I'll keep it that way. CMake itself seems to support this.
Add -G "Visual Studio 15 2017" to cmake .. if it's otherwise picking the wrong compiler.
I added the -G, as per instructions, during cmake generation step, not building. This parameter specifies, which generator to use.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
em3 wrote: ↑Thu Oct 03, 2019 9:46 amI also passed -A x64, because otherwise cmake was
Otherwise cmake was what?
Sorry, I've got distracted while writing that. Otherwise CMake was choosing the x86 compiler instead of x64, and I wanted a x64 build.
I would try without the -A x64 and from within the directory as the instructions say, not some other location... eg.
I did try before and had the same errors. I just added it to make sure I'll have an x64 build.
I''m keeping sources and builds in separate hierarchy and I'll keep it that way. CMake itself seems to support this.
Add -G "Visual Studio 15 2017" to cmake .. if it's otherwise picking the wrong compiler.
I added the -G, as per instructions, during cmake generation step, not building. This parameter specifies, which generator to use.
To have x64 build you should use -G "Visual Studio 15 2017 Win64". Look at appveyor.yml file, it builds x64 SDK.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-04-14.ad50e93.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm
o01eg wrote: ↑Thu Oct 03, 2019 8:22 pm
To have x64 build you should use -G "Visual Studio 15 2017 Win64". Look at appveyor.yml file, it builds x64 SDK.
The CMAKE_GENERATOR_PLATFORM variable may be set, perhaps via the cmake(1) -A option, to specify a target platform name (architecture). For example:
cmake -G "Visual Studio 15 2017" -A Win32
cmake -G "Visual Studio 15 2017" -A x64
cmake -G "Visual Studio 15 2017" -A ARM
cmake -G "Visual Studio 15 2017" -A ARM64
For compatibility with CMake versions prior to 3.1, one may specify a target platform name optionally at the end of the generator name. This is supported only for:
Visual Studio 15 2017 Win64
Specify target platform x64.
Visual Studio 15 2017 ARM
Specify target platform ARM.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
I suggest trying the 32 bit build first. I suspect 64 isn't possible, due to vaguely recalling forum or github discussions about it, possibly relating to some of the dependencies. There's also not much point in a 64 bit build of FreeOrion... it doesn't need that much RAM per process.
Add -G "Visual Studio 15 2017" to cmake .. if it's otherwise picking the wrong compiler.
I added the -G, as per instructions, during cmake generation step, not building. This parameter specifies, which generator to use.
Sorry, I meant the other cmake call. The point is, don't add extra stuff unless needed and it doesn't work without it. Once it works, then try extra tweaks and options.
Geoff the Medio wrote: ↑Thu Oct 03, 2019 10:55 pm
I suggest trying the 32 bit build first. I suspect 64 isn't possible, due to vaguely recalling forum or github discussions about it, possibly relating to some of the dependencies. There's also not much point in a 64 bit build of FreeOrion... it doesn't need that much RAM per process.
My bad. I'm used to building everything 64 bit, so I tend to take it as default.
The point is, don't add extra stuff unless needed and it doesn't work without it. Once it works, then try extra tweaks and options.
Fair enough. I'll try to be more kosher about the build.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
Generating Boost.Build configuration in project-config.jam for msvc...
... it still tries to use clang in a custom build step.
I'll investigate the boost.vcproj file.
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
using python
: 2.7 # version
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/bin/python2.7 # cmd-or-prefix
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/include/python2.7 # includes
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/lib # libraries
;
using python
: 3.5 # version
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/bin/python3.5 # cmd-or-prefix
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/include/python3.5 # includes
: C:/Users/miron/Documents/Build/freeorion-sdk/INSTALL/lib # libraries
;
# detect the location of the Mac OSX SDK.
using clang
: # version (not used)
: # cmd (compiler; not used)
: <root>
;
# Boost.Build Configuration
# Automatically generated by bootstrap.bat
import option ;
using msvc ;
option.set keep-going : false ;
https://github.com/mmoderau [...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556
Are you running this from the Visual Studio 2017 Developer Command Prompt? Perhaps the Boost stuff is looking for environment variables that are missing if using another command prompt or configuration thereof?