Linux Testing
#31
hey,
would it be possible to provide a http://flatpak.org/ build?
Reply
#32
It looks like Flatpak is based on containers. The same issues with Docker likely exist with Flatpak. Plus this is waaaaaaaaaaaaaaayyyy outside the scope of what I am trying to provide. The task of making Kodi platform-agnostic (if even possible) would be better suited to the actual Kodi team members.
Reply
#33
I'm trying to set up builds for the 17alpha3 branch, but it keeps failing. All dev deps are installed, but it keeps failing when configuring Kodi:

Code:
checking for TAGLIB... no
configure: error: Could not find a required library. Please see the README for your platform.
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.

I've followed instructions to the letter, but I can't make taglib because there is no lib/taglib makefile in 17alpha3. I do have libtag1-dev installed, though. I'm still building on 14.04.
Reply
#34
(2016-05-11, 16:33)MrTarantula Wrote: I don't know when I will have the time to upgrade from 14.04 to 16.04, but I will continue to upload builds when I can. Here's a gist of my script
Remember to report your bugs!

Thank you for the script! But trying to build game.p** I get:

CMake Error at CMakeLists.txt:8 (find_package):
By not providing "Findkodi.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "kodi", but
CMake did not find one.

Could not find a package configuration file provided by "kodi" with any of
the following names:

kodiConfig.cmake
kodi-config.cmake

Add the installation prefix of "kodi" to CMAKE_PREFIX_PATH or set
"kodi_DIR" to a directory containing one of the above files. If "kodi"
provides a separate development package or SDK, be sure it has been
installed.

The joystick one compiled just fine. Consider upgrading to 16.04 too when you get a chance, well worth it Smile

I am building in:
/home/kodi/workspace/kodi/game.addons-build

kodi (the last one) is a symlink to the git clone of xbmc (retroplayer)
Reply
#35
I now have builds working on 16.04 x64. The link on the first page is still valid. Here it is again:

https://goo.gl/jfkG3v
Reply
#36
In my latest builds, the emulator cores were not compiling. I am working on fixing it now. Some of them currently compile, but the process is still failing. First, Stella was failing because I had no github email or user set up on my build machine. Now that that is corrected, snes9x-next is failing, which stops my script from compiling any more emulators:

Code:
Scanning dependencies of target snes9x-next
[ 31%] Creating directories for 'snes9x-next'
[ 31%] Performing download step (git clone) for 'snes9x-next'
Cloning into 'snes9x-next'...
Already on 'master'
Your branch is up-to-date with 'origin/master'.
[ 31%] Performing patch step for 'snes9x-next'
patching file Makefile.libretro
Hunk #1 FAILED at 224.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.libretro.rej
[ 31%] Performing update step for 'snes9x-next'
Current branch master is up to date.
Already up-to-date!
[ 31%] Performing configure step for 'snes9x-next'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    BUILD_SHARED_LIBS
    ENABLE_STATIC
    OUTPUT_DIR


-- Build files have been written to: /data/kodibuild/game.addons-build/build/snes9x-next/src/snes9x-next-build
[ 31%] Performing build step for 'snes9x-next'
Scanning dependencies of target snes9x-next
[ 12%] Creating directories for 'snes9x-next'
[ 25%] No download step for 'snes9x-next'
[ 37%] No patch step for 'snes9x-next'
[ 50%] No update step for 'snes9x-next'
[ 62%] No configure step for 'snes9x-next'
[ 75%] Performing build step for 'snes9x-next'
src/memmap.c: In function ‘HeaderRemove’:
src/memmap.c:747:3: warning: value computed is not used [-Wunused-value]
   *(headerCount)++;
   ^
src/seta.c: In function ‘S9xSetST010’:
src/seta.c:546:116: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_Scale(*(int16 *) &Memory.SRAM[0x0004], *(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int32 *) Memory.SRAM[0x0010], (int32 *) Memory.SRAM[0x0014]);
                                                                                                                    ^
src/seta.c:546:147: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_Scale(*(int16 *) &Memory.SRAM[0x0004], *(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int32 *) Memory.SRAM[0x0010], (int32 *) Memory.SRAM[0x0014]);
                                                                                                                                                   ^
src/seta.c:575:86: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_Multiply(*(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int32 *) Memory.SRAM[0x0010]);
                                                                                      ^
src/seta.c:651:117: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_Rotate(*(int16 *) &Memory.SRAM[0x0004], *(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0010], (int16 *) Memory.SRAM[0x0012]);
                                                                                                                     ^
src/seta.c:651:148: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_Rotate(*(int16 *) &Memory.SRAM[0x0004], *(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0010], (int16 *) Memory.SRAM[0x0012]);
                                                                                                                                                    ^
src/seta.c:680:82: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_OP01(*(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *)Memory.SRAM[0x0000], (int16 *) Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0004], (int16 *) Memory.SRAM[0x0010]);
                                                                                  ^
src/seta.c:680:112: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_OP01(*(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *)Memory.SRAM[0x0000], (int16 *) Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0004], (int16 *) Memory.SRAM[0x0010]);
                                                                                                                ^
src/seta.c:680:143: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_OP01(*(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *)Memory.SRAM[0x0000], (int16 *) Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0004], (int16 *) Memory.SRAM[0x0010]);
                                                                                                                                               ^
src/seta.c:680:174: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     ST010_OP01(*(int16 *) &Memory.SRAM[0x0000], *(int16 *) &Memory.SRAM[0x0002], (int16 *)Memory.SRAM[0x0000], (int16 *) Memory.SRAM[0x0002], (int16 *) Memory.SRAM[0x0004], (int16 *) Memory.SRAM[0x0010]);
                                                                                                                                                                              ^
[ 87%] No install step for 'snes9x-next'
[100%] Completed 'snes9x-next'
[100%] Built target snes9x-next
[ 32%] Performing install step for 'snes9x-next'
[100%] Built target snes9x-next
Install the project...
-- Install configuration: "Debug"
CMake Error at cmake_install.cmake:44 (file):
  file INSTALL cannot find
  "/data/kodibuild/game.addons-build/build/snes9x-next/src/snes9x-next/snes9x_next_libretro.so".

Makefile:72: recipe for target 'install' failed
make[3]: *** [install] Error 1
CMakeFiles/snes9x-next.dir/build.make:73: recipe for target 'build/snes9x-next/src/snes9x-next-stamp/snes9x-next-install' failed
make[2]: *** [build/snes9x-next/src/snes9x-next-stamp/snes9x-next-install] Error 2
CMakeFiles/Makefile2:1977: recipe for target 'CMakeFiles/snes9x-next.dir/all' failed
make[1]: *** [CMakeFiles/snes9x-next.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Reply
#37
snes9x-next and pocketsnes are broken because they were renamed upstream. I'll fix when I get a chance, until then you should skip building these.
Reply
#38
Right now I am using

-DADDONS_TO_BUILD=game.*

Can I use regex to filter them out, or do I have to now manually specify all of the addons I want?

EDIT: Nevermind, discovered extglob. That should do the trick.
Reply
#39
(2016-11-02, 21:48)MrTarantula Wrote: Right now I am using

-DADDONS_TO_BUILD=game.*

Can I use regex to filter them out, or do I have to now manually specify all of the addons I want?

EDIT: Nevermind, discovered extglob. That should do the trick.

I've been trying to use your gist and have been running into the same problem. Do you have a new version of the gist-ed script to share or maybe just a -DADDONS_TO_BUILD= expression I could try to get over it?
Reply
#40
Change the branch variable to the latest, which I think is 17beta6 right now. The two problem emulators have been renamed and building game.* worked for me.
Reply
#41
If you're only wanting to use Retroplayer you can just add the Team XBMC nightly PPA instead of building it yourself. Since Retroplayer was merged into master, it looks like garbear is able to get bugfixes PR'd pretty quickly. I've had success only building game.libretro* and dropping them into /usr/share/kodi/addons.

Code:
#!/bin/bash
ADDONS=game.libretro*
BRANCH=retroplayer-17beta6
WORKSPACE=/data/kodibuild

sudo rm -rf $WORKSPACE
git clone -b $BRANCH https://github.com/garbear/xbmc $WORKSPACE

mkdir $WORKSPACE/build-addons
cd $ADDONPATH/build-addons
cmake -DADDONS_TO_BUILD=$ADDONS \
      -DCMAKE_BUILD_TYPE=Debug \
      -DCMAKE_INSTALL_PREFIX=$WORKSPACE/addons \
      -DPACKAGE_ZIP=1 \
      $WORKSPACE/project/cmake/addons
make -j2

This built the following addons:
Code:
game.libretro
game.libretro.2048
game.libretro.4do
game.libretro.beetle-bsnes
game.libretro.beetle-gba
game.libretro.beetle-lynx
game.libretro.beetle-ngp
game.libretro.beetle-pce-fast
game.libretro.beetle-psx
game.libretro.bluemsx
game.libretro.bnes
game.libretro.bsnes-mercury-accuracy
game.libretro.bsnes-mercury-balanced
game.libretro.bsnes-mercury-performance
game.libretro.dosbox
game.libretro.fceumm
game.libretro.gambatte
game.libretro.genplus
game.libretro.handy
game.libretro.mame
game.libretro.meteor
game.libretro.mgba
game.libretro.mupen64plus
game.libretro.nestopia
game.libretro.pcsx-rearmed
game.libretro.picodrive
game.libretro.quicknes
game.libretro.reicast
game.libretro.scummvm
game.libretro.snes9x
game.libretro.snes9x2002
game.libretro.snes9x2010
game.libretro.stella
game.libretro.vbam
game.libretro.vba-next
game.libretro.yabause

Forthcoming feature branches (like game library, player manager, etc...) will probably take longer to get into master, I assume, and will still need to be manually built to test.

I am assuming what the process will be like. I'm not connected in any way to the project, I just spectate on Github.
Reply
#42
(2016-12-05, 17:17)MrTarantula Wrote: Change the branch variable to the latest, which I think is 17beta6 right now. The two problem emulators have been renamed and building game.* worked for me.

That seems to have fixed the problem. It doesn't quite work yet for me because I seem to be running out of memory but that's something that's probably totally unrelated. I'll need to fix that first.

MrTarantula Wrote:If you're only wanting to use Retroplayer you can just add the Team XBMC nightly PPA instead of building it yourself. Since Retroplayer was merged into master, it looks like garbear is able to get bugfixes PR'd pretty quickly. I've had success only building game.libretro* and dropping them into /usr/share/kodi/addons.

That's great news! I'll have to try that as soon as I get my ducks in a row.

Thanks for the great help. Keep being awesome. I'll be back.
Reply
#43
Looks like garbear and fetzerch added some more cores since my comment, so there will be even more available when you compile. I'll see if I can get the cores onto Dropbox soon.
Reply
#44
I was able to use a variant of the script upthread to build the libraries, but I found they needed game.controller.* as well, so I just built and copied game.* :

Code:
#!/bin/bash

#ADDONS=game.libretro*
ADDONS=game.*
BRANCH=retroplayer-17beta6
WORKSPACE=/home/xbmc/repos/kodibuild

#sudo rm -rfv $WORKSPACE
# uncomment if you want to remove automatically
#rm -rfv $WORKSPACE
git clone -b $BRANCH https://github.com/garbear/xbmc $WORKSPACE

mkdir $WORKSPACE/build-addons
cd $WORKSPACE/build-addons
cmake -DADDONS_TO_BUILD=$ADDONS \
      -DCMAKE_BUILD_TYPE=Debug \
      -DCMAKE_INSTALL_PREFIX=$WORKSPACE/addons \
      -DPACKAGE_ZIP=1 \
      $WORKSPACE/project/cmake/addons
make -j2

Unfortunately, when I try to use the addons, I get :

Code:
11:16:49.414 T:140135148239232   ERROR: ADDON: Dll NES / Famicom (FCEUmm) - Client returned bad status (6) from Create and is not usable
11:17:01.252 T:140135148239232   ERROR: RetroPlayer: Failed to initialize game.libretro.fceumm
Is this because I'm running a nightly of 18, but the current retroplayer merge is against 17?

Edit : I also tried building 17b7 and using it against kodi 17b7 from PPA, and it didn't work either....
Reply
#45
(2016-12-20, 05:16)darwin Wrote: Unfortunately, when I try to use the addons, I get :

Code:
11:16:49.414 T:140135148239232   ERROR: ADDON: Dll NES / Famicom (FCEUmm) - Client returned bad status (6) from Create and is not usable
11:17:01.252 T:140135148239232   ERROR: RetroPlayer: Failed to initialize game.libretro.fceumm
Is this because I'm running a nightly of 18, but the current retroplayer merge is against 17?

Edit : I also tried building 17b7 and using it against kodi 17b7 from PPA, and it didn't work either....

There is most likely a difference in your system between kodi - game.libretro - game.libretro.fceumm.
Please make sure you compile against the correct version of: https://github.com/kodi-game/game.libretro
I had this issue quite a few times while playing around.
Reply

Logout Mark Read Team Forum Stats Members Help
Linux Testing0