Closed GoogleCodeExporter closed 9 years ago
I'm getting the same problem on Fedora 16 (i686). Compiles fine after
installing SDL dev dependencies. But then 'Could not read header'.
Also; There is an error when checking out, saying that 'freerct-read-only'
isn't a valid path (giving me an empty freerct-read-only folder). So only the
trunk gets checked out. I suppose the freerct-read-only tag would be more
likely to build?
"svn: 'freerct-read-only' does not appear to be a URL"
Original comment by per.fred...@gmail.com
on 14 May 2012 at 5:19
Might help a little bit:
$ grep -n "Loading language failed:" src/*.cpp
src/language.cpp:129: fprintf(stderr, "Loading language failed: '%s'\n", msg);
$ grep -n "Could not read header" src/*.cpp
src/language.cpp:46: if (!rcd_file.CheckFileHeader("RCDS", 1)) return "Could
not read header";
src/sprite_store.cpp:1047: if (!rcd_file.CheckFileHeader("RCDF", 1)) return
"Could not read header";
Original comment by per.fred...@gmail.com
on 14 May 2012 at 5:31
I looked into it for a bit:
The file "../rcd/english.lang" is missing. I tried to build rcd but it needs a
few dependencies. So:
First, python imaging library. I got it here
http://www.pythonware.com/products/pil/. Second, to build it, python dev
package (complains about Python.h) is needed, python-devel on Fedora/yum.
When PIL is built. I compiled rcd (I don't think I did anything more). Worked.
But freerct still gives the same error.
I can guess that I need to run rcd in order to generate language files? Which
file to run? With what argument?
Original comment by per.fred...@gmail.com
on 14 May 2012 at 6:16
I guess the build procedure needs to be easier to find.
I'll do this quickly now, and make a more useful description later.
@1: "freerct-read-only" is invented by Google. It's not part of the http path,
but a new argument, namely the target directory (there is a space between the
last / and freerct-read-only). So yeah, checkout trunk to whatever directory
you like :p
@2: Most build details are in the Makefile. Running "make lang" should do the
trick (in the 'src' directory). I agree error detection is less than optimal,
but that holds for pretty much anything at the moment.
@3: Similarly, "make rcd" should work. You can download PIL also from yum (the
python-imaging package). rcd files and languages files are independent from
each other. Unfortunately, you'll need Python 2.7 due to an unfortunate choice
I made in an option processing module (Python 2.7 is also available at fedora
16, don't know about ubuntu).
You'll also need to create a freerct.cfg file, an INI file containing a path to
a .ttf file (which is used for text). If you run the program it will print a
suggestion (after loading the various files), which works for me at my fedora
16 system.
I hope you can get it running, although there is not much to do other than some
terraforming with the mouse wheel, and laying paths (which I am quite sure
contains several flaws, but I aim for a more complete program rather than a
perfect path-builder at this time.
Original comment by Alberth2...@gmail.com
on 15 May 2012 at 3:19
I managed to get it to run after running 'make lang' and setting up a cfg file.
Original comment by christie...@gmail.com
on 15 May 2012 at 8:09
I can't find any directory where 'make lang' works as a command. What kind of
cfg file did you create?
Original comment by per.fred...@gmail.com
on 15 May 2012 at 2:06
Run 'make lang' in the /src directory. The config file is to do with fonts and
contains something like this:
[font]
medium-size = 12
medium-path = /usr/share/fonts/truetype/freefont/FreeSans.ttf
make sure it is a font that exists on your system though.
Original comment by christie...@gmail.com
on 15 May 2012 at 3:25
But I don't understand the cfg file. How did you figure out that you needed it?
Where should it be? Name? Is there some standard for cfg files?
Original comment by per.fred...@gmail.com
on 15 May 2012 at 8:09
Uhm, some of my message seems to have disappeared. Well, anyway, sorry. I'm not
accustomed to cfg files and how to set it up. Is there a standard? There
doesn't seem to be any cfg file in the repo by default.
Original comment by per.fred...@gmail.com
on 15 May 2012 at 8:26
I only found out about it after I had done 'make lang'. When I ran freerct
after that it told me I needed a cfg file and what should go in it.
Original comment by christie...@gmail.com
on 15 May 2012 at 9:34
The file should be called freerct.cfg and you should put it in the src directory
Original comment by christie...@gmail.com
on 15 May 2012 at 9:35
Oh, I see. Thanks!
Now I get a segmentation fault. :)
Anyone interested in a core dump? Not sure what to do with it myself. Perhaps
about time I learn that stuff though.. I may or may not look into it later.
Original comment by per.fred...@gmail.com
on 15 May 2012 at 11:03
The path in the cfg file exists (that is, it points to an existing ttf file,
with ASCII characters in the font-size you set?)
I added a BuildProgram wiki page (it's in the left bar at the home page too)
that explains the build process at a Linux system.
as for core dumps:
$ gdb ./freerct
core <name of core-file>
bt
should give you a stack dump of what the program was doing at the time of the
crash.
Original comment by Alberth2...@gmail.com
on 16 May 2012 at 4:55
Closing this issue now; problems seems to have been resolved mostly.
Until binary builds are made and released, I guess this will stay a bumpy ride,
since development will inevitably cause changes in the build process.
To make it less bumpy, in r364 I modified the Makefile to build and check for
all files (including language files, RCD files, and the freerct.cfg. That
should help somewhat in early detection of problems.
Original comment by Alberth2...@gmail.com
on 2 Jun 2012 at 9:35
Original comment by CharlesP...@googlemail.com
on 6 Aug 2013 at 3:09
Original issue reported on code.google.com by
christie...@gmail.com
on 13 May 2012 at 3:47