Difference between revisions of "MacOS development"

From Navit's Wiki
Jump to: navigation, search
m (Reverted edits by Royalsanu (talk) to last revision by KaZeR)
(43 intermediate revisions by 19 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.'''
 
  
  
 
=What you will need=
 
=What you will need=
 
It's recommended to use the cvs version instead of release 0.0.1, since we added a few fix for this platform.
 
  
 
You need Xcode Tools and MacPorts in order to install navit.
 
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.
 
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 22: 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 29: 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
 
  
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
 +
 
 +
Download navit or checkout it from SVN
 +
  svn co https://svn.code.sf.net/p/navit/code/trunk/navit
  
Edit configure.in and add
+
You may also need a header file to handle endian issues (for PPC only)
  -l/opt/local/include
+
wget https://navit.svn.sourceforge.net/svnroot/navit/tags/R0_1_0/navit/projs/CodeBlocks/Win32Extra/byteswap.h
to the CFLAGS variable (note that the variables occurs 2 times in the file)
 
  
 
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
  
 +
type
 +
  make
 +
to build NavIt, and
 +
  sudo make install
 +
to install it.
  
=Something went wrong?=
+
Then, you may edit and adapt your navit.xml file. The XML maptype is not supported, however normal Navit binfile works perfectly.
==Libtool error :==
+
 
If you try to compile navit-0.0.1, you might get the following bug (which is fixed in cvs).
+
=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'"/>
  
/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.