Difference between revisions of "MacOS development"

From Navit's Wiki
Jump to: navigation, search
(Malloc error :)
m (Reverted edits by Royalsanu (talk) to last revision by KaZeR)
 
(45 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.
 +
 
 +
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.
  
 
==GTK Gui==
 
==GTK Gui==
You should only need automake, gpsd, gtk2 and glib2 via macPorts ( http://www.macports.org/ )
+
You should only need gtk2 and glib2 via macPorts
  
MacPorts developers suggest to install Xcode Tools from http://developer.apple.com/tools/xcode/ and not from the Mac OSX install disk.
+
==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
  
Make sure you don't have fink installed on your system, it can confuse MacPorts package building and installation.
+
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 --disable-binding-python
 +
 +
type
 +
  make
 +
to build NavIt, and
 +
  sudo make install
 +
to install it.
  
  ./autogen.sh && ./configure --prefix=/opt/local
+
Then, you may edit and adapt your navit.xml file. The XML maptype is not supported, however normal Navit binfile works perfectly.
  
==SDL Gui==
+
=Speech=
Untested yet.
+
If you want (spoken) directions, get espeak from http://espeak.sourceforge.net, install as advised and use the following snippet in your navit.xml:
  
=Something went wrong?=
+
          <speech type="cmdline" data="speak -vde+f4 '%s'"/>
==Libtool error :==
 
If you try to compile navit-0.0.1, you might get the following bug (which is fixed in cvs).
 
  
/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]]

Latest revision as of 17:50, 3 January 2018

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


What you will need[edit]

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[edit]

You should only need gtk2 and glib2 via macPorts

SDL Gui[edit]

Untested yet.

Installation instruction[edit]

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[edit]

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[edit]

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?[edit]

Please let us know.