Ember does not compile

Bug #1706240 reported by Todd Carnes on 2017-07-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ember
Medium
Erik Ogenvik

Bug Description

I am trying to build on a fresh install of 64 bit Fedora 26.

While following the (incomplete) directions at http://wiki.worldforge.org/wiki/Hammer_Script, the command "./hammer.sh build all" fails while building ember.

I get the following errors.

/home/todd/src/worldforge/hammer/work/source/worldforge/clients/ember/src/components/lua/Connectors.cpp: In member function ‘void Ember::Lua::ConnectorBase::callFunction(lua_State*, int)’:
/home/todd/src/worldforge/hammer/work/source/worldforge/clients/ember/src/components/lua/Connectors.cpp:116:20: error: ‘LUA_GLOBALSINDEX’ was not declared in this scope
  lua_rawget(state, LUA_GLOBALSINDEX); /* get traceback function */
                    ^~~~~~~~~~~~~~~~
/home/todd/src/worldforge/hammer/work/source/worldforge/clients/ember/src/components/lua/Connectors.cpp:116:20: note: suggested alternative: ‘LUA_HOOKLINE’
  lua_rawget(state, LUA_GLOBALSINDEX); /* get traceback function */
                    ^~~~~~~~~~~~~~~~
                    LUA_HOOKLINE
make[2]: *** [src/components/lua/CMakeFiles/lua.dir/build.make:159: src/components/lua/CMakeFiles/lua.dir/Connectors.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:888: src/components/lua/CMakeFiles/lua.dir/all] Error 2

I have already found and corrected many errors with the directions on the site, but this time I'm stuck.

Todd Carnes (toddcarnes) wrote :

Is this related to bug #1498142?

I have Lua 5.3.4.

Erik Ogenvik (erik-ogenvik) wrote :

Yes, this is caused by tolua++ only supporting Lua 5.1. However, this should still be provided for Fedora 23: https://www.rpmfind.net/linux/RPM/fedora/26/x86_64/c/compat-lua-devel-5.1.5-7.fc26.x86_64.html

I've now also pushed some changed to Ember which should make it better at picking up 5.1 specifically if multiple versions are installed. Could you try checking out new sources and rebuilding?

Changed in ember:
status: New → Confirmed
importance: Undecided → Critical
importance: Critical → Medium
assignee: nobody → Erik Ogenvik (erik-ogenvik)

OK, but just to make sure I understand correctly. You want me to...

1. Install Lua 5.1 onto my Fedora system (assuming it's still available on
Fedora 26).
2. Pull your new changes.
3. Try to build again.

Correct?

On Sun, Jul 30, 2017 at 9:32 AM, Erik Ogenvik <email address hidden> wrote:

> Yes, this is caused by tolua++ only supporting Lua 5.1. However, this
> should still be provided for Fedora 23:
> https://www.rpmfind.net/linux/RPM/fedora/26/x86_64/c/compat-lua-
> devel-5.1.5-7.fc26.x86_64.html
>
> I've now also pushed some changed to Ember which should make it better
> at picking up 5.1 specifically if multiple versions are installed. Could
> you try checking out new sources and rebuilding?
>
> ** Changed in: ember
> Status: New => Confirmed
>
> ** Changed in: ember
> Importance: Undecided => Critical
>
> ** Changed in: ember
> Importance: Critical => Medium
>
> ** Changed in: ember
> Assignee: (unassigned) => Erik Ogenvik (erik-ogenvik)
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1706240
>
> Title:
> Ember does not compile
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ember/+bug/1706240/+subscriptions
>

Erik Ogenvik (erik-ogenvik) wrote :

Yes. From the link I provided it seems like a "compat-lua-devel-5.1.5" package should be available for Fedora.

You also probably need to rebuild CEGUI, to have it build the Lua bindings.

Todd Carnes (toddcarnes) wrote :

I deleted the entire directory structure and started from scratch. The build still fails, but now it reads...

  Installing...
  Done.
  Worlds...
  Configuring...
  Building...
  Installing...
  Done.
  Ember client...
  Configuring...
CMake Error at cmake/FindCEGUI.cmake:247 (message):
  Required library CEGUI not found! Install the library (including dev
  packages) and try again. If the library is already installed, set the
  missing variables manually in cmake.
Call Stack (most recent call first):
  cmake/FindCEGUI.cmake:490 (findpkg_finish)
  CMakeLists.txt:136 (find_package)

I found cegui in "/home/todd/src/worldforge/hammer/work/build/cegui-0.8.7/native-64", but I don't know how to point cmake at it.

Todd Carnes (toddcarnes) wrote :

FWIW, Fedora 26 requires a "dnf install compat-lua-devel" to install Lua 5.1.

Erik Ogenvik (erik-ogenvik) wrote :

With Fedora 26 tolua++ is made to use Lua 5.3.

There's an override one can specify for CMake which makes it pick up Lua 5.3 rather than 5.1.
If you issue "cmake -DLUA_VERSION=5.3" it tells the build system to use 5.3.

However, this is not integrated into Hammer. It would be even better if the CMake system handled this by itself though.
The status of Ember for Fedora 26 and Rawhide can be seen here: https://build.opensuse.org/package/show/games:WorldForge/ember

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers