ptitseb / ctp2 Goto Github PK
View Code? Open in Web Editor NEWCiv: CTP2 (Call to Power 2) port to Linux, Pandora and Pyra. Status: Working
Civ: CTP2 (Call to Power 2) port to Linux, Pandora and Pyra. Status: Working
Hi Ptit, I found this issue on compiling:
FeatRecord.cpp:23:10: error fatal: BuildingRecord.h: No existe el fichero o el directorio
#include "BuildingRecord.h"
I've searched and there is no BuildingRecord.h on ctp2/ctp2_code/gs/newdb
Great work. Dont have much time to play yet, but everthig compile end run great.
Only chenging screen resolution seem to be broken.
Hi @ptitSeb,
Cool to see some work done on a linux port. I had worked on the svn linux branch some years ago and had that ported to git by github's svn import: https://github.com/LynxAbraxas/ctp2
It seems you did port to git somehow differently such that only the very first commit is the same in both repos. Furthermore your port somehow "flattened" the history of various branches all into one, where e.g. those from the original linux branch are empty commits (i.e. the changes to files got lost), compare e.g. these same commit messages, dates:
03a905a (0 changed files)
and
https://github.com/LynxAbraxas/ctp2/commit/29994a179e080b5a244411c2294d4b47a7a1b3bd (198 changed files)
So it seems you basically did a new port to linux, missing the changes already done on the original linux branch, which could e.g. be the reason for the missing resolutions (#1).
There have been quite a few tries to merge the original master and the linux branches ( https://github.com/LynxAbraxas/ctp2/branches), the latest was port-trunk. I once considered merging with git-imerge, but so far had not the time to try. I think a clean way of getting the old stuff and your new contributions together would be to do a merge (with e.g. git-imerge) of the original master and linux branch and then rebase your new commits on top of that. It seems imerge could even handle merging your current master with the original linux branch, but the resulting history would be very screwed then due to the different commit SHAs for the same commit content.
What do you think? Would you want to give it a try?
PS: There is one other github repos for ctp2 (https://github.com/talentlesshack/C2P2) which was also imported differently and lacks all branches except master but seems to have some more commits in common than only the very first, not sure how that git port was done.
Using Ubuntu 18.04 build fails with follows:
/usr/bin/x86_64-linux-gnu-ld: os/nowin32/.libs/libosnowin32.a(nowin32.o): undefined reference to symbol 'g_type_check_instance_cast'
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libgobject-2.0.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:2756: recipe for target 'ctp2' failed
make[2]: *** [ctp2] Error 1
make[2]: Leaving directory '../ctp2-master/ctp2_code'
Makefile:3333: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '../ctp2-master/ctp2_code'
GNUmakefile:467: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
that can be fixed by adding $(GTK_LIBS) to line:
libosnowin32.la:
in ctp2_code/os/nowin32/Makefile
performing make clean && make we ended up with:
gfx/gfx_utils/.libs/libgfxgfx_utils.a(tiffutils.o): In function tiffutils_LoadTIF': ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:41: undefined reference to
TIFFOpen'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:45: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:46: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:49: undefined reference to _TIFFmalloc' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:52: undefined reference to
TIFFReadRGBAImage'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:56: undefined reference to _TIFFfree' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:57: undefined reference to
TIFFClose'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:64: undefined reference to _TIFFfree' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:65: undefined reference to
TIFFClose'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:73: undefined reference to TIFFClose' gfx/gfx_utils/.libs/libgfxgfx_utils.a(tiffutils.o): In function
TIF2mem':
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:87: undefined reference to TIFFOpen' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:90: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:91: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:97: undefined reference to
TIFFClose'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:104: undefined reference to _TIFFmalloc' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:107: undefined reference to
TIFFReadRGBAImage'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:117: undefined reference to _TIFFfree' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:120: undefined reference to
TIFFClose'
gfx/gfx_utils/.libs/libgfxgfx_utils.a(tiffutils.o): In function TIFGetMetrics': ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:135: undefined reference to
TIFFOpen'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:142: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:143: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:145: undefined reference to TIFFClose' gfx/gfx_utils/.libs/libgfxgfx_utils.a(tiffutils.o): In function
TIFLoadIntoBuffer16':
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:159: undefined reference to TIFFOpen' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:163: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:164: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:168: undefined reference to
_TIFFmalloc'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:172: undefined reference to TIFFReadRGBAImage' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:216: undefined reference to
_TIFFfree'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:219: undefined reference to TIFFClose' gfx/gfx_utils/.libs/libgfxgfx_utils.a(tiffutils.o): In function
StripTIF2Mem':
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:235: undefined reference to TIFFOpen' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:249: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:250: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:251: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:252: undefined reference to TIFFGetField' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:253: undefined reference to
TIFFGetField'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:255: undefined reference to TIFFScanlineSize' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:256: undefined reference to
TIFFStripSize'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:266: undefined reference to TIFFComputeStrip' ../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:266: undefined reference to
TIFFReadEncodedStrip'
../ctp2-master/ctp2_code/gfx/gfx_utils/tiffutils.cpp:282: undefined reference to TIFFClose' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::InitSoundDriver()':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:168: undefined reference to Mix_OpenAudio' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::CleanupSoundDriver()':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:202: undefined reference to Mix_CloseAudio' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::CleanupRedbook()':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:272: undefined reference to Mix_FreeMusic' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::ProcessRedbook()':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:298: undefined reference to Mix_PlayingMusic' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::Process(unsigned int const&, unsigned int&)':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:375: undefined reference to Mix_Playing' ../ctp2-master/ctp2_code/sound/soundmanager.cpp:400: undefined reference to
Mix_Playing'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::AddSound(SOUNDTYPE const&, unsigned int const&, int const&, int, int)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:492: undefined reference to
Mix_PlayChannelTimed'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::AddLoopingSound(SOUNDTYPE const&, unsigned int const&, int const&, int, int)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:538: undefined reference to
Mix_PlayChannelTimed'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::TerminateLoopingSound(SOUNDTYPE const&, unsigned int const&)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:559: undefined reference to
Mix_HaltChannel'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::TerminateAllLoopingSounds(SOUNDTYPE const&)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:589: undefined reference to
Mix_HaltChannel'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::TerminateSounds(SOUNDTYPE const&)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:622: undefined reference to
Mix_HaltChannel'
sound/.libs/libsound.a(soundmanager.o): In function SoundManager::SetVolume(SOUNDTYPE const&, unsigned int const&)': ../ctp2-master/ctp2_code/sound/soundmanager.cpp:678: undefined reference to
Mix_VolumeMusic'
../ctp2-master/ctp2_code/sound/soundmanager.cpp:680: undefined reference to Mix_VolumeMusic' sound/.libs/libsound.a(soundmanager.o): In function
SoundManager::StartMusic(int const&)':
../ctp2-master/ctp2_code/sound/soundmanager.cpp:932: undefined reference to Mix_FreeMusic' ../ctp2-master/ctp2_code/sound/soundmanager.cpp:935: undefined reference to
Mix_LoadMUS'
../ctp2-master/ctp2_code/sound/soundmanager.cpp:937: undefined reference to Mix_PlayMusic' sound/.libs/libsound.a(civsound.o): In function
CivSound::CivSound(unsigned int const&, int const&)':
../ctp2-master/ctp2_code/sound/civsound.cpp:90: undefined reference to Mix_LoadWAV_RW' sound/.libs/libsound.a(civsound.o): In function
CivSound::~CivSound()':
../ctp2-master/ctp2_code/sound/civsound.cpp:103: undefined reference to Mix_FreeChunk' sound/.libs/libsound.a(civsound.o): In function
CivSound::SetVolume(int const&)':
../ctp2-master/ctp2_code/sound/civsound.cpp:205: undefined reference to Mix_VolumeChunk' ../ctp2-master/ctp2_code/sound/civsound.cpp:207: undefined reference to
Mix_VolumeChunk'
collect2: error: ld returned 1 exit status
Makefile:2756: recipe for target 'ctp2' failed
make[2]: *** [ctp2] Error 1
make[2]: Leaving directory '../ctp2-master/ctp2_code'
Makefile:3333: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '../ctp2-master/ctp2_code'
GNUmakefile:467: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Look's like the build system is broken.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.