Compiling OpenTTD for Raspberry Pi: help please

Forum for technical discussions regarding development. If you have a general suggestion, problem or comment, please use one of the other forums.

Moderator: OpenTTD Developers

Post Reply
HermitTurtle
Engineer
Engineer
Posts: 3
Joined: 08 Oct 2014 00:40

Compiling OpenTTD for Raspberry Pi: help please

Post by HermitTurtle »

This is my first post to these forums so let's start off with a 'Hello world!'

Before getting in to the issue let me say I'm very new to linux. I ran a Mandrake webserver from my home some 15 years ago, and got along ok,
but haven't touched it since. That is until I picked up the Raspberry Pi, which was yesterday! So please, when explaining something, assume very
little beyond reading comprehension.

My setup
Raspberry Pi model B+
Raspbian / Wheezy
GCC 4.6

What I'm doing
I want to run the OpenTTD dedicated server on a Raspberry Pi.
I downloaded the source and combined the information from several tutorials (mainly: this one and this one) to compile it.
I installed a bunch of libraries, one of them manually cause the Raspbian repository didn't have an up to date version.
I've gotten to the point where I have what seems like a working binary but the compiler is still giving me some error messages.

The problem

When compiling the OpenTTD source I'm getting several errors:

Code: Select all

[SRC] Compiling cpu.cpp
/home/openttd-workspace/openttd-1.4.3/src/cpu.cpp:74:2: warning: #warning "(non-fatal) No support for rdtsc(), you won't be able to profile with TIC/TOC" [-Wcpp]
I think this is because the Pi doesn't have a RealTimeClock. It says 'non-fatal', should I worry? If so, how can I fix it?


Code: Select all

[SRC] Compiling misc/dbg_helpers.cpp
In file included from /home/openttd-workspace/openttd-1.4.3/src/misc/str.hpp:17:0,
                 from /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.h:18,
                 from /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:14:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In destructor ‘CStrA::~CStrA()’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
This is followed by about a page's worth of error messages just like it. I'll post the full compilation-output below. I tracked this issue down on google all the way in to the code and found the following comment:
00138 /* In case GCC warns about the following, see GCC's PR38509 why it is bogus. */
00139 free(p);
I'm not sure what that means. So again the question: should I worry? If so, how can I fix it?



I think those are all the problems I've run in to. In the end the compilation process did complete and produced what seems to be a working binairy.
But common sense dictates compilation errors can't be good, and hence I am here.

Thanks in advance for any help!



Configuration and compilation output:

Code: Select all

pi@pi-openttd /home/openttd-workspace/openttd-1.4.3 $ sudo ./configure --enable-dedicated
checking awk... awk
detecting OS... UNIX
checking build system type... arm-linux-gnueabihf
checking host system type... arm-linux-gnueabihf
checking universal build... no
checking build cc... gcc
checking host cc... gcc
checking build c++... g++
checking host c++... g++
checking host strip... strip
checking builtin depend... yes
checking makedepend... disabled
detecting cpu-type... 32 bits
detecting SSE... not found
checking static... no
checking unicode... no
using debug level... no
using desync debug level... no
using link time optimization... no
checking OSX sysroot... not OSX, skipping
checking Allegro... dedicated server, skipping
checking SDL... dedicated server, skipping
checking COCOA... dedicated server, skipping
checking GDI video driver... dedicated server, skipping
checking dedicated... found
checking console application... not Windows, skipping
checking network... found
checking squirrel... found
checking translator... no
checking assert... disabled
checking zlib... found
checking liblzma... found
checking lzo2... found
checking libxdg-basedir... found
checking libpng... found
checking libfreetype... dedicated server, skipping
checking libfontconfig... dedicated server, skipping
checking libicu... dedicated server, skipping
checking psp-config... not PSP, skipping
checking libtimidity... not found
checking direct-music... not Windows, skipping
checking sort... sort
checking endianess... AUTO
suppress language errors... no
checking stripping... strip -s
checking distcc... no (only used when forced)
checking ccache... no (only used when forced)
checking grfcodec... not found
checking nforenum... not found
checking OSX application bundle... not OSX, skipping
checking revision... source tarball
checking iconv... not OSX, skipping
personal home directory... .openttd
shared data directory... none
installation directory... /
icon theme directory... share/icons/hicolor
manual page directory... share/man/man6
menu item directory... share/applications
using CFLAGS_BUILD...  -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wno-unused-parameter -Wredundant-decls -Wformat=2 -Wformat-security -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wnon-virtual-dtor -rdynamic -D_FORTIFY_SOURCE=2 -O1 -DNDEBUG
using CXXFLAGS_BUILD...  -std=gnu++0x
using LDFLAGS_BUILD...  -rdynamic
using CFLAGS... -O2 -fomit-frame-pointer  -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -W -Wno-unused-parameter -Wredundant-decls -Wformat=2 -Wformat-security -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Winit-self -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -Wnon-virtual-dtor -rdynamic -DUNIX -D_FORTIFY_SOURCE=2 -DWITH_ZLIB -DWITH_LZMA    -DWITH_LZO -DWITH_XDG_BASEDIR    -I/home/openttd-workspace/openttd-1.4.3/src/3rdparty/squirrel/include -DWITH_PNG -I/usr/include/libpng12    -DDEDICATED -DENABLE_NETWORK -DNDEBUG -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\".openttd\" -DGLOBAL_DATA_DIR=\"/usr/local/share/games/openttd\"
using CXXFLAGS...  -std=gnu++0x
using LDFLAGS... -lstdc++ -lpthread -lc -lz -llzma    -llzo2 -lxdg-basedir    -lpng12     -rdynamic
Generating Makefile...
Generating menu item...
Generating lang/Makefile...
Generating setting/Makefile...
Generating grf/Makefile...
Generating objs/Makefile...

Code: Select all

pi@pi-openttd /home/openttd-workspace/openttd-1.4.3 $ sudo make
**successfully compiled files removed**
[SRC] Compiling cpu.cpp
/home/openttd-workspace/openttd-1.4.3/src/cpu.cpp:74:2: warning: #warning "(non-fatal) No support for rdtsc(), you won't be able to profile with TIC/TOC" [-Wcpp]
**successfully compiled files removed**
[SRC] Compiling misc/dbg_helpers.cpp
In file included from /home/openttd-workspace/openttd-1.4.3/src/misc/str.hpp:17:0,
                 from /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.h:18,
                 from /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:14:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In destructor ‘CStrA::~CStrA()’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In function ‘CStrA ValueStr(Trackdir)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
In member function ‘void ByteBlob::_ZN8ByteBlob9AppendRawEPKvj.part.4(const void*, size_t)’,
    inlined from ‘CStrA ComposeNameT(E, T&, const char*, E, const char*) [with E = TrackdirBits, T = const char* const [16]]’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:31:7,
    inlined from ‘CStrA ValueStr(TrackdirBits)’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:34:113:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
In member function ‘void ByteBlob::_ZN8ByteBlob9AppendRawEPKvj.part.4(const void*, size_t)’,
    inlined from ‘CStrA ComposeNameT(E, T&, const char*, E, const char*) [with E = TrackdirBits, T = const char* const [16]]’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:31:7,
    inlined from ‘CStrA ValueStr(TrackdirBits)’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:34:113:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
In function ‘CStrA ComposeNameT(E, T&, const char*, E, const char*) [with E = TrackdirBits, T = const char* const [16]]’,
    inlined from ‘CStrA ValueStr(TrackdirBits)’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:34:113:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In function ‘CStrA ValueStr(TrackdirBits)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In function ‘CStrA ValueStr(DiagDirection)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In function ‘CStrA ValueStr(SignalType)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In function ‘CStrA TileStr(TileIndex)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
In member function ‘void ByteBlob::SmartAlloc(size_t)’,
    inlined from ‘void ByteBlob::_ZN8ByteBlob9AppendRawEPKvj.part.4(const void*, size_t)’ at /home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:242:50,
    inlined from ‘CStrA DumpTarget::GetCurrentStructName()’ at /home/openttd-workspace/openttd-1.4.3/src/misc/dbg_helpers.cpp:84:7:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In member function ‘CStrA DumpTarget::GetCurrentStructName()’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In member function ‘void DumpTarget::WriteTile(const char*, TileIndex)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In member function ‘void DumpTarget::EndStruct()’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp: In member function ‘void DumpTarget::BeginStruct(size_t, const char*, const void*)’:
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
**successfully compiled files removed**
[SRC] Compiling pathfinder/yapf/yapf_rail.cpp
In file included from /home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/yapf.hpp:23:0,
                 from /home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/yapf_rail.cpp:14:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CBlobT<T>::~CBlobT() [with T = int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfAnyDepotRail2::~CYapfAnyDepotRail2()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfAnySafeTileRail2::~CYapfAnySafeTileRail2()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfAnySafeTileRail1::~CYapfAnySafeTileRail1()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfAnyDepotRail1::~CYapfAnyDepotRail1()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfRail2::~CYapfRail2()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In destructor ‘CYapfRail1::~CYapfRail1()’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowRailT<Types>::stCheckReverseTrain(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int) [with Types = CYapfRail_TypesT<CYapfRail1, CFollowTrackT<(TransportType)0u, Train, true>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationTileOrStationRailT, CYapfFollowRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static Trackdir CYapfFollowRailT<Types>::stChooseRailTrack(const Train*, TileIndex, DiagDirection, TrackBits, bool&, bool, PBSTileInfo*) [with Types = CYapfRail_TypesT<CYapfRail1, CFollowTrackT<(TransportType)0u, Train, true>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationTileOrStationRailT, CYapfFollowRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowRailT<Types>::stCheckReverseTrain(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int) [with Types = CYapfRail_TypesT<CYapfRail2, CFollowTrackT<(TransportType)0u, Train, false>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationTileOrStationRailT, CYapfFollowRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static Trackdir CYapfFollowRailT<Types>::stChooseRailTrack(const Train*, TileIndex, DiagDirection, TrackBits, bool&, bool, PBSTileInfo*) [with Types = CYapfRail_TypesT<CYapfRail2, CFollowTrackT<(TransportType)0u, Train, false>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationTileOrStationRailT, CYapfFollowRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowAnyDepotRailT<Types>::stFindNearestDepotTwoWay(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int, int, TileIndex*, bool*) [with Types = CYapfRail_TypesT<CYapfAnyDepotRail1, CFollowTrackT<(TransportType)0u, Train, true>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationAnyDepotRailT, CYapfFollowAnyDepotRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowAnyDepotRailT<Types>::stFindNearestDepotTwoWay(const Train*, TileIndex, Trackdir, TileIndex, Trackdir, int, int, TileIndex*, bool*) [with Types = CYapfRail_TypesT<CYapfAnyDepotRail2, CFollowTrackT<(TransportType)0u, Train, false>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationAnyDepotRailT, CYapfFollowAnyDepotRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowAnySafeTileRailT<Types>::stFindNearestSafeTile(const Train*, TileIndex, Trackdir, bool) [with Types = CYapfRail_TypesT<CYapfAnySafeTileRail1, CFollowTrackT<(TransportType)0u, Train, true, true>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationAnySafeTileRailT, CYapfFollowAnySafeTileRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp: In static member function ‘static bool CYapfFollowAnySafeTileRailT<Types>::stFindNearestSafeTile(const Train*, TileIndex, Trackdir, bool) [with Types = CYapfRail_TypesT<CYapfAnySafeTileRail2, CFollowTrackT<(TransportType)0u, Train, false, true>, CNodeList_HashTableT<CYapfRailNodeT<CYapfNodeKeyTrackDir>, 8, 10>, CYapfDestinationAnySafeTileRailT, CYapfFollowAnySafeTileRailT>, TileIndex = unsigned int]’:
/home/openttd-workspace/openttd-1.4.3/src/pathfinder/yapf/../../misc/blob.hpp:139:10: warning: attempt to free a non-heap object ‘ByteBlob::hdrEmpty’ [enabled by default]
**successfully compiled files removed**
Robstar
Engineer
Engineer
Posts: 5
Joined: 10 Nov 2014 12:02

Re: Compiling OpenTTD for Raspberry Pi: help please

Post by Robstar »

It's a shame no one replied!

Did you get it to work? How does it perform? Because I don't have a Raspberry Pi yet, but I had the same idea as you. Running an OpenTTD server on a Raspberry Pi!
HermitTurtle
Engineer
Engineer
Posts: 3
Joined: 08 Oct 2014 00:40

Re: Compiling OpenTTD for Raspberry Pi: help please

Post by HermitTurtle »

Yes, despite the errors during compiling, the binary seems to work fine. The performance seemed to be fine as well, though I didn't get a chance to test it with more than 4 players.

Give it a shot Robstar. If nothing else it's a fun little project :)
User avatar
planetmaker
OpenTTD Developer
OpenTTD Developer
Posts: 9432
Joined: 07 Nov 2007 22:44
Location: Sol d

Re: Compiling OpenTTD for Raspberry Pi: help please

Post by planetmaker »

HermitTurtle wrote:Yes, despite the errors during compiling, the binary seems to work fine. The performance seemed to be fine as well, though I didn't get a chance to test it with more than 4 players.

Give it a shot Robstar. If nothing else it's a fun little project :)
The point is: there is no error. All I see are compiler warnings.

Additionally, those warnings are issued without reason - as explained by the OpenTTD code comment which you uncovered yourself. the referenced bug in GCC now here linked for you:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38509
http://gcc.1065356.n5.nabble.com/PATCH- ... 19327.html
This bug was fixed in gcc 4.7 and you're using gcc 4.6 which still exhibits this bug.
HermitTurtle
Engineer
Engineer
Posts: 3
Joined: 08 Oct 2014 00:40

Re: Compiling OpenTTD for Raspberry Pi: help please

Post by HermitTurtle »

Thanks for clearing that up Planetmaker :)

This was the first time I ever tried to compile anything myself. All I saw was the compiler complaining about something I didn't fully understand.

I'll see if I can upgrade Raspbian's GCC to 4.7 and try again.
User avatar
adf88
Chief Executive
Chief Executive
Posts: 644
Joined: 14 Jan 2008 15:51
Location: PL

Re: Compiling OpenTTD for Raspberry Pi: help please

Post by adf88 »

HermitTurtle wrote:

Code: Select all

[SRC] Compiling cpu.cpp
/home/openttd-workspace/openttd-1.4.3/src/cpu.cpp:74:2: warning: #warning "(non-fatal) No support for rdtsc(), you won't be able to profile with TIC/TOC" [-Wcpp]
I think this is because the Pi doesn't have a RealTimeClock. It says 'non-fatal', should I worry? If so, how can I fix it?
No need to worry unless you want to do some profiling.
:] don't worry, be happy and checkout my patches
Post Reply

Return to “OpenTTD Development”

Who is online

Users browsing this forum: No registered users and 38 guests