New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for docker builds on master branch #15
Conversation
ef38515
to
a05c01d
Compare
Thanks for looking into docker builds with travis. I think that you can use my DF as is for travis; docker on your system might be a bit out of date, see also my comments on |
Yes, you are exactly right! It was outdated. After updating, |
Sounds like a good idea, but I have two concerns:
|
a05c01d
to
2f24509
Compare
This commit adds Dockerfile and docker_build.sh script for building ctp2 inside docker container.
2f24509
to
bf01e6c
Compare
travis-ci check for docker build is currently failing. Created issue to track/investigate it: #21 |
…tes (sender civ == receiver civ)", causes "No such object": This reverts commit fe3b57c. Messagebox(GameObj.cpp Error): No such object Continue? (ctp2:385): Gtk-CRITICAL **: 18:45:55.493: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.495: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.496: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.498: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.506: IA__gtk_main_quit: assertion 'main_loops != NULL' failed Thread 1 "ctp2" received signal SIGSEGV, Segmentation fault. 0x00005555557902ba in UnitData::GetOwner() const () (gdb) bt #0 0x00005555557902ba in UnitData::GetOwner() const () civctp2#1 0x00005555560917d4 in Unit::GetOwner() const () civctp2#2 0x000055555608c8b0 in TradeRoute::RemoveAllReferences(CAUSE_KILL_TRADE_ROUTE) () civctp2#3 0x000055555608c658 in TradeRoute::KillRoute(CAUSE_KILL_TRADE_ROUTE) () civctp2#4 0x000055555578fe8e in TradeRoute::Kill(CAUSE_KILL_TRADE_ROUTE) () civctp2#5 0x000055555600931e in CityData::~CityData() () civctp2#6 0x0000555556009504 in CityData::~CityData() () civctp2#7 0x00005555560985b8 in UnitData::~UnitData() () civctp2#8 0x000055555609869c in UnitData::~UnitData() () civctp2#9 0x0000555556043a05 in GameObj_Delete(GameObj**, unsigned int) () civctp2#10 0x0000555556052891 in ObjPool::Del(ID const&) () civctp2#11 0x00005555560912ee in Unit::RemoveAllReferences(CAUSE_REMOVE_ARMY, int) () civctp2#12 0x0000555556090ae2 in Unit::KillUnit(CAUSE_REMOVE_ARMY, int) () civctp2#13 0x00005555558bcfd4 in Unit::Kill(CAUSE_REMOVE_ARMY, int) () civctp2#14 0x00005555560179fc in CityData::CityToPark(int) () civctp2#15 0x00005555560a0dd2 in UnitData::CityToPark(int) () civctp2#16 0x000055555609446f in Unit::CityToPark(int) () civctp2#17 0x00005555560c6171 in CreateParkEvent::GEVHookCallback(GAME_EVENT, GameEventArgList*) () civctp2#18 0x0000555555fc0500 in GameEventHook::Activate(GameEventArgList*, int, int&) const () civctp2#19 0x0000555555fbd9c4 in GameEventManager::ActivateHook(GAME_EVENT, GameEventArgList*, int, int&) () civctp2#20 0x0000555555fbff27 in GameEvent::Process() () civctp2#21 0x0000555555fbd6b4 in GameEventManager::ProcessHead() () civctp2#22 0x0000555555fbd5e3 in GameEventManager::Process() () civctp2#23 0x0000555555780f4b in CivApp::Process() () civctp2#24 0x0000555555776cec in CivMain(int, char**) () civctp2#25 0x0000555555776889 in main () # Please enter the commit message for your changes. Lines starting # with '#' will be kept; you may remove them yourself if you want to. # An empty message aborts the commit. # # Date: Sat Dec 28 19:51:22 2019 +0100 # # On branch master4testing # Your branch is ahead of 'origin/master4testing' by 1 commit. # (use "git push" to publish your local commits) # # Changes to be committed: # modified: ctp2_code/gs/gameobj/TradeRoute.cpp #
…tes (sender civ == receiver civ)", causes "No such object": This reverts commit fe3b57c. Messagebox(GameObj.cpp Error): No such object Continue? (ctp2:385): Gtk-CRITICAL **: 18:45:55.493: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.495: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.496: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.498: IA__gtk_main_quit: assertion 'main_loops != NULL' failed (ctp2:385): Gtk-CRITICAL **: 18:45:55.506: IA__gtk_main_quit: assertion 'main_loops != NULL' failed Thread 1 "ctp2" received signal SIGSEGV, Segmentation fault. 0x00005555557902ba in UnitData::GetOwner() const () (gdb) bt #0 0x00005555557902ba in UnitData::GetOwner() const () civctp2#1 0x00005555560917d4 in Unit::GetOwner() const () civctp2#2 0x000055555608c8b0 in TradeRoute::RemoveAllReferences(CAUSE_KILL_TRADE_ROUTE) () civctp2#3 0x000055555608c658 in TradeRoute::KillRoute(CAUSE_KILL_TRADE_ROUTE) () civctp2#4 0x000055555578fe8e in TradeRoute::Kill(CAUSE_KILL_TRADE_ROUTE) () civctp2#5 0x000055555600931e in CityData::~CityData() () civctp2#6 0x0000555556009504 in CityData::~CityData() () civctp2#7 0x00005555560985b8 in UnitData::~UnitData() () civctp2#8 0x000055555609869c in UnitData::~UnitData() () civctp2#9 0x0000555556043a05 in GameObj_Delete(GameObj**, unsigned int) () civctp2#10 0x0000555556052891 in ObjPool::Del(ID const&) () civctp2#11 0x00005555560912ee in Unit::RemoveAllReferences(CAUSE_REMOVE_ARMY, int) () civctp2#12 0x0000555556090ae2 in Unit::KillUnit(CAUSE_REMOVE_ARMY, int) () civctp2#13 0x00005555558bcfd4 in Unit::Kill(CAUSE_REMOVE_ARMY, int) () civctp2#14 0x00005555560179fc in CityData::CityToPark(int) () civctp2#15 0x00005555560a0dd2 in UnitData::CityToPark(int) () civctp2#16 0x000055555609446f in Unit::CityToPark(int) () civctp2#17 0x00005555560c6171 in CreateParkEvent::GEVHookCallback(GAME_EVENT, GameEventArgList*) () civctp2#18 0x0000555555fc0500 in GameEventHook::Activate(GameEventArgList*, int, int&) const () civctp2#19 0x0000555555fbd9c4 in GameEventManager::ActivateHook(GAME_EVENT, GameEventArgList*, int, int&) () civctp2#20 0x0000555555fbff27 in GameEvent::Process() () civctp2#21 0x0000555555fbd6b4 in GameEventManager::ProcessHead() () civctp2#22 0x0000555555fbd5e3 in GameEventManager::Process() () civctp2#23 0x0000555555780f4b in CivApp::Process() () civctp2#24 0x0000555555776cec in CivMain(int, char**) () civctp2#25 0x0000555555776889 in main ()
…ct": This reverts commit 81ae687. Thread 1 "ctp2" hit Catchpoint 1 (signal SIGSEGV), 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296 296 PLAYER_INDEX GetOwner () const { return m_owner; }; #0 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296 civctp2#1 0x000055555609176a in Unit::GetOwner (this=0x7fffffffe254) at Unit.cpp:397 civctp2#2 0x000055555608c847 in TradeRoute::RemoveAllReferences (this=0x7fffffffe2b4, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:70 civctp2#3 0x000055555608c5c8 in TradeRoute::KillRoute (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:35 civctp2#4 0x000055555578fe0a in TradeRoute::Kill (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at ../ctp2_code/gs/gameobj/TradeRoute.h:51 civctp2#5 0x000055555600928e in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:582 civctp2#6 0x0000555556009474 in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:605 civctp2#7 0x000055555609854e in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:384 civctp2#8 0x0000555556098632 in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:389 civctp2#9 0x0000555556043975 in GameObj_Delete (p=0x55555f74099c, id=268435500) at GameObj.cpp:190 civctp2#10 0x0000555556052801 in ObjPool::Del (this=0x55555f74082c, id=...) at ObjPool.cpp:106 civctp2#11 0x0000555556091284 in Unit::RemoveAllReferences (this=0x7fffffffe474, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:293 civctp2#12 0x0000555556090a78 in Unit::KillUnit (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:126 civctp2#13 0x00005555558bcf50 in Unit::Kill (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at ../ctp2_code/gs/gameobj/Unit.h:108 civctp2#14 0x000055555601796c in CityData::CityToPark (this=0x55555f9935ac, agressor=1) at CityData.cpp:5981 civctp2#15 0x00005555560a0d68 in UnitData::CityToPark (this=0x55555f99327c, agressor=1) at UnitData.cpp:3191 civctp2#16 0x0000555556094405 in Unit::CityToPark (this=0x7fffffffe5a0, agressor=1) at Unit.cpp:1522 civctp2#17 0x00005555560c6107 in CreateParkEvent::GEVHookCallback (this=0x55555674d980 <s_CreateParkEvent>, gameEventType=GEV_CreatePark, args=0x555582a0543c) at CityEvent.cpp:662 civctp2#18 0x0000555555fc0470 in GameEventHook::Activate (this=0x55555ef016cc, args=0x555582a0543c, startIndex=0, resumeIndex=@0x555582a062bc: 1) at GameEventHook.cpp:254 civctp2#19 0x0000555555fbd934 in GameEventManager::ActivateHook (this=0x55555eee50ac, type=GEV_CreatePark, args=0x555582a0543c, startIndex=-1, resumeIndex=@0x555582a062bc: 1) at GameEventManager.cpp:511 civctp2#20 0x0000555555fbfe97 in GameEvent::Process (this=0x555582a062ac) at GameEvent.cpp:112 civctp2#21 0x0000555555fbd624 in GameEventManager::ProcessHead (this=0x55555eee50ac) at GameEventManager.cpp:440 civctp2#22 0x0000555555fbd553 in GameEventManager::Process (this=0x55555eee50ac) at GameEventManager.cpp:415 civctp2#23 0x0000555555780ec7 in CivApp::Process (this=0x555556caec9c) at ctp/civapp.cpp:2563 civctp2#24 0x0000555555776c68 in CivMain (iCmdShow=2, pSzCmdLine=0x7fffffffecb8) at ctp/civ3_main.cpp:1694 civctp2#25 0x0000555555776805 in main (argc=2, argv=0x7fffffffecb8) at ctp/civ3_main.cpp:1440
…ct": This reverts commit 81ae687. Thread 1 "ctp2" hit Catchpoint 1 (signal SIGSEGV), 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296 296 PLAYER_INDEX GetOwner () const { return m_owner; }; #0 0x0000555555790236 in UnitData::GetOwner (this=0x0) at ../ctp2_code/gs/gameobj/UnitData.h:296 civctp2#1 0x000055555609176a in Unit::GetOwner (this=0x7fffffffe254) at Unit.cpp:397 civctp2#2 0x000055555608c847 in TradeRoute::RemoveAllReferences (this=0x7fffffffe2b4, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:70 civctp2#3 0x000055555608c5c8 in TradeRoute::KillRoute (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at TradeRoute.cpp:35 civctp2#4 0x000055555578fe0a in TradeRoute::Kill (this=0x55555f993d5c, cause=CAUSE_KILL_TRADE_ROUTE_CITY_DIED) at ../ctp2_code/gs/gameobj/TradeRoute.h:51 civctp2#5 0x000055555600928e in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:582 civctp2#6 0x0000555556009474 in CityData::~CityData (this=0x55555f9935ac, __in_chrg=<optimized out>) at CityData.cpp:605 civctp2#7 0x000055555609854e in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:384 civctp2#8 0x0000555556098632 in UnitData::~UnitData (this=0x55555f99327c, __in_chrg=<optimized out>) at UnitData.cpp:389 civctp2#9 0x0000555556043975 in GameObj_Delete (p=0x55555f74099c, id=268435500) at GameObj.cpp:190 civctp2#10 0x0000555556052801 in ObjPool::Del (this=0x55555f74082c, id=...) at ObjPool.cpp:106 civctp2#11 0x0000555556091284 in Unit::RemoveAllReferences (this=0x7fffffffe474, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:293 civctp2#12 0x0000555556090a78 in Unit::KillUnit (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at Unit.cpp:126 civctp2#13 0x00005555558bcf50 in Unit::Kill (this=0x55555f9936b0, cause=CAUSE_REMOVE_ARMY_PARKRANGER, killedBy=1) at ../ctp2_code/gs/gameobj/Unit.h:108 civctp2#14 0x000055555601796c in CityData::CityToPark (this=0x55555f9935ac, agressor=1) at CityData.cpp:5981 civctp2#15 0x00005555560a0d68 in UnitData::CityToPark (this=0x55555f99327c, agressor=1) at UnitData.cpp:3191 civctp2#16 0x0000555556094405 in Unit::CityToPark (this=0x7fffffffe5a0, agressor=1) at Unit.cpp:1522 civctp2#17 0x00005555560c6107 in CreateParkEvent::GEVHookCallback (this=0x55555674d980 <s_CreateParkEvent>, gameEventType=GEV_CreatePark, args=0x555582a0543c) at CityEvent.cpp:662 civctp2#18 0x0000555555fc0470 in GameEventHook::Activate (this=0x55555ef016cc, args=0x555582a0543c, startIndex=0, resumeIndex=@0x555582a062bc: 1) at GameEventHook.cpp:254 civctp2#19 0x0000555555fbd934 in GameEventManager::ActivateHook (this=0x55555eee50ac, type=GEV_CreatePark, args=0x555582a0543c, startIndex=-1, resumeIndex=@0x555582a062bc: 1) at GameEventManager.cpp:511 civctp2#20 0x0000555555fbfe97 in GameEvent::Process (this=0x555582a062ac) at GameEvent.cpp:112 civctp2#21 0x0000555555fbd624 in GameEventManager::ProcessHead (this=0x55555eee50ac) at GameEventManager.cpp:440 civctp2#22 0x0000555555fbd553 in GameEventManager::Process (this=0x55555eee50ac) at GameEventManager.cpp:415 civctp2#23 0x0000555555780ec7 in CivApp::Process (this=0x555556caec9c) at ctp/civapp.cpp:2563 civctp2#24 0x0000555555776c68 in CivMain (iCmdShow=2, pSzCmdLine=0x7fffffffecb8) at ctp/civ3_main.cpp:1694 civctp2#25 0x0000555555776805 in main (argc=2, argv=0x7fffffffecb8) at ctp/civ3_main.cpp:1440
This is based on @LynxAbraxas 's PR #13
with few adjustments that makes it work on my system.
This is only build stage for now, since running requires external data files (original CD data).