Opened 12 years ago
Closed 7 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)
Change History (21)
comment:1 Changed 12 years ago by pini
comment:2 Changed 12 years ago by pini
While cmake configuration was mostly fixed by r4465, a few glitches remain. Attaching an updated patch against r4494.
Changed 12 years ago by pini
comment:3 Changed 11 years ago by pini
- Cc pini@… added
comment:4 Changed 11 years ago by pini
Hi,
Please find attached a new update of my fix-cmake patch against r4724.
comment:5 Changed 11 years ago by pini
Updated against r4776. Just one hunk remaining.
comment:6 Changed 11 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 11 years ago by pini
comment:7 Changed 11 years ago by pini
New hunk to add a CMakeLists.txt to navit/vehicle/null.
comment:8 Changed 10 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 10 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: ↓ 11 Changed 10 years ago by gilles filippini
- Resolution Incomplete/Missing infos deleted
- Status changed from closed to reopened
comment:11 in reply to: ↑ 10 Changed 10 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 10 years ago by usul
- Keywords cmake autotools debian deb added
- Milestone set to version 0.5.1
comment:13 Changed 9 years ago by usul
- Keywords patches added
- Severity set to normal
comment:14 Changed 7 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 7 years ago by gilles filippini (2)
Yep, it works. Thanks.
comment:16 Changed 7 years ago by kazer
- Resolution set to fixed
- Status changed from reopened to closed
Thanks Gilles. Merged in https://github.com/navit-gps/navit/pull/65
Patch updated with a rough workaround for the libvehicle_{pipe,serial,socket}.so install path.