Package Details: openrct2-git r21143.594b08c91-1

Git Clone URL: (read-only, click to copy)
Package Base: openrct2-git
Description: Open source re-implementation of Roller Coaster Tycoon 2 (requires full copy of the game)
Upstream URL:
Licenses: GPL3
Conflicts: openrct2
Provides: openrct2
Submitter: grahamedgecombe
Maintainer: grahamedgecombe
Last Packager: grahamedgecombe
Votes: 26
Popularity: 0.98
First Submitted: 2014-05-27 09:56 (UTC)
Last Updated: 2021-04-23 22:54 (UTC)

Latest Comments

Technetium1 commented on 2022-07-11 04:10 (UTC)

@Thaodan sorry about that, I misread the diff. If using a .so then you could do it like this, but it's preferred to require the package which provides the .so. From the makedepends section of PKGBUILD page on wiki: The packages in the depends array are implicitly required to build the package, they should not be duplicated here., so you still don't need to duplicate them.

Thaodan commented on 2022-07-07 19:00 (UTC)

@Technetium: hm which dependencies did I add to makedepend and depend?

Offtopic: but if using .so symbols rather than package names having the same package in both make- and depends makes sense.

ilikerackmounts commented on 2022-07-05 20:51 (UTC)

Can someone merge Thaodan's changes? It'd be great for tools that automatically ingest AUR to be able to install/update this rather than to have to do it as a one-off.

Technetium1 commented on 2022-07-03 02:48 (UTC)

@Thaodan packages cannot be in both depends and makedepends, it's one or the other:

Thaodan commented on 2022-06-12 21:41 (UTC) (edited on 2022-06-12 21:53 (UTC) by Thaodan)

This is my pkgbuild with all the fixes I just mentioned:

diff --git a/PKGBUILD b/PKGBUILD
index 4ec7047..874ce7b 100644
@@ -1,15 +1,16 @@
 # Maintainer: Graham Edgecombe <>
 pkgdesc='Open source re-implementation of Roller Coaster Tycoon 2 (requires full
          copy of the game)'
 arch=('i686' 'x86_64' 'armv7h' 'aarch64')
-depends=('hicolor-icon-theme' 'sdl2' 'curl' 'nlohmann-json' 'speexdsp'
-         'fontconfig' 'libpng' 'openssl' 'libzip' 'icu' 'duktape' 'benchmark')
-makedepends=('git' 'cmake' 'discord-rpc-api')
+depends=('hicolor-icon-theme' 'sdl2' 'curl' 'speexdsp'
+         'fontconfig' 'libpng' 'openssl' 'libzip' 'icu' 'benchmark'
+         'libogg' 'libvorbis' 'flac' 'discord-rpc')
+makedepends=('git' 'cmake' 'nlohmann-json')
 optdepends=('zenity: System dialog box support (GNOME/GTK)'
             'kdialog: System dialog box support (KDE)'
             'alsa-lib: ALSA audio driver'
@@ -21,24 +22,29 @@ source=("$pkgname"::'git+

 pkgver() {
-  cd "$srcdir/$pkgname"
-  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+  cd "$pkgname"
+  git describe --long | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'

 build() {
-  cd "$srcdir/$pkgname"
+  # Required options to workaround GCC 12 issues
+  #
+  CXXFLAGS+=" -Wno-error=maybe-uninitialized  -Wno-error=restrict  -Wno-error=null-dereference"

-  mkdir -p build
-  cd build
-    -DCMAKE_INSTALL_LIBDIR=/usr/lib ..
-  make all g2
+  # Needed to be able to build while LTO is enabled
+  #
+  CXXFLAGS+="  -Wno-error=stringop-overflow"
+  cmake -B build -S "$pkgname" \
+        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+        -DCMAKE_INSTALL_PREFIX='/usr' \
+        -DSTATIC=OFF \
+        -Wno-dev
+  cmake --build build -v

 package() {
-  cd "$srcdir/$pkgname/build"
-  make DESTDIR="$pkgdir" install
+  DESTDIR="$pkgdir" cmake --install build

   rm "$pkgdir/usr/lib/libopenrct2.a"
   rmdir "$pkgdir/usr/lib"

Thaodan commented on 2022-06-12 20:00 (UTC)

Add this to able to compile: export CXXFLAGS+=" -Wno-error=maybe-uninitialized -Wno-error=restrict -Wno-error=null-dereference"


Thaodan commented on 2022-06-12 19:33 (UTC)

Benchmark is only optional dependency. The pkgbuild should be updated against cmake packaging guidelines.

Thaodan commented on 2022-06-12 19:17 (UTC) (edited on 2022-06-12 21:05 (UTC) by Thaodan)

I think the closest replacement is discord-rpc-git. In any case if build with discord-rpc enabled its a depend and not a make depend.

Thaodan commented on 2022-06-12 19:16 (UTC)

discord-rpc-api doesn't exist anymore.

IntelOrca commented on 2022-06-09 23:23 (UTC) (edited on 2022-06-09 23:23 (UTC) by IntelOrca)

duktape is no longer required

libflac, libogg, and libvorbis are now required (unless disabled via cmake option)

colejohnson66 commented on 2021-04-23 19:57 (UTC) (edited on 2021-04-23 19:59 (UTC) by colejohnson66)

To fix the error, I just opened up PKGBUILD in a text editor and removed the 4 rm lines and 2 rmdir lines inside package() (unified diff below). These should probably be changed to conditional removals ala [[ -f FILE ]] && rm FILE.

--- PKGBUILD    2021-04-22 17:39:41.671454399 -0400
+++ PKGBUILD    2021-04-23 15:56:07.402117749 -0400
@@ -49,12 +49,4 @@
   cd "$srcdir/$pkgname/build"

   make DESTDIR="$pkgdir" install
-  rm "$pkgdir/usr/lib/libopenrct2.a"
-  rm "$pkgdir/usr/lib/libdiscord-rpc.a"
-  rmdir "$pkgdir/usr/lib"
-  rm "$pkgdir/usr/include/discord_rpc.h"
-  rm "$pkgdir/usr/include/discord_register.h"
-  rmdir "$pkgdir/usr/include"

MrAureliusR commented on 2021-04-04 16:21 (UTC) (edited on 2021-04-04 16:23 (UTC) by MrAureliusR)

Since commit 818b2a5239 on Jan 11 for implementing, openrct2 build will detect the system discord rpc library. > Now if discord-rpc-api is installed, this openrct2-git package will fail with

rm: cannot remove '/home/will/.cache/yay/openrct2-git/pkg/openrct2-git/usr/lib/libdiscord-rpc.a': No such file or directory
==> ERROR: A failure occurred in package().

because openrct2 won't build discord rpc if there is a system one present.

Using the system library or the local discord-rpc repo both produce the same file list, so requiring discord-rpc-api as a build dependency would work here.```

I am having this error and I cannot figure out how to get it to build. Do I need to remove Discord first? I tried added discord-rpc-api to both depends and/or makedepends before building, had no effect. Any tips would be greatly appreciated!

JudgeManganese commented on 2021-02-16 01:08 (UTC)

Since commit 818b2a5239 on Jan 11 for implementing, openrct2 build will detect the system discord rpc library. Now if discord-rpc-api is installed, this openrct2-git package will fail with

rm: cannot remove '/home/will/.cache/yay/openrct2-git/pkg/openrct2-git/usr/lib/libdiscord-rpc.a': No such file or directory
==> ERROR: A failure occurred in package().

because openrct2 won't build discord rpc if there is a system one present.

Using the system library or the local discord-rpc repo both produce the same file list, so requiring discord-rpc-api as a build dependency would work here.

janisozaur commented on 2020-07-14 19:50 (UTC)

Please fill out the latest OpenRCT2 survey, you can find more info on Reddit: and the survey itself:

slurpee commented on 2020-05-19 09:04 (UTC)

Building OpenRCT2 now requires the duktape Community repo package.

slurpee commented on 2019-10-19 03:24 (UTC)

I've noticed in some cases that the symlink to the system's rapidjson can sometimes not clean up correctly, causing the build to fail in the prepare step trying to make another symlink. I've added a guard around the ln so that it'll only create it if it doesn't exist. Thought it might help, let me know what you think!

diff --git a/PKGBUILD b/PKGBUILD
index 18bb5dc..ecb271f 100644
@@ -31,7 +31,9 @@ prepare() {
   cd "$srcdir/$pkgname"
   ln -sf "$srcdir/discord-rpc" discord-rpc
   mkdir -p discord-rpc/thirdparty
-  ln -sf "/usr/include/rapidjson" discord-rpc/thirdparty/rapidjson
+  if [[ ! -L "$srcdir/discord-rpc/thirdparty/rapidjson" ]]; then
+    ln -sf "/usr/include/rapidjson" discord-rpc/thirdparty/rapidjson
+  fi

 build() {

Thaodan commented on 2019-01-07 05:23 (UTC)

Could you base the pkgver on latest tag + commits since then?

janisozaur commented on 2018-11-03 23:05 (UTC)

That would most likely need to be supported in our cmakelists.txt, I have only added support for building discord-rpc from source. Feel free to file an issue for that, or better yet, submit a PR.

Thaodan commented on 2018-11-03 23:02 (UTC)

thanks. Discord-rpc is also shared and maybe possible as an optdepend.

grahamedgecombe commented on 2018-10-31 19:12 (UTC)

@JudgeManganese: I haven't managed to reproduce that, including when building inside a fresh chroot.

@Thaodan: sure, done.

Thaodan commented on 2018-10-31 09:46 (UTC)

Can we build with distro rapidjson instead of the shared one?

JudgeManganese commented on 2018-09-29 20:33 (UTC)

The objects/title sequences that CMake downloads as part of package() are now causing the PKGBUILD to fail with the below error. CMake is showing the hash for an empty file because the file wasn't downloaded. It seems makepkg is not allowing CMake to download because I can manually run the commands in package() and they get downloaded.

CMake Error at cmake_install.cmake:48 (file):
  file DOWNLOAD HASH mismatch

    for file: [<path-to-cache>/openrct2-git/pkg/openrct2-git/usr/share/openrct2/title/]
      expected hash: [1136ef92bfb05cd1cba9831ba6dc4a653d87a246]
        actual hash: [da39a3ee5e6b4b0d3255bfef95601890afd80709]
             status: [6;"Couldn't resolve host name"]

grahamedgecombe commented on 2018-06-12 20:24 (UTC)

hmm, it's maybe not so simple - I think the tests might expect those files to be in /, rather than inside $DESTDIR...

maybe it's easiest just to disable the tests for now.

grahamedgecombe commented on 2018-06-12 20:01 (UTC)

Ah, good catch!

I'll make it download the objects/title sequences in advance. I've never been very happy with the fact that cmake downloads them (and most distros don't allow this in their policy, as it breaks reproducibility of the build process if the files ever disappear from the net).

I guess another option is that the cmake config should be fixed such that the test target depends on the target that downloads the objects.

janisozaur commented on 2018-06-12 19:32 (UTC)

check() runs tests, but they need files that get download upon installation with install target, which only gets done in package() after successful check().

The options to address that that I can think of right now include: 1. perform install target in check(), before running tests 2. run tests in package() 3. pre-populate required files as part of PKGBUILD 4. use ctest to split running the some tests in check(), some in package()

Other suggestions welcome.

axiac commented on 2018-06-12 00:06 (UTC)

Yes I'm using yay, managed to learn how to do it manually :) (with "--nocheck", I installed devtools but couldn't find extra-x86_64-build). I can see many improvements in the game, but maybe a slower startup time.

grahamedgecombe commented on 2018-06-11 18:11 (UTC)

It might also be worth trying to build it in a chroot so you know you have a clean environment. You can use extra-x86_64-build to do that (from the devtools package). Run it from the same directory you'd run makepkg from.

grahamedgecombe commented on 2018-06-11 18:06 (UTC)

couldn't find where to pass "--nocheck"

It's one of makepkg's flags. I guess you're using an AUR helper?

axiac commented on 2018-06-11 15:41 (UTC)

Hey @janisozaur, tried it and got the same error as @wyre, and couldn't find where to pass "--nocheck".

janisozaur commented on 2018-06-11 13:43 (UTC)

@axiac can you check if adding -DPORTABLE=on addresses that? Otherwise can you provide more logs? The tests in question all require objects' json data, which should get obtained during cmake packaging, but either it doesn't or it is in improper path.

axiac commented on 2018-06-11 13:40 (UTC)

I still had this issue, as of yesterday.

alextee commented on 2018-06-04 10:31 (UTC)

Same issue here, 3 tests failed.

jfernandz commented on 2018-06-01 12:08 (UTC)

I've could package it using --nocheck parameter to makepkg, but I suspect the issue persist, may be related with make version, I guess.

grahamedgecombe commented on 2018-05-31 17:51 (UTC)

I can't reproduce this - does it work now? I guess it could've been an upstream bug that has been fixed already.

You can pass --nocheck to makepkg to skip the tests if necessary.

jfernandz commented on 2018-05-28 22:06 (UTC) (edited on 2018-05-28 22:07 (UTC) by jfernandz)

Packaging process fails to check() stage

67% tests passed, 3 tests failed out of 9

Total Test time (real) =   0.85 sec

The following tests FAILED:
      7 - ride_ratings (Failed)
      8 - multilaunch (Failed)
      9 - tile_elements (Failed)
Errors while running CTest
make: *** [Makefile:106: test] Error 8
==> ERROR: Se produjo un fallo en check().

grahamedgecombe commented on 2018-05-23 20:27 (UTC)

thanks, I've added a dependency on icu.

I've also switched to the forked version of rapidjson so the package builds on GCC 8.1.

janisozaur commented on 2018-05-23 09:01 (UTC)

We merged which adds dependency on ICU

janisozaur commented on 2018-05-21 10:37 (UTC) (edited on 2018-05-21 10:38 (UTC) by janisozaur)

@goddisignz this is not the full error. GCC by default ignores -Wno-* options and will only display them once encountered actual error, which you skipped. We do test with GCC 8.1 in our CI setup and you may have ran into which the upstream maintainers have not bothered to address for the last few months (please do go nag them). If that's the case, either disable discord-rpc (in PKGBUILD) or switch to my hacked version of rapidjson at <> patch-1

goddisignz commented on 2018-05-21 10:30 (UTC) (edited on 2018-05-21 10:32 (UTC) by goddisignz)

I currently have a problem compiling the pacakage. I get the following error(s):

cc1plus: error: unrecognized command line option ‘-Wno-global-constructors’ [-Werror]

cc1plus: error: unrecognized command line option ‘-Wno-exit-time-destructors’ [-Werror]

cc1plus: error: unrecognized command line option ‘-Wno-covered-switch-default’ [-Werror]

cc1plus: error: unrecognized command line option ‘-Wno-c++98-compat-pedantic’ [-Werror]

cc1plus: error: unrecognized command line option ‘-Wno-c++98-compat’ [-Werror]

Can this be a problem related to the gcc version? I use the current 8.1.0.

grahamedgecombe commented on 2018-04-16 16:35 (UTC)

imho it's good practice to run the unit tests where available, especially in a project like this as C/C++ have a lot of system-dependent behaviour - and fwiw I think building the main OpenRCT2 executable outweighs the time spent running the tests.

That said, you should be able to pass --nocheck to makepkg to skip running the tests if you want to (although it'll still build them - idk if there's a way we can detect --nocheck in the PKGBUILD).

Enverex commented on 2018-04-16 11:25 (UTC)

Is there any point in "WITH_TESTS=on"? Seems like it's just going to increase the build time and provide no real benefit for users. It's mainly for the devs to test with.

janisozaur commented on 2018-03-06 16:12 (UTC)

We are aware of this and will have a fix soonish.

Upstream discord-rpc changed file name in one of their latest commits (discord-rpc.h -> discord_rpc.h) and to fix it you simply need to rename the relevant include. We have not changed the file name upstream yet because we are updating Windows' libraries at the same time.

Note that you can also choose to not use discord-rpc at all if you don't want to or use slightly older commit of it.

jfernandz commented on 2018-03-06 16:05 (UTC)

I've got issues with discord_register.h after your fix:

[  8%] Building CXX object CMakeFiles/libopenrct2.dir/src/openrct2/network/DiscordService.cpp.o
/home/wyre/AUR/openrct2-git/src/openrct2-git/src/openrct2/network/DiscordService.cpp:19:10: fatal error: discord-rpc.h: No such file or directory
 #include <discord-rpc.h>

grahamedgecombe commented on 2018-02-10 22:22 (UTC)

thanks, fixed

janisozaur commented on 2018-02-10 21:57 (UTC)

The PKGBUILD seems to be broken: rmdir: failed to remove '/home/janisozaur/.cache/pacaur/openrct2-git/pkg/openrct2-git/usr/include': Directory not empty

Indeed, there is a lone file discord_register.h.

grahamedgecombe commented on 2017-11-17 10:23 (UTC)

thanks, I've added discord-rpc

janisozaur commented on 2017-11-15 21:37 (UTC) adds optional support for Discord Rich Presence. To enable clone into the root directory, it will get detected automatically. I have not seen it stated explicitly anywhere, but it looks like running a discord client is required for this feature to work.

Synthead commented on 2017-10-04 04:19 (UTC)

OpenRCT2 segfaults after upgrading sdl2 to 2.0.6-1. It works fine with sdl2 version 2.0.5-4. I filed an issue for this here ( and thought I'd drop a note here, too.

janisozaur commented on 2017-08-09 21:35 (UTC)

The already merged changes the build process a little. You can now use CMake-standard option "BUILD_SHARED_LIBS" to request libraries (just the ones added with add_library() – in our case only libopenrct2) to be linked in a shared way. By default it is off, which results in static library. I will also be making a 0.1.1 release momentarily.

American_Jesus commented on 2017-07-29 15:48 (UTC)

Fails to install: error: failed to commit transaction (conflicting files) openrct2-git: /usr/lib64 exists in filesystem Requires "-DCMAKE_INSTALL_LIBDIR=/usr/lib"

janisozaur commented on 2017-06-26 09:17 (UTC)

We have finished splitting up the logic from the UI and now offer libopenrct2 that doesn't require SDL2. The UI layer on top of it is still tied into the library very much, but it is a step forward. Also, we have openrct2-cli target, disabled by default, that can only launch in headless mode, but shouldn't require SDL2 either. It can be used for hosting multiplayer games on truly headless servers without having to install SDL2, which pulls in Mesa, which pulls in… For a while now we've had few tests in our codebase, I've seen other packages enable and run tests when building. I'll leave enabling them for your consideration. Just pass `-DWITH_TESTS=on` to cmake, then after you're done with `make all`, do `make test`. Do note it will download gtest.

grahamedgecombe commented on 2016-12-20 21:14 (UTC)

@janisozaur thanks, I've added libzip as a dependency. There's a bug in the title sequence installation code, btw (it doesn't obey DESTDIR). I've submitted a PR:

janisozaur commented on 2016-12-18 23:35 (UTC) depends on libzip and there are upcoming change to how we install title sequences: and

janisozaur commented on 2016-10-28 10:35 (UTC) makes cmake install .desktop and icons

grahamedgecombe commented on 2016-10-16 08:19 (UTC)

Nice :) Updated the package

janisozaur commented on 2016-10-15 21:16 (UTC) (edited on 2016-10-15 22:49 (UTC) by janisozaur)

As of 8f8677a we have reached full implementation, all of the drawing code is there and 64 bit builds are good to go for a daily driver. drops forced `-m32` and makes use of default, I have also updated our docker images accordingly. Upcoming release is shaping up nicely. EDIT: PR in question is now merged.

grahamedgecombe commented on 2016-10-02 11:57 (UTC)

thanks, added it to makedepends

janisozaur commented on 2016-10-02 09:38 (UTC)

lib32-sdl2_ttf was promoted from AUR to multilib repo and lost `SDL2_ttf.h` header, which is only available through `sdl2_ttf` now (x86-64 one), effectively making the latter a hard dependency.

janisozaur commented on 2016-09-23 07:18 (UTC)

Ever since we merged it is possible to build a properly native version of OpenRCT2, that is one which does not load segments from vanilla. It will only work on little-endian hardware, though, and will be missing any code not yet implemented, which is only rendering at this point, check for status. To build a standalone version, just enable "DISABLE_RCT2" CMake option, there is also "FORCE64" which will add "-m64" to the compiler, instead of currently-default "-m32". I don't recommend enabling it by default just yet, only pointing out our progress.

typh00nz commented on 2016-08-20 06:34 (UTC)

fresh problem: [breaks pc upgrade] :: openrct2-git: installation lib32-libcurl-compat (7.50.1-1) depends on 'lib32-curl'

janisozaur commented on 2016-07-06 06:55 (UTC)

We would like to know a little more about our user base, can I ask you to participate in this survey: ? The results will be posted to reddit /r/openrct2 on 2016-07-17

grahamedgecombe commented on 2016-06-18 10:12 (UTC)

r.e. lib32-libpulse comments, I've previous written about this in a previous comment: "@phantom94: OpenRCT2 plays sound using SDL2, and thus depends on lib32-sdl2. lib32-sdl2 does not directly depend on the 32-bit ALSA/PulseAudio libraries - they are optional dependencies, and you need to pick and manually install the one appropriate for your system." I don't want to do a hard dep in case people want to avoid PA ending up on their system. However, I've added the optdepends to this package too to make it more obvious for people who don't read the optdepends of the dependencies. As you're using OpenGL through SDL_opengl.h I think I'll just rely on the transitive dep.

janisozaur commented on 2016-06-13 21:36 (UTC) (edited on 2016-06-13 21:40 (UTC) by janisozaur)

Can you add lib32-libpulse as a dependency as well or perhaps suggest it to the user? See We have also merged new OpenGL code, but sdl already depends on it… See

commented on 2016-06-13 21:35 (UTC)

based on, maybe it's an idea to add lib32-libpulse to this package as dependency, as this enables the audio.

grahamedgecombe commented on 2016-05-28 08:14 (UTC)

thanks, added

janisozaur commented on 2016-05-27 18:32 (UTC)

We're about to merge, it will explicitly require openssl. This is already a dependency of curl (through libssh2), but would be good to include it here as well.

janisozaur commented on 2016-05-09 07:02 (UTC)

We've merged the .desktop file now: We may install it with our cmake scripts in the future:

grahamedgecombe commented on 2016-03-24 12:49 (UTC)

@janisozaur: I've changed it to match the description on the upstream GitHub repo (which is where I think I got the original pkgdesc from in the first place, but it looks like the description was changed at some point).

janisozaur commented on 2016-03-23 21:47 (UTC)

@grahamedgecombe perhaps you could change the description of package slightly. I feel "Open source engine for RollerCoaster Tycoon 2" would be a better fit. I've also seen other such packages mention a blurb like "requires full copy of the game" in the oneliner, what's your view on that?

phantom94 commented on 2016-03-23 17:31 (UTC)

@grahamedgecombe Thanks for the info! I had to install lib32-libpulse.

grahamedgecombe commented on 2016-03-01 19:46 (UTC) (edited on 2016-03-01 19:53 (UTC) by grahamedgecombe)

@DrDoctor: This is because lib32-curl hasn't been rebuilt against openssl 1.0.2f yet - nothing to do with this package. You'll either have to wait for the maintainer to rebuild it, or rebuild it yourself with ABS. @phantom94: OpenRCT2 plays sound using SDL2, and thus depends on lib32-sdl2. lib32-sdl2 does not directly depend on the 32-bit ALSA/PulseAudio libraries - they are optional dependencies, and you need to pick and manually install the one appropriate for your system. @papperwing: Are you able to give more details? Btw, there's now an "openrct2 set-rct2" command so you can simply run "openrct2 set-rct2 /path/to/rct2" to avoid having to edit the config file by hand.

WhatTheBuck commented on 2016-03-01 18:54 (UTC)

Trying to build: /usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib32/ undefined reference to `SSLv2_client_method' collect2: error: ld returned 1 exit status CMakeFiles/openrct2.dir/build.make:4578: recipe for target 'openrct2' failed make[2]: *** [openrct2] Error 1 CMakeFiles/Makefile2:132: recipe for target 'CMakeFiles/openrct2.dir/all' failed make[1]: *** [CMakeFiles/openrct2.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build openrct2-git.

phantom94 commented on 2016-02-26 12:37 (UTC)

Hi, When running the latest openrct2, there is no sound. It outputs the following: ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib32/alsa-lib/ Is this a bug in packaging or upstream? Any ideas how to fix it?

papperwing commented on 2016-02-22 12:51 (UTC)

Hi, I have installed rct2 from iso made from original disc. I am not able to set instalation path to config.ini. Could you give me hint?

janisozaur commented on 2016-01-11 22:51 (UTC) (edited on 2016-01-13 00:11 (UTC) by janisozaur)

I have improved our messages in case of missing `config.ini` or `config.ini` having improper "game_path" set. While doing that, I also realised a useful feature: when starting openrct2, we check current directory for RCT2 installation, so if you start openrct2 in such a directory, the proper config will get written for you automatically. This works with --user-data-path=xxx as well. There will be another feature shortly, where you can specify your path using `openrct2 set-rct2 /path/to/rct2`, but check exact syntax once it's live. I will edit this post when it happens. Edit: merged

janisozaur commented on 2016-01-09 21:55 (UTC)

With upcoming merge of we won't be needing `` file anymore.

grahamedgecombe commented on 2016-01-04 18:00 (UTC)

thanks, I now copy everything in data so this shouldn't break if new directories are added in the future

rubdos commented on 2016-01-04 17:24 (UTC)

Apparently, you need to install some extra directories nowadays. I had to add: install -dm755 "$pkgdir/usr/share/openrct2/title/rct1" install -m644 data/title/rct1/* "$pkgdir/usr/share/openrct2/title/rct1" install -dm755 "$pkgdir/usr/share/openrct2/title/rct1aa" install -m644 data/title/rct1aa/* "$pkgdir/usr/share/openrct2/title/rct1aa" install -dm755 "$pkgdir/usr/share/openrct2/title/rct1aall" install -m644 data/title/rct1aall/* "$pkgdir/usr/share/openrct2/title/rct1aall" in the package() section.

grahamedgecombe commented on 2015-12-31 14:16 (UTC)

thanks, done both of those

janisozaur commented on 2015-12-31 14:05 (UTC)

While at it, we now make use of libpng16, which is already implicitly installed by one of the packages, but you can update depends to specify this explicitly. See

carstene1ns commented on 2015-12-31 14:03 (UTC)

grahamedgecombe: Please update the dependency logic in your PKGBUILD. Instead of using some 'if $CARCH', makepkg has been enabled to use architecture dependent arrays in addition to the default ones: depends_i686=('sdl2' 'sdl2_ttf' 'curl' 'jansson' 'speexdsp' 'fontconfig') depends_x86_64=('lib32-sdl2' 'lib32-sdl2_ttf' 'lib32-curl' 'lib32-jansson' 'lib32-speexdsp' 'lib32-fontconfig') makedepends_x86_64=('gcc-multilib') The way you do it, can also break with some aur helpers (like pacaur). Thanks!

grahamedgecombe commented on 2015-12-24 22:48 (UTC)

thanks, added that in preparation

janisozaur commented on 2015-12-24 22:05 (UTC)

We have an incoming dependency, lib32-fontconfig. See

grahamedgecombe commented on 2015-12-20 21:07 (UTC)

@Reded: this is fixed now.

Reded commented on 2015-12-20 16:49 (UTC)

Error in the build: ==> Starting build()... -- Configuring done CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle): "openrct2" of type EXECUTABLE depends on "linkable_sections" (strong) depends on "segfiles" (strong) "segfiles" of type UTILITY depends on "openrct2" (strong) "linkable_sections" of type UTILITY depends on "segfiles" (strong) At least one of these targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only among static libraries. -- Build files have been written to: /home/eddie/.abs/local/builds/openrct2-git/src/openrct2-git ==> ERROR: A failure occurred in build(). Aborting...

janisozaur commented on 2015-12-19 00:34 (UTC)

please see

janisozaur commented on 2015-11-11 13:33 (UTC)

As we're preparing for upcoming 0.0.3 release, I've updated our release scripts for easier packaging. I'm not that much experienced with it, so I'd like your comments if possible here:

grahamedgecombe commented on 2015-11-07 10:30 (UTC)

@mokman: it looks like the path changed to $XDG_CONFIG_HOME/OpenRCT2/config.ini (which is typically set to $HOME/.config/OpenRCT2/config.ini). I've updated the post-install message to reflect this.

janisozaur commented on 2015-10-27 21:43 (UTC)

I just installed that package on a clean system, never touched with rct/openrct before, it works exactly as advertised. @mokman have you followed closely? @grahamedgecombe that's some good packaging here! Unfortunately, I can't do anything about crash when generating g2 for now.

mokman commented on 2015-10-27 16:50 (UTC) (edited on 2015-10-27 16:51 (UTC) by mokman)

i compiled it successfully but was not able to launch it, it does not install in ~/OpenRCT2 as statet in this tutorial, therefore i cannot find the config.ini to link to the install directory of the original rct2 files. any ideas?

PureTryOut commented on 2015-10-10 11:36 (UTC)

Today it validated fine for me, did the checksum change? Well thanks anyway!

grahamedgecombe commented on 2015-10-09 17:54 (UTC) (edited on 2015-10-09 17:55 (UTC) by grahamedgecombe)

The checksum is working for me. The PKGBUILD currently has 0a7b5ea46e9cb4b19000b69690eae0b75929752f7db192c78bd7ffb61d696835, which is the same as upstream:

PureTryOut commented on 2015-10-09 16:41 (UTC)

The native Linux version builds and works fine, thanks for updating it, got tired of doing it manually! ;) Anyways the validation of is failing (again?).

janisozaur commented on 2015-10-07 15:43 (UTC) (edited on 2015-10-07 16:53 (UTC) by janisozaur)

Thanks for updating the package. Yes, indeed we still use zipped lib for local packages, I've completely forgotten about it, sorry! I tried my best to adapt cmake file to work on Arch and other systems as well, if you spot anything please let me know. Two minor notes though: * a pass of sed to fix jansson includes shouldn't be needed anymore, that was fixed in sources as well as in zip * the project was migrated from IntelOrca to OpenRCT2 on github, although there is redirect in place. Have you got any suggestions on how to package local libs better? I could possibly split this in two, so there's mingw-specific package with precompiled jansson and others, and the other one with local libs (lodepng…) only, but our "fool-proof" build scripts are already painful to maintain and prone to breaking along the way. I'll see what I can do about the crash when generating g2, I haven't really ever ran that. I've written fairly extensive guide on getting the game installed, you can echo a link to this page during package installation:

grahamedgecombe commented on 2015-10-05 21:01 (UTC) (edited on 2015-10-05 21:05 (UTC) by grahamedgecombe)

The package is now built natively (thanks to janisozaur's upstream work) - so it no longer uses wine. You will need to manually edit the ~/OpenRCT2/config.ini file to change the game_path from a Windows-style to a UNIX-style path. (The GUI for picking the RCT2 installation directory has not been implemented on Linux yet.) If you don't do this it'll fail to launch! Run openrct2 from a terminal to debug any problems. I've only tested this on a 64-bit machine, but I think I've added the appropriate deps/makedeps for i686. Please let me know if it doesn't build/run on i686. I've removed the _enable_twitch flag as most dependencies are now official. (The flag existed before to help people avoid building lots of AUR packages if they didn't care about Twitch support.) @janisozaur: fyi the package already used mingw-w64-jansson etc. was (and still is) only used for dependencies in the local/ folder - e.g. lodepng.

janisozaur commented on 2015-09-29 06:19 (UTC)

Hi, with merged there's a lot of changes to the build system, which now should by much more cmake/Linux-compatible. One of the changes is different url where to pull libraries from, but if you're going to keep building this package with mingw, consider switching dependencies to mingw-w64-jansson, mingw-w64-curl and you can drop entirely.

janisozaur commented on 2015-09-23 13:11 (UTC)

Hi, you may want to check and perhaps later commits for changes to the project. There's also Dockerfile based on Arch in case you wanted dependencies listed

PureTryOut commented on 2015-09-02 16:24 (UTC)

@grahemedgecombe Thanks! However, the SHA check for which bwrsandman mentioned is still failing.

grahamedgecombe commented on 2015-09-02 10:32 (UTC)

@PureTryOut: okay, _enable_twich is now 0 by default.

PureTryOut commented on 2015-08-29 11:10 (UTC)

Any chance of setting _enable_twitch to 0 by default? I think most players don't stream, and it makes automatic updating with yaourt and such easier.

bwrsandman commented on 2015-08-13 14:13 (UTC)

The sha check for is failing

PureTryOut commented on 2015-08-12 15:45 (UTC)

Dependency ended up being mingw-w64-freetype2 instead... Build without Twitch succesfully this time, not sure what happened before.

PureTryOut commented on 2015-08-10 19:10 (UTC)

No currently it can not find the mingw-w64-freetype dependency of the new OpenRCT2 dependency mingw-w64-sdl2_ttf.

grahamedgecombe commented on 2015-08-07 18:44 (UTC)

@PureTryOut: I can't reproduce that on the current master. Do you still have the problem?

PureTryOut commented on 2015-07-31 21:34 (UTC)

I've set _enable_twitch to 0, but the build still fails on /tmp/yaourt-tmp-amk/aur-openrct2-git/src/openrct2-git/src/network/http.h:4:21: fatal error: jansson.h: No such file or directory

grahamedgecombe commented on 2015-07-11 15:31 (UTC)

@yayachiken: fixed now

yayachiken commented on 2015-07-06 21:59 (UTC)

The build fails again: [ 0%] Building C object CMakeFiles/openrct2.dir/src/cmdline.c.obj /tmp/yaourt-tmp-david/aur-openrct2-git/src/openrct2-git/src/cmdline.c:22:31: fatal error: argparse/argparse.h: No such file or directory It appears that upstream changed in the last days to download additional dependencies: The file now pulls in the following file: It contains local/argparse/argparse.h so this seems to be it.

grahamedgecombe commented on 2015-06-25 18:46 (UTC)

@yayachiken: this is fixed now. Upstream doesn't seem to ship anything for installing the files, so the PKGBUILD has to do it manually (and be kept in sync with upstream).

yayachiken commented on 2015-06-25 18:24 (UTC)

The program fails to start and subsequently crashes, as some files are not installed properly. I reported this as a bug, but it seems to be a packaging bug. Maybe it breaks because subdirectories were introduced by upstream in the data/title directory? There does not appear to be a directory created for them in package().

grahamedgecombe commented on 2015-05-31 20:51 (UTC)

@amk: yes, if _enable_twitch is set to 1 in the PKGBUILD mingw-w64-jansson is required. There was a typo in the PKGBUILD though, so it wasn't added to the depends array. Try again now.

amk commented on 2015-05-31 18:17 (UTC)

My build fails: /tmp/yaourt-tmp-amk/aur-openrct2-git/src/openrct2-git/src/network/http.h:4:21: fatal error: jansson.h: No such file or directory Is something like lib32-jansson a dependency now?

grahamedgecombe commented on 2015-03-22 11:15 (UTC)

@skinner: this should be fixed now.

skinner commented on 2014-12-31 12:35 (UTC)

I get the following error messages when trying to start OpenRCT2: err:module:import_dll Library libwinpthread-1.dll (which is needed by L"Z:\\usr\\share\\openrct2\\openrct2.dll") not found err:module:import_dll Library openrct2.dll (which is needed by L"Z:\\usr\\share\\openrct2\\openrct2.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"Z:\\usr\\share\\openrct2\\openrct2.exe" failed, status c0000135 Can anybody help me out?

artofhbc commented on 2014-08-05 15:56 (UTC)

OK, I will try it again later. Thanks!

grahamedgecombe commented on 2014-08-05 11:32 (UTC)

I've just built the package in a clean x86_64 chroot (so I only have base, base-devel and the required dependencies) and I can't reproduce your problem. Is there a way to get cmake to produce more verbose output about why it's failing? shouldn't be called from the PKGBUILD as it installs the mingw version of SDL2 directly to /usr/local. The PKGBUILD depends on mingw-w64-sdl2 instead, which is the clean way of doing it. (The script does patch the SDL2 source, but I don't believe the patch is required as I've had no problems using the unpatched mingw-w64-sdl2 package from the AUR.)

artofhbc commented on 2014-08-05 03:16 (UTC)

Seems that we should run (without the apt-get part) before building from cmake?

artofhbc commented on 2014-08-05 03:08 (UTC)

When I try to build the program in 64bit system, some errors occurred: How can I fix that? (I have installed mingw-w64-sdl2.) Thanks!