Here are some notes about running navit under MacOS. This is a draft, feel free to improve it.
What you will need
You need Xcode Tools and MacPorts in order to install navit.
MacPorts developers suggest to install Xcode Tools from http://developer.apple.com/tools/xcode/ and not from the Mac OSX install disk.
Make sure you don't have fink installed on your system, it can confuse MacPorts package building and installation.
You should only need gtk2 and glib2 via macPorts
Download Xcode Tools from http://developer.apple.com/tools/xcode/ and install it with X11 SDK
Download and Install MacPorts from http://www.macports.org/, or update your version
sudo port -d selfupdate
Open up a terminal
make sure your PATH variables has /opt/local/bin and /opt/local/sbin in it:
Install automake, wget, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with
sudo port install automake wget gpsd gtk2 glib2
(I also needed to install libtool via ports. Additionally I needed to adapt autogen.sh to say glibtool rather than libtool, as maxports libtool was installed under that name)
Download navit or checkout it from CVS
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/navit login
At the password prompt, just press enter. Then
cvs -z3 -d:pserver:email@example.com:/cvsroot/navit co -P navit
Edit configure.in and add
to the CFLAGS variable (note that the variables occurs 2 times in the file) and change
LIBS="$LIBS -lm -rdynamic"
(on some systems, the "-rdynamic" option ensures that the executable has it's global symbols put into the symbol table. This is already the default behavior on darwin.)
If you want to install navit along the MacPorts packages, you need to use the /opt/local directory as prefix:
./autogen.sh && ./configure --prefix=/opt/local
to build NavIt, and
sudo make install
to install it.
Then, you may edit and adapt your navit.xml file (the jokers of the original file are not supported)
You may replace the <plugins> section of your navit.xml file by
<plugins> <plugin path="/opt/local/lib/navit/binding/libbinding_python.dylib"/> <plugin path="/opt/local/lib/navit/data/libdata_binfile.dylib"/> <plugin path="/opt/local/lib/navit/data/libdata_mg.dylib"/> <plugin path="/opt/local/lib/navit/data/libdata_poi_geodownload.dylib"/> <plugin path="/opt/local/lib/navit/data/libdata_textfile.dylib"/> <plugin path="/opt/local/lib/navit/graphics/libgraphics_gtk_drawing_area.dylib" /> <plugin path="/opt/local/lib/navit/graphics/libgraphics_null.dylib" active="no"/> <plugin path="/opt/local/lib/navit/gui/libgui_gtk.dylib" /> <plugin path="/opt/local/lib/navit/osd/libosd_core.dylib" /> <plugin path="/opt/local/lib/navit/speech/libspeech_cmdline.dylib" /> <plugin path="/opt/local/lib/navit/vehicle/libvehicle_demo.dylib" /> <plugin path="/opt/local/lib/navit/vehicle/libvehicle_file.dylib" /> </plugins>
and if you want to use the sample maps installed, you may change the maps' path
<mapset enabled="yes"> <map type="binfile" enabled="yes" data="/opt/local/share/navit/maps/osm_bbox_11.3,47.9,11.7,48.2.bin"/> </mapset>
Something went wrong?
Malloc error :
param.c:3:20: error: malloc.h: No such file or directory param.c: In function 'param_add_string': param.c:10: warning: implicit declaration of function 'malloc' param.c:10: warning: incompatible implicit declaration of built-in function 'malloc'
There is no malloc.h in OS X. All the defs are in stdlib.h. If you want you could make a softlink /opt/local/inlcude/malloc.h to /usr/include/stdlib.h, or just comment the relevants include <malloc.h>
Both will work. The symlink is maybe easier for now.
ln -s /usr/include/stdlib.h /opt/local/include/malloc.h
We'll add a platform-test soon to fix it. If you want to add the test, feel free to submit a patch.