Difference between revisions of "MacOS development"

From Navit's Wiki
Jump to: navigation, search
m
m (Reverted edits by Royalsanu (talk) to last revision by KaZeR)
(40 intermediate revisions by 17 users not shown)
Line 1: Line 1:
'''Here are some notes about running navit under MacOS.
+
'''Here are some notes about running navit under Apple Mac OSX.'''
This is a draft, feel free to improve it.'''
 
  
  
Line 8: Line 7:
  
 
MacPorts developers suggest to install Xcode Tools from http://developer.apple.com/tools/xcode/ and not from the Mac OSX install disk.
 
MacPorts developers suggest to install Xcode Tools from http://developer.apple.com/tools/xcode/ and not from the Mac OSX install disk.
 +
 +
*[http://www.mac-how.net/ Mac-How]
  
 
Make sure you don't have fink installed on your system, it can confuse MacPorts package building and installation.
 
Make sure you don't have fink installed on your system, it can confuse MacPorts package building and installation.
Line 20: Line 21:
 
Download Xcode Tools from http://developer.apple.com/tools/xcode/ and install it with X11 SDK
 
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/
+
Download and Install MacPorts from http://www.macports.org/, or update your version
 +
  sudo port -d selfupdate
  
 
Open up a terminal
 
Open up a terminal
Line 27: Line 29:
 
   echo $PATH  
 
   echo $PATH  
  
Install automake, wget, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with
 
  sudo port install automake wget gpsd gtk2 glib2
 
if it only install automake, type
 
  sudo port install automake
 
  sudo port install wget
 
  sudo port install gtk2
 
  sudo port install glib2
 
  
Download navit or checkout it from CVS
+
Install automake, wget, libtool, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with
 +
  sudo port install automake wget gpsd gtk2 glib2 libtool
  
Edit configure.in and add
+
Download navit or checkout it from SVN
  -l/opt/local/include
+
  svn co https://svn.code.sf.net/p/navit/code/trunk/navit
to the CFLAGS variable (note that the variables occurs 2 times in the file)
+
 
 +
You may also need a header file to handle endian issues (for PPC only)
 +
wget https://navit.svn.sourceforge.net/svnroot/navit/tags/R0_1_0/navit/projs/CodeBlocks/Win32Extra/byteswap.h
  
 
If you want to install navit along the MacPorts packages, you need to use the /opt/local directory as prefix:
 
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
+
   ./autogen.sh && ./configure --prefix=/opt/local --disable-binding-python
  
change
+
type
   $NAVIT_LIBDIR...
+
   make
path in navit.xml with
+
to build NavIt, and
   /opt/local/lib/navit/gui/libgui_gtk.dylib
+
   sudo make install
 +
to install it.
  
Create the pidof program:
+
Then, you may edit and adapt your navit.xml file. The XML maptype is not supported, however normal Navit binfile works perfectly.
  nano pidof
 
type this script:
 
  #!/bin/sh
 
  ps axc|awk "{if (\$5==\"$1\") print \$1}";
 
save and exit
 
  chmod 755 pidof
 
  sudo mv pidof /bin
 
  
=Something went wrong?=
+
=Speech=
==Libtool error :==
+
If you want (spoken) directions, get espeak from http://espeak.sourceforge.net, install as advised and use the following snippet in your navit.xml:
If you try to compile navit-0.0.1, you might get the following bug (which is fixed in cvs).
+
 
 +
          <speech type="cmdline" data="speak -vde+f4 '%s'"/>
  
/usr/bin/libtool: internal link edit command failed
+
This will tell speak to use a female (f) german (de) voice.  
make[4]: *** [libdata_mg.la] Error 1
 
make[3]: *** [all-recursive] Error 1
 
make[2]: *** [all-recursive] Error 1
 
make[1]: *** [all-recursive] Error 1
 
  
The fix is in debug.h to replace
 
  
int debug_level;
+
=Using xcode=
  
with
+
Download one of the [http://download.navit-project.org/navit/src/svn/ svn sources] that don't contain autogen.sh.
  
extern int debug_level;
+
Open X-Code and create a new project. Cocoa will suffice
  
This should be fixed now in CVS.
+
Add in a new target by clicking the triangle next to "Targets" and selected the location of the navit folder. Delete the previous target.
  
 +
Delete the default files, and add in the navit files.
  
==Malloc error :==
+
In a terminal, go into the navit folder.
 +
./configure --disable-binding-python --disable-sample-map --disable-maptool
  
param.c:3:20: error: malloc.h: No such file or directory
+
xcode can now build the navit
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.
+
You can also use [[CMake]].
 +
cd navit && cmake -G Xcode .
  
  ln -s /usr/include/stdlib.h /opt/local/include/malloc.h
+
=Something went wrong?=
  
 +
Please [[Contacts|let us know]].
  
We'll add a platform-test soon to fix it.
+
[[Category:Ports]]

Revision as of 17:50, 3 January 2018

Here are some notes about running navit under Apple Mac OSX.


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.

GTK Gui

You should only need gtk2 and glib2 via macPorts

SDL Gui

Untested yet.

Installation instruction

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:

 echo $PATH 


Install automake, wget, libtool, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with

 sudo port install automake wget gpsd gtk2 glib2 libtool

Download navit or checkout it from SVN

  svn co https://svn.code.sf.net/p/navit/code/trunk/navit

You may also need a header file to handle endian issues (for PPC only)

wget https://navit.svn.sourceforge.net/svnroot/navit/tags/R0_1_0/navit/projs/CodeBlocks/Win32Extra/byteswap.h

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 --disable-binding-python

type

 make

to build NavIt, and

 sudo make install

to install it.

Then, you may edit and adapt your navit.xml file. The XML maptype is not supported, however normal Navit binfile works perfectly.

Speech

If you want (spoken) directions, get espeak from http://espeak.sourceforge.net, install as advised and use the following snippet in your navit.xml:

          <speech type="cmdline" data="speak -vde+f4 '%s'"/>

This will tell speak to use a female (f) german (de) voice.


Using xcode

Download one of the svn sources that don't contain autogen.sh.

Open X-Code and create a new project. Cocoa will suffice

Add in a new target by clicking the triangle next to "Targets" and selected the location of the navit folder. Delete the previous target.

Delete the default files, and add in the navit files.

In a terminal, go into the navit folder.

./configure --disable-binding-python --disable-sample-map --disable-maptool

xcode can now build the navit


You can also use CMake.

cd navit && cmake -G Xcode .

Something went wrong?

Please let us know.