Opened 7 years ago

Closed 2 years ago

#832 closed defect/bug (fixed)

[cmake] Various fixes

Reported by: pini Owned by: KaZeR
Priority: major Milestone: version 0.5.1
Component: install Version: git master
Severity: normal Keywords: cmake, autotools, debian, deb, patches
Cc: pini@…

Description

Hi,

While trying to migrate the debian packaging to use the cmake build system I've had to fix various issues so that the generated packages don't miss anything. Please see the attached path created against r4418.

One thing remains to fix (I don't know how to proceed): plugins libvehicle_{pipe,serial,socket} are currently installed into <prefix>/lib/navit instead of <prefix>/lib/navit/vehicle.

Attachments (5)

fix-cmake.patch (8.3 KB) - added by pini 7 years ago.
New release of the patch with a few more fixes and workarounds
fix-cmake.2.patch (2.0 KB) - added by pini 7 years ago.
fix-cmake.3.patch (2.3 KB) - added by pini 6 years ago.
Patch against r4724
fix-cmake.4.patch (1.8 KB) - added by pini 6 years ago.
fix-cmake.5.patch (2.1 KB) - added by pini 6 years ago.
New hunk to add a CMakeLists.txt to navit/vehicle/null

Download all attachments as: .zip

Change History (21)

comment:1 Changed 7 years ago by pini

Patch updated with a rough workaround for the libvehicle_{pipe,serial,socket}.so install path.

Changed 7 years ago by pini

New release of the patch with a few more fixes and workarounds

comment:2 Changed 7 years ago by pini

While cmake configuration was mostly fixed by r4465, a few glitches remain. Attaching an updated patch against r4494.

Changed 7 years ago by pini

comment:3 Changed 6 years ago by pini

  • Cc pini@… added

comment:4 Changed 6 years ago by pini

Hi,

Please find attached a new update of my fix-cmake patch against r4724.

Changed 6 years ago by pini

Patch against r4724

comment:5 Changed 6 years ago by pini

Updated against r4776. Just one hunk remaining.

comment:6 Changed 6 years ago by pini

Well, actually *two* hunks left. The one related to cmake/navit_macros.cmake is needed to ensure proper linking for the plugins. When not present, the build is successful but navit won't start:

$ navit
navit:main_real:trying /home/pini/.navit/navit.xml
navit:plugin_load:can't load '/usr/lib/navit/binding/libbinding_dbus.so', Error '/usr/lib/navit/binding/libbinding_dbus.so: undefined symbol: dbus_message_get_member'
navit:plugin_load:can't load '/usr/lib/navit/graphics/libgraphics_gtk_drawing_area.so', Error '/usr/lib/navit/graphics/libgraphics_gtk_drawing_area.so: undefined symbol: gtk_window_get_type'
navit:vehicle_new:no source
navit:plugin_load:can't load '/usr/lib/navit/vehicle/libvehicle_gpsd.so', Error '/usr/lib/navit/vehicle/libvehicle_gpsd.so: undefined symbol: gps_stream'
navit:vehicle_new:invalid type 'gpsd'

Replacing accordingly the previous attachment.

Changed 6 years ago by pini

comment:7 Changed 6 years ago by pini

New hunk to add a CMakeLists.txt to navit/vehicle/null.

Changed 6 years ago by pini

New hunk to add a CMakeLists.txt to navit/vehicle/null

comment:8 Changed 4 years ago by usul

  • Resolution set to Incomplete/Missing infos
  • Status changed from new to closed

Hi Pini, I guess the patch were applied already? Can we close this ticket?

comment:9 Changed 4 years ago by gilles filippini

Hi. Sorry I didn't answer sooner; Login into trac using the wiki.navit-project openid doesn't work anymore for me. I'm finally back with a launchpad openid.

My last check is at SVN r5530 for which I still need this one hunk patch:

Index: navit/cmake/navit_macros.cmake
===================================================================
--- navit.orig/cmake/navit_macros.cmake	2013-03-22 23:19:45.000000000 +0100
+++ navit/cmake/navit_macros.cmake	2013-03-22 23:43:02.000000000 +0100
@@ -16,11 +16,11 @@
       set(${VARIABLE} ${ENABLE} CACHE BOOL "feature switch" FORCE)
       set(${VARIABLE}_ORIGINAL ${ENABLE} CACHE INTERNAL "original value set by build script")
       set(${VARIABLE}_REASON ${REASON})
-      string(REPLACE "/" "_" VARIABLE_NAMES ${VARIABLE})
-      set(${VARIABLE_NAMES}_LIBS ${ARGN})
    else()
       message(WARNING "Do not change user defined settings for ${VARIABLE}")
    endif()
+   string(REPLACE "/" "_" VARIABLE_NAMES ${VARIABLE})
+   set(${VARIABLE_NAMES}_LIBS ${ARGN})
 endmacro()
 
 macro(add_feature FEATURE REASON ENABLE)

Without it, running navit fails with:

navit:plugin_load:can't load '/usr/lib/navit/binding/libbinding_dbus.so', Error '/usr/lib/navit/binding/libbinding_dbus.so: undefined symbol: dbus_message_get_member'
navit:plugin_load:can't load '/usr/lib/navit/font/libfont_freetype.so', Error '/usr/lib/navit/font/libfont_freetype.so: undefined symbol: FTC_ImageCache_New'

comment:10 follow-up: Changed 4 years ago by gilles filippini

  • Resolution Incomplete/Missing infos deleted
  • Status changed from closed to reopened

comment:11 in reply to: ↑ 10 Changed 4 years ago by gilles filippini

My last check is at SVN r5530 for which I still need this one hunk patch:

Confirmed with SVN r5549. Updated patch:

Index: navit/cmake/navit_macros.cmake
===================================================================
--- navit.orig/cmake/navit_macros.cmake	2013-07-22 14:47:49.000000000 +0200
+++ navit/cmake/navit_macros.cmake	2013-07-22 14:48:24.000000000 +0200
@@ -15,9 +15,9 @@
    if (DEFINED ${VARIABLE}_REASON AND NOT ${VARIABLE}_REASON STREQUAL "User defined")
       set(${VARIABLE} ${ENABLE} CACHE BOOL "feature switch" FORCE)
       set(${VARIABLE}_REASON ${REASON})
-      string(REPLACE "/" "_" VARIABLE_NAMES ${VARIABLE})
-      set(${VARIABLE_NAMES}_LIBS ${ARGN})
    endif()
+   string(REPLACE "/" "_" VARIABLE_NAMES ${VARIABLE})
+   set(${VARIABLE_NAMES}_LIBS ${ARGN})
    set(${VARIABLE}_AUTODETECTED_VALUE ${ENABLE} CACHE INTERNAL "value autodetected by build script")
 endmacro()

comment:12 Changed 4 years ago by usul

  • Keywords cmake autotools debian deb added
  • Milestone set to version 0.5.1

comment:13 Changed 4 years ago by usul

  • Keywords patches added
  • Severity set to normal

comment:14 Changed 2 years ago by kazer

Patch applied in https://github.com/navit-gps/navit/tree/trac-832

Gilles, would you be able to test the packaging against this branch ?

comment:15 Changed 2 years ago by gilles filippini (2)

Yep, it works. Thanks.

comment:16 Changed 2 years ago by kazer

  • Resolution set to fixed
  • Status changed from reopened to closed
Note: See TracTickets for help on using tickets.