We have moved to a new Sailfish OS Forum. Please start new discussions there.
1

Urho3D building with MerSDK

asked 2015-09-06 15:37:58 +0300

Ósanwe gravatar image

updated 2015-09-07 09:07:51 +0300

Hello!

I have tried to build Urho3D with MerSDK and got following error while I use cmake_generic.sh:

CMake Error at CMake/Modules/FindBCM_VC.cmake:59 (message):
  Could not find Broadcom VideoCore firmware
Call Stack (most recent call first):
  CMake/Modules/Urho3D-CMake-common.cmake:401 (find_package)
  CMakeLists.txt:47 (include)

I have read build instructions and tried to install required libs:

[root@SailfishSDK ~]# zypper search libgl-devel
Loading repository data...
Reading installed packages...

S | Name                         | Summary                        | Type   
--+------------------------------+--------------------------------+--------
  | mesa-llvmpipe-libGL-devel    | Mesa libGL development package | package
  | mesa-x86-generic-libGL-devel | Mesa libGL development package | package
[root@SailfishSDK ~]# zypper install mesa-llvmpipe-libGL-devel
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides mesa-llvmpipe-libGL = 9.2.5+git2-1.3.11 needed by mesa-llvmpipe-libGL-devel-    9.2.5+git2-1.3.11.i486
 Solution 1: do not install mesa-llvmpipe-libGL-devel-9.2.5+git2-1.3.11.i486
 Solution 2: break mesa-llvmpipe-libGL-devel-9.2.5+git2-1.3.11.i486 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

Nothing to do.
[root@SailfishSDK ~]# zypper install mesa-x86-generic-libGL-devel
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides pkgconfig(x11) needed by mesa-x86-generic-libGL-devel-8.0.1-1.8.Nemo.i486
 Solution 1: do not install mesa-x86-generic-libGL-devel-8.0.1-1.8.Nemo.i486
 Solution 2: break mesa-x86-generic-libGL-devel-8.0.1-1.8.Nemo.i486 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

Nothing to do.

Also another three libs are required: libX11-devel, libXrandr-devel, and alsa-lib-devel. The last one was installed without any problem, but another ones are not available because of using wayland in system.

As a result I have a question about possibility of compiling this project. I asked the question about it on GitHub but there is not useful answer.

Thanks in advance!

P.S. Also I have tried use cmake_rpi.sh and installed both required libs (alsa-lib-devel and systemd-devel) but I had the same error message.

Upd: I know that I use SDL directly from my project, but using tools like this make the process of developing 3D apps faster and easier. :)

edit retag flag offensive close delete

Comments

maybe an idea to get yourself an account on https://build.merproject.org/ to help you manage all your deps

r0kk3rz ( 2015-09-06 19:54:49 +0300 )edit

Did you try to build it for the actual ARM (or i486) target (https://sailfishos.org/develop/tutorials/building-sailfish-os-packages-manually/) with the sb2 cross compilation tool?

skvark ( 2015-09-06 21:37:00 +0300 )edit

@skvark: Yes, I read this tutorial. The command I used is sb2 -t SailfishOS-armv7hl ./cmake_generic.sh ../Urho3DBuild.

Ósanwe ( 2015-09-06 21:42:56 +0300 )edit

Hmm, if you search for those packages from https://build.merproject.org/ it seems there are some existing builds / packages for them. You could try to add some of those repos to the SailfishOS-armv7hl target and install the libs and after that try to build Urho3D.

skvark ( 2015-09-06 22:24:14 +0300 )edit

@skvark@r0kk3rz: I could not find any package there for my purpose...

Ósanwe ( 2015-09-07 08:56:46 +0300 )edit

2 Answers

Sort by » oldest newest most voted
5

answered 2015-09-07 20:18:52 +0300

cl_ix gravatar image

updated 2015-09-07 20:47:55 +0300

After several hours of tweaking with the CMake files, essentially creating a new build target, then working around Urho3d's poor build design with it's overuse of #ifdef macros, I was able to build Urho3D for Sailfish OS and actually test some of the demos on an actual device, but many things were NOT working correctly such landscape mode, audio, and touch screen.

The main problem is SDL2.

Urho3D ties itself directly to its own fork of SDL2 which doesn't work on Sailfish, and Sailfish's version of SDL2 is simply too buggy and the developer responsible for SDL2 (who many have emailed) has shown no interest in fixing these problems.

The problems you've encountered may have been to due to Urho3d's CMake files automatically choosing the Raspberry Pi target when it detects that the GCC compiler supports ARM. When the RPI isn't chosen, the Linux target is chosen, but the Urho3D developers zealously assume that a Linux target is always running on x86 or x64 hardware, doesn't support touch screens or OpenGL ES 2.0, which often isn't the case (i.e. Firefox Mobile, Sailfish OS,and Ubuntu Phone are examples)

Since Jolla's direction and future is unclear (The CEO, key management and key developers have already left), and they are more interested in Android compatibility, one is likely better off using Unity 3D or a similar Android engine.

edit flag offensive delete publish link more
0

answered 2015-09-06 19:35:42 +0300

tortoisedoc gravatar image

Ive had similar problems with other packages (qml profiler); Solution was to get source and build on my behalf :/

edit flag offensive delete publish link more
Login/Signup to Answer

Question tools

Follow
2 followers

Stats

Asked: 2015-09-06 15:37:58 +0300

Seen: 638 times

Last updated: Sep 07 '15