Difference between revisions of "Windows"

From Navit's Wiki
Jump to: navigation, search
(Dependencies)
(+table for version)
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
[[image:Navit win32 dutch.JPG|320px|thumb|Navit under Windows, GTK Gui, Dutch translation]]
 
[[image:Navit win32 dutch.JPG|320px|thumb|Navit under Windows, GTK Gui, Dutch translation]]
  
'''Navit on Windows'''
 
Progress on the win32 support will be documented on this page.
 
  
 +
{|class="wikitable
 +
!Version!!Support
 +
|-
 +
|Windows 2000|| ?
 +
|-
 +
|Windows XP|| ?
 +
|-
 +
|Windows Vista|| ?
 +
|-
 +
|Windows 7|| ?
 +
|-
 +
|Windows 8|| ?
 +
|}
  
 
== Download the binary distribution package of Navit ==
 
== Download the binary distribution package of Navit ==
Line 10: Line 21:
  
 
The WinCE binary distribution of Navit can be downloaded via the [[Download Navit]] page, or download the [http://download.navit-project.org/navit/wince/svn/ WinCE bleeding edge] compiled daily from SVN.
 
The WinCE binary distribution of Navit can be downloaded via the [[Download Navit]] page, or download the [http://download.navit-project.org/navit/wince/svn/ WinCE bleeding edge] compiled daily from SVN.
 +
 +
If the created start menu entry does not work, check if a 'bin' is too many in the link target location.
  
 
==Tips and Tricks==
 
==Tips and Tricks==
 +
{{warning|The [[Win32 GUI]] build is broken, so use [[Gui internal]] instead!}}
 
Compiling, configuring and running Navit on Windows can be a challenge at times. Below are a few hints, in addition to the more detailed instructions following.
 
Compiling, configuring and running Navit on Windows can be a challenge at times. Below are a few hints, in addition to the more detailed instructions following.
*It is best not to use the “win32” GUI (ie <gui type="win32" />) as this is no longer being supported. It is advisable to use the “internal” GUI (<gui type="internal" />) instead.
 
 
* Support for NMEA serial GPS receiver devices (USB/Bluetooth) was broken in the win32 port since Navit releases 0.1.0. It is restored with the latest builds (3650 and higer). The configuration for serial devices has changed: For example, a serial device on Com4 can be configured as follows:
 
* Support for NMEA serial GPS receiver devices (USB/Bluetooth) was broken in the win32 port since Navit releases 0.1.0. It is restored with the latest builds (3650 and higer). The configuration for serial devices has changed: For example, a serial device on Com4 can be configured as follows:
  
 +
<source lang="xml">
 
   <vehicle name="GPSOnCom4" enabled="yes" active="1" source="serial:COM4 baud=115200 parity=N data=8 stop=1" />
 
   <vehicle name="GPSOnCom4" enabled="yes" active="1" source="serial:COM4 baud=115200 parity=N data=8 stop=1" />
 +
</source>
  
==Compiling / debugging using CodeBlocks & mingw compiler==
+
==See also==
Up to and including release 0.0.4 the Win32 builds were supported using the CodeBlocks/mingw development environment,
+
*[[Windows development]]
in combination with the glade for win32 GTK devlopment toolkit. For release 0.1.0 and later use native mingw
 
(see below) or cygwin (see below).
 
 
 
=== Downloads ===
 
 
 
In order to compile the win32 version of Navit, you need the following software development tools:
 
*Glade/gtk+ toolkit for win32 from
 
 
 
[http://http://sourceforge.net/project/showfiles.php?group_id=98754 Glade 3.43 / Gtk 2.12.9]
 
 
 
[http://gladewin32.sourceforge.net/modules/wfdownloads/visit.php?lid=110 link ??broken?? Gtk+ 2.10.11]
 
 
 
[http://sourceforge.net/project/showfiles.php?group_id=98754&package_id=111411 SourceForgeDownload: Gtk+ 2.10.11]
 
*ming compiler from [http://www.mingw.org Website: mingw]
 
 
 
[http://sourceforge.net/project/showfiles.php?group_id=2435 SourceForgeDownload: MinGW] (select Automated MinGW installer)
 
*CodeBlocks IDE from [http://www.codeblocks.org/downloads.shtml CodeBlocks download page] (select recent development snapshot)
 
 
 
[http://sourceforge.net/project/showfiles.php?group_id=126998&package_id=138996 SourceForgeDownload: CodeBlocks]
 
 
 
=== Installation ===
 
Install the packages mentioned above. After everything has been installed you can open the navit.workspace file in CodeBlocks:
 
 
 
Not up to date! Directory projs\CodeBlocks was deleted in 2009
 
 
 
=== Compiling ===
 
 
 
=====Not up to date! Directory projs\CodeBlocks was deleted in 2009=====
 
 
 
*Start the CodeBlocks application
 
*Open the navit.workspace file (located in projs\CodeBlocks directory)
 
*Set the GTK_DIR enviroment variable in CodeBlocks (Setting/Environment, and select environments variables)
 
*the GTK_DIR should point to where you have installed the Glade/Gtk toolkit package (e.g. d:\gtk)
 
 
 
Now you should be able to  build/debug the navit project:
 
 
 
Notes:
 
 
 
'''ZLIB -lzdll message '''
 
''Settings> Compiler and Debugger..> Global compiler settings
 
In the Linker settings TAB (Add) C:\MinGW\lib\libzdll.a''
 
 
 
'''SAPI'''
 
''You need to download and install the [http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en Microsoft Speech SDK 5.1] for this project to build.''
 
 
 
=== Running from debugger ===
 
In order to run navit from the CodeBlocks debugger, you have to:
 
* Copy the navit.xml file from the source directory into the projs\CodeBlocks directory
 
* Copy the xpm directory from the toplevel directory into the projs\CodeBlocks directory
 
* Modify the navit.xml to set the map (currently only OSM binary files are supported)
 
 
 
==Compiling and running using cygwin==
 
 
 
Note: I have been unable to build with cygwin according to these instructions. I suggest you only try it if you are knowledgable
 
and can improve the instructions. --[[User:Nop|Nop]] 13:01, 7 November 2010 (UTC)
 
 
 
===Dependencies===
 
You will probably need the following packages from cygwin :
 
 
 
* automake
 
* autoconf
 
* gtk2-x11-devel
 
* libqt4gui-devel
 
* gcc
 
+ g++ (for qt rendered)
 
* gettext-devel
 
* diffutils
 
* pkgconfig
 
* xorg-x11-devel
 
* glib2-devel
 
* pango-devel
 
* atk-devel
 
* libtool
 
* make
 
* rsvg
 
* wget
 
* cvs because of autopoint
 
 
 
===Prepare the build===
 
 
 
When using cygwin 1.7 you can skip this block and continue at cygwin 1.7
 
 
 
Edit configure.in and add the following to CFLAGS at line 10:
 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
 
 
 
It should look like this :
 
        CFLAGS="$CFLAGS -Wall -Wcast-align -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith -Wreturn-type -D_GNU_SOURCE -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include"
 
 
 
Now run
 
autogen.sh && ./configure
 
 
 
If you get :
 
checking for X... no
 
 
 
try adding the following parameters to ./configure :
 
--x-libraries=/usr/X11R6/lib  --x-include=/usr/X11R6/includes
 
 
 
=====Cygwin 1.7=====
 
With cygwin 1.7 is fairly easy to build navit. Install all the required packages(some has diffrent names now).
 
Run the autogen script first
 
 
 
./autogen.sh
 
 
 
and then configure with the following options:
 
 
 
./configure --disable-binding-python --disable-plugins
 
 
 
===Build navit===
 
 
 
Skip for cygwin 1.7
 
 
 
Currently, building navit will fail at this point, because we haven't found an implementation of the wordexp function for cygwin.
 
 
 
Here's a message in that thread from an actual competent Cygwin user: http://www.mail-archive.com/cygwin@cygwin.com/msg16750.html
 
 
 
The implication of that is a "C library". A "C library" is an "implementation" of reusable code. It consists of a library file that contains the compiled object code and a header file with the matching declarations that goes along with it. The library is implemented as a static archive at build time and simply linked into the app binary. There's nothing to include in that case -- it's already in there.
 
 
 
 
 
====Cygwin 1.7====
 
 
 
Just type make and make install:
 
 
 
make
 
 
 
make install
 
 
 
You can use stow for easy install and uninstall stuff without using packagemangement.
 
 
 
===Configuration GPS===
 
 
 
If this works at all, it's only when running under cygwin. See above for the proper Win32 configuration. --[[User:Nop|Nop]] 13:04, 7 November 2010 (UTC)
 
 
 
If you have a gps cable device which spits out NMEA data, you can configure it like under unix. Beware of the following enumeration:
 
* ComPort1==ttyS0
 
* ComPort2==ttyS1
 
* ...
 
 
 
Example:
 
<vehicle name="GPSOnCom3" profilename="car" enabled="yes" active="1" source="file:/dev/ttyS2" baudrate="38400" color="#0000ff"/>
 
 
 
===Running under Cygwin===
 
 
 
To run navit under cygwin you need to install the cygwin xorg-server. Than just run navit.
 
 
 
 
 
 
 
===Make a redistributable package===
 
 
 
* http://cygwin.com/setup.html
 
 
 
Please read and understand http://cygwin.com/licensing.html so that you don't infringe Cygwin's intellectual property rights (copyleft) when you distribute the package you've built.
 
 
 
==Compiling a native binary using mingw==
 
 
 
The main advantage of this method is that it will produce a redistributable binary.
 
 
 
===Downloads===
 
 
 
In order to compile the win32 version of Navit, you need the following software development tools
 
*GTK+ toolkit for win32 from [http://sourceforge.net/project/showfiles.php?group_id=98754 SourceForgeDownload: Glade/GTK+] (select gtk+-win32-devel)
 
*MinGW from [http://sourceforge.net/project/showfiles.php?group_id=2435 SourceForgeDownload: MinGW] (select Automated MinGW installer)
 
 
 
*MSYS from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 SourceForgeDownload: MSYS Base System]
 
*msysCORE from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 SourceForgeDownload: MSYS Base System]
 
*diffutils from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=24963 SourceForgeDownload: MSYS Base System]
 
*autoconf from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 SourceForgeDownload: MSYS Supplementary Tools]
 
*autogen from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 SourceForgeDownload: MSYS Supplementary Tools]
 
*automake from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 SourceForgeDownload: MSYS Supplementary Tools]
 
*gettext from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 SourceForgeDownload: MSYS Supplementary Tools]
 
*libtool from [http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879 SourceForgeDownload: MSYS Supplementary Tools]
 
*libiconv from [http://sourceforge.net/downloads/mingw/MinGW/libiconv SourceForgeDownload: MSYS Supplementary Tools]
 
 
 
Probably the easiest way to obtain and install all the MSYS packages is to follow the instructions [http://www.mingw.org/wiki/msys here]
 
 
 
For speech support, one option is to use the "cmdline" speech type (refer to [[Configuring Navit]]) and a utility such as a Windows port of [http://krolik.net/wsvn/wsvn/public/Say%2B%2B/ Say]
 
 
 
== TroubleShooting ==
 
 
 
'''/bin/m4: unrecognized option '--gnu''''
 
 
 
Wrong version of m4, use 1.4.13
 
 
 
'''Can't locate object method "path" via package "Request (perhaps you forgot to load "Request"?)'''
 
 
 
Wrong version of Autoconf, make sure the latest version is installed, plus the wrapper (version 1.7). Also delete autom4te.cache.
 
 
 
'''command PKG_MODULE_EXISTS not recognized'''
 
 
 
For some reason the necessary file "pkg.m4" containing various macros is missing. Find it and put it in ./m4
 
 
 
==Windows Mobile/Windows CE==
 
[[Compiling_Navit_for_WinCE/WinMobile]] may have details that are relevant for compilation on WindowsCE / Windows Mobile.
 
 
 
You can download now
 
[http://download.navit-project.org/navit/wince/svn/ cab or zip file for Windows Mobile and WindowsCE]!
 
Highest number is the newest version of NavIt.
 
 
 
Download it and save on your Storage Card. Install it.
 
 
 
Now you have NavIt on your PDA or Mobile Phone.
 
 
 
 
 
 
 
 
 
'''This is a manual for self compiling (navit.exe)'''
 
 
 
 
 
You need to have a Linux (like Ubuntu).
 
If you didn´t have Linux, start your Linux on Live-CD.
 
 
 
Compiling navit for wince using http://cegcc.sourceforge.net/.
 
Download latest cegcc release and install it.
 
 
 
In November 2009 versions compiled using arm-cegcc-gcc (both revision 1214 and release 0.59.1) had problems (threw exception_datatype_misalignment and caused access violations).<br />
 
Using the variant arm-mingw32ce of CeGCC 0.59.1 it was possible to build a working executable which can be debugged (see [[Compiling Navit for WinCE/WinMobile]]).
 
 
 
Source [http://www.archlinux.de/?page=PackageDetails;package=4837 cegcc-arm and mingw]  (TODO dead link)
 
 
 
Current installs in /opt/cegcc.
 
Setup a cross-compile environment:
 
 
 
Example setcegccenv.sh:
 
#! /bin/bash
 
export PATH=$PATH:/opt/cegcc/bin/
 
export CEGCC_PATH=/opt/cegcc
 
export WINCE_PATH=/opt/wince
 
export PATH=$CEGCC_PATH/bin:$PATH
 
export CPPFLAGS="-I$WINCE_PATH/include"
 
export LDFLAGS="-L$WINCE_PATH/lib -L$CEGCC_PATH/lib"
 
export LD_LIBRARY_PATH="$WINCE_PATH/bin"
 
export PKG_CONFIG_PATH="$WINCE_PATH/lib/pkgconfig"
 
export PKG_CONFIG_LIBDIR="$WINCE_PATH/lib/pkgconfig"
 
 
 
 
For installation, compiling and configuring please see manual for NavIt on Linux.
 
 
 
Then autogen.sh and configure navit. Example configure for wince:
 
./configure \
 
RANLIB=arm-cegcc-ranlib \
 
CXX=arm-cegcc-g++ \
 
CC=arm-cegcc-gcc \
 
--host=arm-pe-wince \
 
--disable-readline \
 
--disable-dynamic-extensions \
 
--disable-largefile \
 
--enable-tempstore \
 
CFLAGS="-I/opt/wince/include -mwin32 -DWIN32 -D_WIN32_WCE=0x0400 -D_WIN32_IE=0x0400 -Wl,--enable-auto-import" \
 
LDFLAGS="-L/opt/wince/lib" \
 
--prefix=/opt/wince/  \
 
WINDRES=arm-cegcc-windres \
 
--disable-vehicle-demo \
 
--disable-vehicle-file \
 
--disable-speech-cmdline \
 
--disable-speech-speech-dispatcher  \
 
--disable-postgresql \
 
--disable-plugins \
 
--prefix=/opt/wince \
 
--disable-graphics-qt-qpainter \
 
--disable-gui-sdl  \
 
--disable-samplemap \
 
--disable-gui-gtk \
 
--disable-gui-internal \
 
--disable-vehicle-gypsy \
 
--disable-vehicle-file \
 
--disable-vehicle-demo  \
 
--disable-binding-dbus \
 
--enable-avoid-unaligned \
 
--enable-avoid-float
 
 
 
If example did not run, do this:
 
 
 
./configure \
 
  RANLIB=arm-mingw32ce-ranlib \
 
  CXX=arm-mingw32ce-g++ \
 
  CC=arm-mingw32ce-gcc \
 
  --host=arm-pe-wince \
 
  --disable-readline \
 
  --disable-dynamic-extensions \
 
  --disable-largefile \
 
  --enable-tempstore ¸\
 
  CFLAGS="-mwin32 -DWIN32 -D_WIN32_WCE=0x0400 -D_WIN32_IE=0x0400 -Wl,\
 
  --enable-auto-import" WINDRES=arm-mingw32ce-windres \
 
  --disable-vehicle-demo  \
 
  --disable-vehicle-file \
 
  --disable-speech-cmdline \
 
  --disable-speech-speech-dispatcher  \
 
  --disable-postgresql  \
 
  --disable-plugins \
 
  --prefix=/opt/wince \
 
  --disable-graphics-qt-qpainter \
 
  --disable-gui-sdl  \
 
  --disable-samplemap \
 
  --disable-gui-gtk \
 
  --disable-gui-internal \
 
  --disable-vehicle-gypsy \
 
  --disable-vehicle-file \
 
  --disable-vehicle-demo \
 
  --disable-binding-dbus \
 
  --enable-avoid-unaligned \
 
  --enable-avoid-float \
 
  --enable-support-libc \
 
  PKG_CONFIG=arm-mingw32ce-pkgconfig
 
 
 
 
 
 
 
This is basic just to view the maps. Then:
 
make
 
As usual, osm2navit.exe will fail to compile.
 
cd navit && make navit.exe
 
 
 
You find navit.exe under (your directory)/navit/navit/navit.exe
 
 
 
Install sync on your system.
 
 
 
 
----
 
 
 
For installation you need packages librapi, liprapi2, pyrapi2, libsync.
 
Package synce-0.9.0-1 contains librapi and libsync.
 
You do not need to install it again!
 
 
 
Sources:
 
 
 
 
 
[http://sourceforge.net/project/showfiles.php?group_id=30550 Sync] If link is crashed, use this: [http://rpmfind.net/linux/rpm2html/search.php?query=librapi.so.2 Sync Link2]
 
 
 
libsync:
 
[http://sourceforge.net/project/mirror_picker.php?height=350&width=300&group_id=30550&use_mirror=puzzle&filesize=&filename=libsynce-0.12.tar.gz&abmode= libsync]
 
 
 
pyrapi2:
 
[http://rpmfind.net/linux/rpm2html/search.php?query=pyrapi2.so pyrapi2]
 
 
 
librapi2
 
[http://repository.slacky.eu/slackware-12.0/libraries/synce-librapi/0.11.0/src/ librapi2]
 
 
 
----
 
 
 
 
 
Once you have navit.exe ready, copy /opt/cegcc/arm-cegcc/lib/device/*.dll on your device.
 
 
 
For Debian use:
 
 
 
synce-pcp /opt/cegcc/arm-cegcc/lib/device/cegcc.dll ":/windows/cegcc.dll"
 
synce-pcp /opt/cegcc/arm-cegcc/lib/device/cegccthrd.dll ":/windows/cegccthrd.dll"
 
 
 
All other Linux/Unix systems use:
 
 
 
pcp /opt/cegcc/arm-cegcc/lib/device/cegcc.dll ":/windows/cegcc.dll"
 
pcp /opt/cegcc/arm-cegcc/lib/device/cegccthrd.dll ":/windows/cegccthrd.dll"
 
 
 
 
 
Synchronisation with a grahic surface, if connection to device failed:
 
 
 
Packages RAKI and RAPIP you can use.
 
 
 
RAKI you have in packages synce-kde (see Synce).
 
 
 
RAKI is like Active Sync, RAPIP is a little bit like fish:// under Konquerror.
 
 
 
Under SuSE Linux you can run kitchensync (not for all PDA).
 
 
 
For synchronisation you can also use kpilot under Suse Linux (runs not with all PDA) or Microsoft Active Sync under Windows (free download at Microsoft homepage).
 
 
 
You can put your memory card in card reader and copy data. Over console you must type in
 
 
 
sync
 
 
 
before you remove memory card.
 
 
 
 
Install navit.exe.
 
 
 
 
 
Debian:
 
synce-pcp navit.exe ":/Storage Card/navit.exe"
 
 
All other:
 
 
 
pcp navit.exe ":/Storage Card/navit.exe"
 
 
 
 
Prepare a navit.xml.wince
 
 
 
Change gui to win32 and graphics to win32.
 
 
 
Fix the paths to your maps "/Storage Card/binfilemap.bin"
 
 
 
Debian:
 
 
 
synce-pcp binfilemap.bin ":/Storage Card/binfilemap.bin"
 
synce-pcp navit.xml.wince ":/Storage Card/navit.xml"
 
 
 
All other:
 
 
pcp binfilemap.bin ":/Storage Card/binfilemap.bin"
 
pcp navit.xml.wince ":/Storage Card/navit.xml"
 
 
 
 
 
For a start best use the samplemap.
 
Now you can launch navit.exe on the device.
 
  
 
[[Category:Ports]]
 
[[Category:Ports]]
 +
[[Category:Windows]]

Latest revision as of 20:42, 27 December 2012

Navit under Windows, GTK Gui, Dutch translation


Version Support
Windows 2000  ?
Windows XP  ?
Windows Vista  ?
Windows 7  ?
Windows 8  ?

Download the binary distribution package of Navit[edit]

The Win32 binary distribution of Navit can be downloaded via the Download Navit page, or download the Win32 bleeding edge compiled daily from SVN.

The WinCE binary distribution of Navit can be downloaded via the Download Navit page, or download the WinCE bleeding edge compiled daily from SVN.

If the created start menu entry does not work, check if a 'bin' is too many in the link target location.

Tips and Tricks[edit]

Compiling, configuring and running Navit on Windows can be a challenge at times. Below are a few hints, in addition to the more detailed instructions following.

  • Support for NMEA serial GPS receiver devices (USB/Bluetooth) was broken in the win32 port since Navit releases 0.1.0. It is restored with the latest builds (3650 and higer). The configuration for serial devices has changed: For example, a serial device on Com4 can be configured as follows:
  <vehicle name="GPSOnCom4" enabled="yes" active="1" source="serial:COM4 baud=115200 parity=N data=8 stop=1" />

See also[edit]