Karens-MacBook-Pro:SFTtech-openage-db976c0` thomas$ make
[ 0%] Automatic moc for target libopenage
Scanning dependencies of target libopenage
[ 0%] Building CXX object libopenage/CMakeFiles/libopenage.dir/assetmanager.cpp.o
In file included from /Users/thomas/Downloads/SFTtech-openage-db976c0/libopenage/assetmanager.cpp:16:
In file included from /Users/thomas/Downloads/SFTtech-openage-db976c0/libopenage/texture.h:12:
In file included from /Users/thomas/Downloads/SFTtech-openage-db976c0/libopenage/coord/tile.h:9:
/Users/thomas/Downloads/SFTtech-openage-db976c0/libopenage/coord/../util/misc.h:146:25: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
inline constexpr size_t array64_size(size_t count) {
^
/Users/thomas/Downloads/SFTtech-openage-db976c0/libopenage/coord/../util/misc.h:147:9: note: non-constexpr function 'ceil' cannot be used in a constant expression
return std::ceil(static_cast<double>(count) / static_cast<double>(uint64_s));
^
/usr/include/math.h:470:15: note: declared here
extern double ceil(double);
^
1 error generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/assetmanager.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
Karens-MacBook-Pro:SFTtech-openage-db976c0 thomas$
What compiler and version do you have? It looks like the std::ceil function of your stdlib is not constexpr.
@TheJJ
This is what my 'gcc --version' tells me
Karens-MacBook-Pro:SFTtech-openage-db976c0 thomas$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Karens-MacBook-Pro:SFTtech-openage-db976c0 thomas$
Hm, ~I see you compiled some pull request, does compiling the latest master work~?
My bad, mixed things up. I will correct it shortly, so it won't depend on the non-constexpr std::ceil anymore (corrected in #723)
just cloned the repo and tried again:
Karens-MacBook-Pro:openage thomas$ ./configure --mode=release --compiler=clang --prefix=/usr
./configure is a convenience script:
it creates the build directory, symlinks it,
and invokes cmake for an out-of-source build.
Nobody is stopping you from skipping ./configure and our Makefile,
and using CMake directly (e.g. when packaging, or using an IDE).
For your convenience, ./configure even prints the direct CMake invocation!
build_type | Release
cxx_compiler | clang++
cxx_flags |
exe_linker_flags |
install_prefix | /usr
module_linker_flags |
shared_linker_flags |
config options:
backtrace | if_available
gperftools-profiler | if_available
gperftools-tcmalloc | False
inotify | if_available
bindir:
/Users/thomas/openage/.bin/clang++-release-Oauto-sanitize-none/
invocation:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS='' -DCMAKE_EXE_LINKER_FLAGS='' -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_MODULE_LINKER_FLAGS='' -DCMAKE_SHARED_LINKER_FLAGS='' -DCXX_OPTIMIZATION_LEVEL=auto -DCXX_SANITIZE_FATAL=False -DCXX_SANITIZE_MODE=none -DWANT_BACKTRACE=if_available -DWANT_GPERFTOOLS_PROFILER=if_available -DWANT_GPERFTOOLS_TCMALLOC=False -DWANT_INOTIFY=if_available -- /Users/thomas/openage
(running cmake...)
___ ______ _______ _______ ___
| _)/ _____|_______|_______|_ |
| | ( (____ _____ _ | | ___ ____ _____ ____ _____ ____ _____
| | \____ \| ___) | | | | / _ \| _ \| ___ | _ \(____ |/ _ | ___ |
| |_ _____) ) | | | _| | | |_| | |_| | ____| | | / ___ ( (_| | ____|
|___|______/|_| |_| (___| \___/| __/|_____)_| |_\_____|\___ |_____)
|_| (_____|
Welcome to the SFT technologies computer-aided openage build system!
You have chosen, or been chosen, to attempt the daring task of building openage.
If you have installed all the dependencies that are conveniently listed in
[doc/building.md], this _might_ just work!
If it doesn't, consider reporting the issue/asking for help in #sfttech on freenode.net.
-- The CXX compiler identification is AppleClang 8.0.0.8000042
-- Check for working CXX compiler: /usr/bin/clang++
-- Check for working CXX compiler: /usr/bin/clang++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CXX_SUPPORTS_CXX14
-- Performing Test CXX_SUPPORTS_CXX14 - Success
-- Performing Test HAVE_THREAD_LOCAL_STORAGE
-- Performing Test HAVE_THREAD_LOCAL_STORAGE - Success
Testing /Library/Frameworks/Python.framework/Versions/3.5/bin/python3
Testing /usr/bin/python
Testing /System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
Testing /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Testing /usr/bin/pythonw
Testing /System/Library/Frameworks/Python.framework/Versions/2.6/bin/pythonw2.6
Testing /System/Library/Frameworks/Python.framework/Versions/2.7/bin/pythonw2.7
Testing /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
Testing /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m
-- Looking for suitable Python >=3.4 - Success: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3
-- Found Python: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 (Required is at least version "3.4")
-- Found Cython: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 -m cython (found suitable version "0.25.2", minimum required is "0.23")
-- Found numpy: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/numpy/core/include
-- Checking python3 module PIL.Image - Success
-- Checking python3 module PIL.ImageDraw - Success
-- Checking python3 module numpy - Success
-- Checking python3 module pygments - Success
-- Checking utility program opusenc - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
CMake Warning at buildsystem/doxygen.cmake:50 (message):
doxygen couldn't be found, you won't be able to generate docs
Call Stack (most recent call first):
CMakeLists.txt:88 (doxygen_configure)
cpp library
libopenage [223 sources] [15 generated]
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.1")
-- Found Freetype: /usr/local/lib/libfreetype.dylib (found version "2.7.1")
-- Found OpenGL: /System/Library/Frameworks/OpenGL.framework
-- Found SDL2: /usr/local/include/SDL2
-- Found SDL2Image: /usr/local/lib/libSDL2_image.dylib
-- Found Opus: /usr/local/lib/libopusfile.dylib
-- Found Epoxy: /usr/local/lib/libepoxy.dylib
-- Found HarfBuzz: /usr/local/lib/libharfbuzz.dylib (found suitable version "1.4.5", minimum required is "1.0.0")
-- Could NOT find GCCBacktrace (missing: GCCBacktrace_LIBRARIES GCCBacktrace_INCLUDE_DIRS)
unavailable: backtrace
-- Could NOT find Gperftools (missing: GPERFTOOLS_LIBRARIES GPERFTOOLS_INCLUDE_DIR)
unavailable: gperftools-profiler
-- Could NOT find INOTIFY (missing: INOTIFY_INCLUDE_DIR)
unavailable: inotify
cython module
run [embedded interpreter] [noinstall]
openage.cabextract.lzxd
openage.cabextract.cabchecksum [standalone]
openage.convert.slp
openage.cppinterface.exctranslate
openage.cppinterface.exctranslate_tests
openage.cppinterface.pyobject
openage.cppinterface.setup_checker
openage.cvar.cvar
openage.game.main_cpp
openage.log.log_cpp
openage.util.fslike.cpp
openage.testing.cpp_testing
openage.testing.misc_cpp
enabled options:
<none>
disabled options:
backtrace
gperftools-profiler
gperftools-tcmalloc
inotify
openage v0.3.0-729-gdb976c0
compiler | AppleClang 8.0.0.8000042
build type | Release
cxxflags | -Wall -Wextra -pedantic -Wno-mismatched-tags -stdlib=libc++ -std=c++14
build type flags | -DNDEBUG -O3
build dir | /Users/thomas/openage/.bin/clang++-release-Oauto-sanitize-none
install prefix | /usr
py install prefix | /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/thomas/openage/.bin/clang++-release-Oauto-sanitize-none
Karens-MacBook-Pro:openage thomas$ mske
-bash: mske: command not found
Karens-MacBook-Pro:openage thomas$ make
Scanning dependencies of target codegen
[ 0%] openage.codegen: generating c++ code
libopenage/gamedata/tech.gen.h
libopenage/gamedata/string_resource.gen.h
libopenage/gamedata/graphic.gen.h
libopenage/gamedata/gamedata.gen.h
libopenage/gamedata/unit.gen.h
libopenage/gamedata/texture.gen.h
libopenage/gamedata/color.gen.h
libopenage/gamedata/util.gen.h
libopenage/gamedata/sound_file.gen.h
libopenage/gamedata/blending_mode.gen.h
libopenage/gamedata/terrain.gen.h
libopenage/gamedata/civilisation.gen.h
libopenage/gamedata/sound.gen.h
libopenage/gamedata/research.gen.h
libopenage/gamedata/tech.gen.cpp
libopenage/gamedata/string_resource.gen.cpp
libopenage/gamedata/graphic.gen.cpp
libopenage/gamedata/gamedata.gen.cpp
libopenage/gamedata/unit.gen.cpp
libopenage/gamedata/texture.gen.cpp
libopenage/gamedata/color.gen.cpp
libopenage/gamedata/util.gen.cpp
libopenage/gamedata/sound_file.gen.cpp
libopenage/gamedata/blending_mode.gen.cpp
libopenage/gamedata/terrain.gen.cpp
libopenage/gamedata/civilisation.gen.cpp
libopenage/gamedata/sound.gen.cpp
libopenage/gamedata/research.gen.cpp
libopenage/testing/testlist.gen.cpp
Scanning dependencies of target libopenage_automoc
[ 0%] Automatic moc for target libopenage
Generating moc source libopenage_automoc.dir/moc_engine_KJWSEL5MH53XEC.cpp
Generating moc source libopenage_automoc.dir/moc_game_control_2EZPWKAPV4NUI3.cpp
Generating moc source libopenage_automoc.dir/moc_game_main_YOXGOW36YV3MSQ.cpp
Generating moc source libopenage_automoc.dir/moc_game_spec_277R7OF3JCWM5R.cpp
Generating moc source libopenage_automoc.dir/moc_actions_list_m_25VTHA6ICMLRDN.cpp
Generating moc source libopenage_automoc.dir/moc_assetmanager_l_QAKTTEHFQ3TIKP.cpp
Generating moc source libopenage_automoc.dir/moc_category_conte_OPKMR6GZAV5PKV.cpp
Generating moc source libopenage_automoc.dir/moc_engine_link_C6ZRMCHLTGTBYN.cpp
Generating moc source libopenage_automoc.dir/moc_game_control_l_IJ66CPOIL45JZ3.cpp
Generating moc source libopenage_automoc.dir/moc_game_creator_3KQ4LREPCJOENS.cpp
Generating moc source libopenage_automoc.dir/moc_game_main_link_BUUSLVKGUJHXIS.cpp
Generating moc source libopenage_automoc.dir/moc_game_saver_B6ZIRUKOAW5NMT.cpp
Generating moc source libopenage_automoc.dir/moc_game_spec_link_AN654LV367LJUE.cpp
Generating moc source libopenage_automoc.dir/moc_generator_link_47MVGOTMSEFT7M.cpp
Generating moc source libopenage_automoc.dir/moc_gui_item_QRSZOOR45FD55A.cpp
Generating moc source libopenage_automoc.dir/moc_gui_list_model_EA2BXGFR3EECLD.cpp
Generating moc source libopenage_automoc.dir/moc_gui_property_m_6KQCV7FPMJUJEW.cpp
Generating moc source libopenage_automoc.dir/moc_gui_singleton__JZH3XQ42VYBOH7.cpp
Generating moc source libopenage_automoc.dir/moc_qml_engine_wit_QTYT42NYOFOVP4.cpp
Generating moc source libopenage_automoc.dir/moc_game_logic_cal_TQCY4NICSBQMIG.cpp
Generating moc source libopenage_automoc.dir/moc_gui_callback_6CKXM2INL3ZZZM.cpp
Generating moc source libopenage_automoc.dir/moc_gui_engine_imp_AT22G6YVKBPKBG.cpp
Generating moc source libopenage_automoc.dir/moc_gui_input_impl_O76J4MQ7MHS4Q7.cpp
Generating moc source libopenage_automoc.dir/moc_gui_renderer_i_5W4YA7GBZ6RDRF.cpp
Generating moc source libopenage_automoc.dir/moc_gui_subtree_im_XZEUB3UH7RLC3S.cpp
Generating moc source libopenage_automoc.dir/moc_gui_live_reloa_BP5STW7TGXZNND.cpp
Generating moc source libopenage_automoc.dir/moc_recursive_dire_CU3RELGY6FVOEH.cpp
Generating moc source libopenage_automoc.dir/moc_recursive_dire_25ZNU7JRD6LG5V.cpp
Generating moc source libopenage_automoc.dir/moc_gui_image_prov_UTHZWADXFASJVQ.cpp
Generating moc source libopenage_automoc.dir/moc_gui_standalone_CN27QNJKKRWZMB.cpp
Generating moc source libopenage_automoc.dir/moc_gui_texture_TIJOVUEJD5SQYF.cpp
Generating moc source libopenage_automoc.dir/moc_gui_texture_fa_5RQBAWZMZFNB5O.cpp
Generating moc source libopenage_automoc.dir/moc_main_args_link_BGHDMJJDQQHDCV.cpp
Generating moc source libopenage_automoc.dir/moc_resources_list_ILG5OIGKRLNQML.cpp
Generating moc compilation libopenage_automoc.cpp
Scanning dependencies of target libopenage
[ 0%] Building CXX object libopenage/CMakeFiles/libopenage.dir/assetmanager.cpp.o
In file included from /Users/thomas/openage/libopenage/assetmanager.cpp:16:
In file included from /Users/thomas/openage/libopenage/texture.h:12:
In file included from /Users/thomas/openage/libopenage/coord/tile.h:9:
/Users/thomas/openage/libopenage/coord/../util/misc.h:146:25: error: constexpr function never produces a constant expression [-Winvalid-constexpr]
inline constexpr size_t array64_size(size_t count) {
^
/Users/thomas/openage/libopenage/coord/../util/misc.h:147:9: note: non-constexpr function 'ceil' cannot be used in a constant expression
return std::ceil(static_cast<double>(count) / static_cast<double>(uint64_s));
^
/usr/include/math.h:470:15: note: declared here
extern double ceil(double);
^
1 error generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/assetmanager.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
Karens-MacBook-Pro:openage thomas$
Can you try now please? A fix should be in place.
made a 'git pull' and tried. better now, but got this:
[ 43%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamestate/market.cpp.o
[ 44%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamestate/player.cpp.o
[ 44%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamestate/population_tracker.cpp.o
[ 44%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamestate/team.cpp.o
[ 45%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamestate/resource.cpp.o
/Users/thomas/openage/libopenage/gamestate/resource.cpp:76:8: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
string to_string(const openage::game_resource &res) {
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
/Users/thomas/openage/libopenage/gamestate/resource.cpp:79:10: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
return "wood";
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
/Users/thomas/openage/libopenage/gamestate/resource.cpp:81:10: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
return "food";
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
/Users/thomas/openage/libopenage/gamestate/resource.cpp:83:10: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
return "gold";
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
/Users/thomas/openage/libopenage/gamestate/resource.cpp:85:10: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
return "stone";
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
/Users/thomas/openage/libopenage/gamestate/resource.cpp:87:10: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >'
return "unknown";
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:193:33: note: template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_string;
^
6 errors generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/gamestate/resource.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
Karens-MacBook-Pro:openage thomas$
That is in progress of fixing in https://github.com/SFTtech/openage/pull/756
Maybe we can chery-pick b42d6df623f0eec624f83bedafefec1efea31d34 commit on master.
(or just add #include <string> into the file)
@ChipmunkV
after adding 'string' got this:
[ 31%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/path.cpp.o
/Users/thomas/openage/libopenage/util/path.cpp:6:10: fatal error: 'error.h' file not found
#include "error.h"
^
1 error generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/util/path.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
The 'error' thing should probably be #include "../error/error.h". Linux has its own error.h, so it doesn't complain on the build machines.
That's due to today's installation improvements merge.
aaaand now this:
[ 1%] Automatic moc for target libopenage
Scanning dependencies of target libopenage
[ 1%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/path.cpp.o
/Users/thomas/openage/libopenage/util/path.cpp:217:14: error: return type of out-of-line definition of 'openage::util::Path::get_filesize' differs from that in the declaration
size_t Path::get_filesize() const {
~~~~~~ ^
/Users/thomas/openage/libopenage/util/fslike/../path.h:118:11: note: previous declaration is here
uint64_t get_filesize() const;
~~~~~~~~ ^
1 error generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/util/path.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
Karens-MacBook-Pro:openage thomas$
Guys, is there a place a can DL binary artifacts instead of building them, so i can just run openage?
damnit, fixes are incoming in #769. (the latest fix is to just change the size_t to uint64_t in the path.cpp file for Path::get_filesize() const {)
There is no downloadable binary, and I'm really glad you encounter those problems so we can fix them, cause they don't occur on my machine or our buildbot :)
@TheJJ thanks for the info.
Glad to be your QA pal :D
Guys, is there a place a can DL binary artifacts instead of building them, so i can just run openage?
openage has not run successfully on OS X for a long time.
openage has not run successfully on OS X for a long time.
@Birch-san , the https://github.com/SFTtech/openage/pull/756 should run on OS X.
woah, awesome. okay, let's try to get it compiling.
I had a stab at making master, and I got a different error.
./configure went fine:
➜ openage git:(master) ✗ ./configure --compiler=clang
./configure is a convenience script:
it creates the build directory, symlinks it,
and invokes cmake for an out-of-source build.
Nobody is stopping you from skipping ./configure and our Makefile,
and using CMake directly (e.g. when packaging, or using an IDE).
For your convenience, ./configure even prints the direct CMake invocation!
build_type | Debug
cxx_compiler | clang++
cxx_flags |
exe_linker_flags |
install_prefix | /usr/local
module_linker_flags |
shared_linker_flags |
config options:
backtrace | if_available
gperftools-profiler | if_available
gperftools-tcmalloc | False
inotify | if_available
bindir:
/Users/anon/git/openage/.bin/clang++-debug-Oauto-sanitize-none/
invocation:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS='' -DCMAKE_EXE_LINKER_FLAGS='' -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_MODULE_LINKER_FLAGS='' -DCMAKE_SHARED_LINKER_FLAGS='' -DCXX_OPTIMIZATION_LEVEL=auto -DCXX_SANITIZE_FATAL=False -DCXX_SANITIZE_MODE=none -DWANT_BACKTRACE=if_available -DWANT_GPERFTOOLS_PROFILER=if_available -DWANT_GPERFTOOLS_TCMALLOC=False -DWANT_INOTIFY=if_available -- /Users/anon/git/openage
(running cmake...)
___ ______ _______ _______ ___
| _)/ _____|_______|_______|_ |
| | ( (____ _____ _ | | ___ ____ _____ ____ _____ ____ _____
| | \____ \| ___) | | | | / _ \| _ \| ___ | _ \(____ |/ _ | ___ |
| |_ _____) ) | | | _| | | |_| | |_| | ____| | | / ___ ( (_| | ____|
|___|______/|_| |_| (___| \___/| __/|_____)_| |_\_____|\___ |_____)
|_| (_____|
Welcome to the SFT technologies computer-aided openage build system!
You have chosen, or been chosen, to attempt the daring task of building openage.
If you have installed all the dependencies that are conveniently listed in
[doc/building.md], this _might_ just work!
If it doesn't, consider reporting the issue/asking for help in #sfttech on freenode.net.
-- Using python interpreter: /usr/local/opt/python3/bin/python3.6
-- Found numpy: /usr/local/lib/python3.6/site-packages/numpy/core/include
-- Checking python3 module PIL.Image - Success
-- Checking python3 module PIL.ImageDraw - Success
-- Checking python3 module numpy - Success
-- Checking python3 module pygments - Success
-- Checking utility program opusenc - Success
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
CMake Warning at buildsystem/doxygen.cmake:50 (message):
doxygen couldn't be found, you won't be able to generate docs
Call Stack (most recent call first):
CMakeLists.txt:97 (doxygen_configure)
cpp library
libopenage [234 sources] [14 generated]
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.1")
-- Found Freetype: /usr/local/lib/libfreetype.dylib (found version "2.7.1")
-- Found OpenGL: /System/Library/Frameworks/OpenGL.framework
-- Found SDL2: /Users/anon/Library/Frameworks/SDL2.framework/Headers
-- Found SDL2Image: /Library/Frameworks/SDL2_image.framework
-- Found Opus: /usr/local/lib/libopusfile.dylib
-- Found Epoxy: /usr/local/lib/libepoxy.dylib
-- Found HarfBuzz: /usr/local/lib/libharfbuzz.dylib (found suitable version "1.4.2", minimum required is "1.0.0")
-- Could NOT find GCCBacktrace (missing: GCCBacktrace_LIBRARIES GCCBacktrace_INCLUDE_DIRS)
unavailable: backtrace
-- Could NOT find Gperftools (missing: GPERFTOOLS_LIBRARIES GPERFTOOLS_INCLUDE_DIR)
unavailable: gperftools-profiler
-- Could NOT find INOTIFY (missing: INOTIFY_INCLUDE_DIR)
unavailable: inotify
cython module
run [embedded interpreter] [noinstall]
openage.cabextract.lzxd
openage.cabextract.cabchecksum [standalone]
openage.convert.slp
openage.convert.interface.visgrep
openage.cppinterface.exctranslate
openage.cppinterface.exctranslate_tests
openage.cppinterface.pyobject
openage.cppinterface.setup_checker
openage.cvar.cvar
openage.game.main_cpp
openage.log.log_cpp
openage.util.filelike.cpp
openage.util.fslike.cpp
openage.testing.cpp_testing
openage.testing.misc_cpp
enabled options:
<none>
disabled options:
backtrace
gperftools-profiler
gperftools-tcmalloc
inotify
openage v0.3.0-844-g7e65549a
compiler | AppleClang 8.0.0.8000042
build type | Debug
cxxflags | -Wall -Wextra -pedantic -Wno-mismatched-tags -stdlib=libc++ -std=c++14
build type flags | -g -O0
build dir | /Users/anon/git/openage/.bin/clang++-debug-Oauto-sanitize-none
install prefix | /usr/local
py install prefix | /usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/anon/git/openage/.bin/clang++-debug-Oauto-sanitize-none
But make fails on scanning dependencies:
➜ openage git:(master) ✗ make
Scanning dependencies of target libopenage_automoc
[ 1%] Automatic moc for target libopenage
Generating moc source libopenage_automoc.dir/moc_engine_KJWSEL5MH53XEC.cpp
…
Scanning dependencies of target codegen
[ 1%] openage.codegen: generating c++ code
libopenage/gamedata/util.gen.h
…
Scanning dependencies of target libopenage
[ 2%] Building CXX object libopenage/CMakeFiles/libopenage.dir/assetmanager.cpp.o
…
[ 80%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/fslike/directory.cpp.o
/Users/anon/git/openage/libopenage/util/fslike/directory.cpp:206:9: error: use of undeclared identifier 'utimensat'
return utimensat(AT_FDCWD, path.c_str(), nullptr, 0) == 0;
^
/Users/anon/git/openage/libopenage/util/fslike/directory.cpp:220:35: error: no member named 'st_mtim' in 'stat'
return std::get<0>(stat_result).st_mtim.tv_sec;
~~~~~~~~~~~~~~~~~~~~~~~~ ^
2 errors generated.
make[3]: *** [libopenage/CMakeFiles/libopenage.dir/util/fslike/directory.cpp.o] Error 1
make[2]: *** [libopenage/CMakeFiles/libopenage.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [build] Error 2
nice, that looks like it gets pretty far and we need a mac-specific implementation of get_mtime and touch in the directory.cpp :)
Maybe you just need to change st_mtim to st_mtime?
Here's a shim for utimenstat on *BSDs:
https://github.com/mpartel/bindfs/issues/6#issuecomment-42538754
This seems to compile, for utimenstat():
directory.cpp
#ifdef __APPLE__
#include <time.h>
#include <sys/time.h>
#endif
directory.cpp
// update the timestamp
#ifdef __APPLE__
struct timespec ts[2];
clock_gettime(CLOCK_REALTIME, ts);
struct timeval tv[2];
tv[0].tv_sec = ts[0].tv_sec;
tv[0].tv_usec = ts[0].tv_nsec*1000;
tv[1].tv_sec = ts[1].tv_sec;
tv[1].tv_usec = ts[1].tv_nsec*1000;
int result = utimes(path.c_str(), tv);
#else
int result = utimensat(AT_FDCWD, path.c_str(), nullptr, 0) == 0;
#endif
return result;
utimenstat interprets nullptr as "use current time", so I used POSIX clock_gettime() to grab current time. Apparently utimes() can be used instead of utimensat(), we just needed to convert timespec into a timeval.
Fixed the st_mtim problem also. We wanted a "modified timestamp" of type struct timespec. st_mtimespec should do the trick.
// return the mtime
if (std::get<1>(stat_result) == 0) {
#ifdef __APPLE__
return std::get<0>(stat_result).st_mtimespec.tv_sec;
#else
return std::get<0>(stat_result).st_mtim.tv_sec;
#endif
}
I think that got it compiling.
➜ openage git:(master) ✗ make
[ 1%] Automatic moc for target libopenage
Scanning dependencies of target libopenage
[ 1%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/fslike/directory.cpp.o
[ 2%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/fslike/fslike.cpp.o
[ 2%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/fslike/native.cpp.o
[ 2%] Building CXX object libopenage/CMakeFiles/libopenage.dir/util/fslike/python.cpp.o
[ 3%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/unit.gen.cpp.o
[ 3%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/util.gen.cpp.o
[ 3%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/terrain.gen.cpp.o
[ 4%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/tech.gen.cpp.o
[ 4%] Building CXX object libopenage/CMakeFiles/libopenage.dir/testing/testlist.gen.cpp.o
[ 5%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/color.gen.cpp.o
[ 5%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/string_resource.gen.cpp.o
[ 5%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/texture.gen.cpp.o
[ 6%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/sound.gen.cpp.o
[ 6%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/civilisation.gen.cpp.o
[ 6%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/graphic.gen.cpp.o
[ 7%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/research.gen.cpp.o
[ 7%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/gamedata.gen.cpp.o
[ 7%] Building CXX object libopenage/CMakeFiles/libopenage.dir/gamedata/blending_mode.gen.cpp.o
[ 8%] Building CXX object libopenage/CMakeFiles/libopenage.dir/libopenage_automoc.cpp.o
[ 8%] Linking CXX shared library libopenage.dylib
Scanning dependencies of target cythonize
[ 8%] pxdgen: generating .pxd files from headers
generating libopenage/main.pxd
generating libopenage/engine.pxd
generating libopenage/cvar/cvar.pxd
generating libopenage/error/error.pxd
generating libopenage/input/input_manager.pxd
generating libopenage/log/log.pxd
generating libopenage/log/named_logsource.pxd
generating libopenage/pyinterface/exctranslate.pxd
generating libopenage/pyinterface/defs.pxd
generating libopenage/pyinterface/pyexception.pxd
generating libopenage/pyinterface/pyobject.pxd
generating libopenage/testing/testlist.pxd
generating libopenage/util/compiler.pxd
generating libopenage/util/file.pxd
generating libopenage/util/path.pxd
generating /Users/anon/git/openage/libopenage/util/filelike/__init__.py
generating libopenage/util/filelike/filelike.pxd
generating libopenage/util/filelike/python.pxd
generating /Users/anon/git/openage/libopenage/util/fslike/__init__.py
generating libopenage/util/fslike/fslike.pxd
generating libopenage/util/fslike/python.pxd
[ 9%] cythonize.py: compiling .pyx files to .cpp
Please put "# distutils: language=c++" in your .pyx or .pxd file(s)
Compiling /Users/anon/git/openage/openage/cabextract/lzxd.pyx because it depends on /usr/local/lib/python3.6/site-packages/Cython/Includes/libcpp/__init__.pxd.
Compiling /Users/anon/git/openage/openage/convert/slp.pyx because it changed.
Compiling /Users/anon/git/openage/openage/convert/interface/visgrep.pyx because it changed.
Compiling /Users/anon/git/openage/openage/cppinterface/exctranslate.pyx because it changed.
Compiling /Users/anon/git/openage/openage/cppinterface/pyobject.pyx because it changed.
Compiling /Users/anon/git/openage/openage/cvar/cvar.pyx because it changed.
Compiling /Users/anon/git/openage/openage/game/main_cpp.pyx because it changed.
Compiling /Users/anon/git/openage/openage/log/log_cpp.pyx because it changed.
Compiling /Users/anon/git/openage/openage/util/filelike/cpp.pyx because it changed.
Compiling /Users/anon/git/openage/openage/util/fslike/cpp.pyx because it changed.
Compiling /Users/anon/git/openage/openage/testing/cpp_testing.pyx because it depends on ./libopenage/testing/testlist.pxd.
Compiling /Users/anon/git/openage/openage/testing/misc_cpp.pyx because it depends on /usr/local/lib/python3.6/site-packages/Cython/Includes/libcpp/string.pxd.
[ 1/12] Cythonizing /Users/anon/git/openage/openage/convert/interface/visgrep.pyx
warning: openage/convert/interface/visgrep.pyx:109:32: Buffer unpacking not optimized away.
warning: openage/convert/interface/visgrep.pyx:109:32: Buffer unpacking not optimized away.
[ 2/12] Cythonizing /Users/anon/git/openage/openage/convert/slp.pyx
[ 3/12] Cythonizing /Users/anon/git/openage/openage/cppinterface/exctranslate.pyx
[ 4/12] Cythonizing /Users/anon/git/openage/openage/cppinterface/pyobject.pyx
[ 5/12] Cythonizing /Users/anon/git/openage/openage/cvar/cvar.pyx
[ 6/12] Cythonizing /Users/anon/git/openage/openage/game/main_cpp.pyx
[ 7/12] Cythonizing /Users/anon/git/openage/openage/log/log_cpp.pyx
[ 8/12] Cythonizing /Users/anon/git/openage/openage/util/filelike/cpp.pyx
[ 9/12] Cythonizing /Users/anon/git/openage/openage/util/fslike/cpp.pyx
[10/12] Cythonizing /Users/anon/git/openage/openage/cabextract/lzxd.pyx
[11/12] Cythonizing /Users/anon/git/openage/openage/testing/cpp_testing.pyx
[12/12] Cythonizing /Users/anon/git/openage/openage/testing/misc_cpp.pyx
Please put "# distutils: language=c++" in your .pyx or .pxd file(s)
Scanning dependencies of target openage_testing_cpp_testing
[ 9%] Building CXX object openage/testing/CMakeFiles/openage_testing_cpp_testing.dir/cpp_testing.cpp.o
[ 9%] Linking CXX shared module cpp_testing.cpython-36m-darwin.so
Scanning dependencies of target run
[ 9%] Building CXX object CMakeFiles/run.dir/run.cpp.o
[ 10%] Linking CXX executable run
Scanning dependencies of target openage_cabextract_cabchecksum
[ 10%] Building CXX object openage/cabextract/CMakeFiles/openage_cabextract_cabchecksum.dir/cabchecksum.cpp.o
[ 10%] Linking CXX shared module cabchecksum.cpython-36m-darwin.so
Scanning dependencies of target openage_cabextract_lzxd
[ 11%] Building CXX object openage/cabextract/CMakeFiles/openage_cabextract_lzxd.dir/lzxd.cpp.o
[ 11%] Linking CXX shared module lzxd.cpython-36m-darwin.so
Scanning dependencies of target openage_convert_slp
[ 11%] Building CXX object openage/convert/CMakeFiles/openage_convert_slp.dir/slp.cpp.o
In file included from /Users/anon/git/openage/openage/convert/slp.cpp:459:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning is a language extension
[-Wpedantic]
#warning "Using deprecated NumPy API, disable it by " \
^
/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning:
"Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
2 warnings generated.
[ 11%] Linking CXX shared module slp.cpython-36m-darwin.so
Scanning dependencies of target openage_convert_interface_visgrep
[ 11%] Building CXX object openage/convert/interface/CMakeFiles/openage_convert_interface_visgrep.dir/visgrep.cpp.o
In file included from /Users/anon/git/openage/openage/convert/interface/visgrep.cpp:459:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/ndarrayobject.h:18:
In file included from /usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/ndarraytypes.h:1788:
/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning is a language extension
[-Wpedantic]
#warning "Using deprecated NumPy API, disable it by " \
^
/usr/local/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning:
"Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
2 warnings generated.
[ 12%] Linking CXX shared module visgrep.cpython-36m-darwin.so
Scanning dependencies of target openage_cppinterface_exctranslate
[ 13%] Building CXX object openage/cppinterface/CMakeFiles/openage_cppinterface_exctranslate.dir/exctranslate.cpp.o
[ 13%] Linking CXX shared module exctranslate.cpython-36m-darwin.so
Scanning dependencies of target openage_cppinterface_pyobject
[ 13%] Building CXX object openage/cppinterface/CMakeFiles/openage_cppinterface_pyobject.dir/pyobject.cpp.o
[ 14%] Linking CXX shared module pyobject.cpython-36m-darwin.so
Scanning dependencies of target openage_cppinterface_exctranslate_tests
[ 15%] Building CXX object openage/cppinterface/CMakeFiles/openage_cppinterface_exctranslate_tests.dir/exctranslate_tests.cpp.o
[ 15%] Linking CXX shared module exctranslate_tests.cpython-36m-darwin.so
Scanning dependencies of target openage_cppinterface_setup_checker
[ 15%] Building CXX object openage/cppinterface/CMakeFiles/openage_cppinterface_setup_checker.dir/setup_checker.cpp.o
[ 15%] Linking CXX shared module setup_checker.cpython-36m-darwin.so
Scanning dependencies of target openage_cvar_cvar
[ 16%] Building CXX object openage/cvar/CMakeFiles/openage_cvar_cvar.dir/cvar.cpp.o
[ 16%] Linking CXX shared module cvar.cpython-36m-darwin.so
Scanning dependencies of target openage_game_main_cpp
[ 16%] Building CXX object openage/game/CMakeFiles/openage_game_main_cpp.dir/main_cpp.cpp.o
[ 17%] Linking CXX shared module main_cpp.cpython-36m-darwin.so
Scanning dependencies of target openage_log_log_cpp
[ 17%] Building CXX object openage/log/CMakeFiles/openage_log_log_cpp.dir/log_cpp.cpp.o
[ 18%] Linking CXX shared module log_cpp.cpython-36m-darwin.so
Scanning dependencies of target openage_util_filelike_cpp
[ 18%] Building CXX object openage/util/filelike/CMakeFiles/openage_util_filelike_cpp.dir/cpp.cpp.o
[ 19%] Linking CXX shared module cpp.cpython-36m-darwin.so
Scanning dependencies of target openage_util_fslike_cpp
[ 19%] Building CXX object openage/util/fslike/CMakeFiles/openage_util_fslike_cpp.dir/cpp.cpp.o
[ 19%] Linking CXX shared module cpp.cpython-36m-darwin.so
Scanning dependencies of target openage_testing_misc_cpp
[ 20%] Building CXX object openage/testing/CMakeFiles/openage_testing_misc_cpp.dir/misc_cpp.cpp.o
[ 20%] Linking CXX shared module misc_cpp.cpython-36m-darwin.so
Scanning dependencies of target inplacemodules
[ 20%] creating in-place modules
Scanning dependencies of target compilepy
[ 20%] compiling .py files to .pyc files
[ 1/33] Compiling /Users/anon/git/openage/run.py to /Users/anon/git/openage/__pycache__/run.cpython-36.pyc
[ 2/33] Compiling /Users/anon/git/openage/openage/assets.py to /Users/anon/git/openage/openage/__pycache__/assets.cpython-36.pyc
[ 3/33] Compiling /Users/anon/git/openage/openage/default_dirs.py to /Users/anon/git/openage/openage/__pycache__/default_dirs.cpython-36.pyc
[ 4/33] Compiling /Users/anon/git/openage/openage/cabextract/__init__.py to /Users/anon/git/openage/openage/cabextract/__pycache__/__init__.cpython-36.pyc
[ 5/33] Compiling /Users/anon/git/openage/openage/cabextract/cab.py to /Users/anon/git/openage/openage/cabextract/__pycache__/cab.cpython-36.pyc
[ 6/33] Compiling /Users/anon/git/openage/openage/cabextract/lzxdstream.py to /Users/anon/git/openage/openage/cabextract/__pycache__/lzxdstream.cpython-36.pyc
[ 7/33] Compiling /Users/anon/git/openage/openage/cabextract/test.py to /Users/anon/git/openage/openage/cabextract/__pycache__/test.cpython-36.pyc
[ 8/33] Compiling /Users/anon/git/openage/openage/convert/driver.py to /Users/anon/git/openage/openage/convert/__pycache__/driver.cpython-36.pyc
[ 9/33] Compiling /Users/anon/git/openage/openage/convert/fix_data.py to /Users/anon/git/openage/openage/convert/__pycache__/fix_data.cpython-36.pyc
[10/33] Compiling /Users/anon/git/openage/openage/convert/hdlanguagefile.py to /Users/anon/git/openage/openage/convert/__pycache__/hdlanguagefile.cpython-36.pyc
[11/33] Compiling /Users/anon/git/openage/openage/convert/pefile.py to /Users/anon/git/openage/openage/convert/__pycache__/pefile.cpython-36.pyc
[12/33] Compiling /Users/anon/git/openage/openage/convert/peresource.py to /Users/anon/git/openage/openage/convert/__pycache__/peresource.cpython-36.pyc
[13/33] Compiling /Users/anon/git/openage/openage/convert/slp_converter_pool.py to /Users/anon/git/openage/openage/convert/__pycache__/slp_converter_pool.cpython-36.pyc
[14/33] Compiling /Users/anon/git/openage/openage/convert/hardcoded/langcodes.py to /Users/anon/git/openage/openage/convert/hardcoded/__pycache__/langcodes.cpython-36.pyc
[15/33] Compiling /Users/anon/git/openage/openage/convert/hardcoded/langcodes_hd.py to /Users/anon/git/openage/openage/convert/hardcoded/__pycache__/langcodes_hd.cpython-36.pyc
[16/33] Compiling /Users/anon/git/openage/openage/convert/hardcoded/termcolors.py to /Users/anon/git/openage/openage/convert/hardcoded/__pycache__/termcolors.cpython-36.pyc
[17/33] Compiling /Users/anon/git/openage/openage/convert/interface/__init__.py to /Users/anon/git/openage/openage/convert/interface/__pycache__/__init__.cpython-36.pyc
[18/33] Compiling /Users/anon/git/openage/openage/convert/interface/cutter.py to /Users/anon/git/openage/openage/convert/interface/__pycache__/cutter.cpython-36.pyc
[19/33] Compiling /Users/anon/git/openage/openage/convert/interface/hardcoded.py to /Users/anon/git/openage/openage/convert/interface/__pycache__/hardcoded.cpython-36.pyc
[20/33] Compiling /Users/anon/git/openage/openage/convert/interface/rename.py to /Users/anon/git/openage/openage/convert/interface/__pycache__/rename.cpython-36.pyc
[21/33] Compiling /Users/anon/git/openage/openage/cppinterface/__init__.py to /Users/anon/git/openage/openage/cppinterface/__pycache__/__init__.cpython-36.pyc
[22/33] Compiling /Users/anon/git/openage/openage/cppinterface/setup.py to /Users/anon/git/openage/openage/cppinterface/__pycache__/setup.cpython-36.pyc
[23/33] Compiling /Users/anon/git/openage/openage/cvar/__init__.py to /Users/anon/git/openage/openage/cvar/__pycache__/__init__.cpython-36.pyc
[24/33] Compiling /Users/anon/git/openage/openage/cvar/config_file.py to /Users/anon/git/openage/openage/cvar/__pycache__/config_file.cpython-36.pyc
[25/33] Compiling /Users/anon/git/openage/openage/cvar/location.py to /Users/anon/git/openage/openage/cvar/__pycache__/location.cpython-36.pyc
[26/33] Compiling /Users/anon/git/openage/openage/log/tests.py to /Users/anon/git/openage/openage/log/__pycache__/tests.cpython-36.pyc
[27/33] Compiling /Users/anon/git/openage/openage/util/decorators.py to /Users/anon/git/openage/openage/util/__pycache__/decorators.cpython-36.pyc
[28/33] Compiling /Users/anon/git/openage/openage/util/fsprinting.py to /Users/anon/git/openage/openage/util/__pycache__/fsprinting.cpython-36.pyc
[29/33] Compiling /Users/anon/git/openage/openage/util/system.py to /Users/anon/git/openage/openage/util/__pycache__/system.cpython-36.pyc
[30/33] Compiling /Users/anon/git/openage/openage/util/threading.py to /Users/anon/git/openage/openage/util/__pycache__/threading.cpython-36.pyc
[31/33] Compiling /Users/anon/git/openage/openage/util/fslike/test.py to /Users/anon/git/openage/openage/util/fslike/__pycache__/test.cpython-36.pyc
[32/33] Compiling /Users/anon/git/openage/openage/util/fslike/union.py to /Users/anon/git/openage/openage/util/fslike/__pycache__/union.cpython-36.pyc
[33/33] Compiling /Users/anon/git/openage/openage/testing/doctest.py to /Users/anon/git/openage/openage/testing/__pycache__/doctest.cpython-36.pyc
Scanning dependencies of target pxdgen
pull req pl0x
Most helpful comment
@TheJJ thanks for the info.
Glad to be your QA pal :D