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)
(39 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 29: Line 30:
  
  
Install automake, wget, gpsd (if you want gps support), gtk2 and glib2 (for gkt GUI) with
+
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
+
   sudo port install automake wget gpsd gtk2 glib2 libtool
  
Download navit or checkout it from CVS
+
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.
  
change
+
Then, you may edit and adapt your navit.xml file. The XML maptype is not supported, however normal Navit binfile works perfectly.
  $NAVIT_LIBDIR...
 
path in navit.xml with
 
  /opt/local/lib/navit/gui/libgui_gtk.dylib
 
  
Create the pidof program:
+
=Speech=
  nano pidof
+
If you want (spoken) directions, get espeak from http://espeak.sourceforge.net, install as advised and use the following snippet in your navit.xml:
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 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]]

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.