User talk:Tabakser

From Navit's Wiki
Jump to: navigation, search

<stressedpiper> 23 June. Hi Tabasker. Just saw your message. How can I help? stressedpiper

<tabak> hi stressedipper,

my problem is that i cant compile navit in windows,

i tried the way with CodeBlocks but it doesnt work, did you get navit running with codeBlocks? when yes, then how?could you give me a bit more details how you did it?

Thank you for your reply

Best Regards tabak

<stressedpiper> CodeBlocks support was dropped a while ago. Even if you use the old CodeBlocks project files the compilation will fail, as these files are missing many of the later additions.

I use a mingw/msys environment to build/compile, and CodeBlocks to edit. Personally I found that getting the mingw/msys environemnt under Windows to work took a bit of effort. However, once it is set up it works fine. Following are my installation notes.

Install MinGW from http://sourceforge.net/project/showfiles.php?group_id=2435 (select Automated MinGW installer)

Install MSYS etc as per the instructions at http://www.mingw.org/wiki/msys

Install GTK from http://sourceforge.net/project/showfiles.php?group_id=98754 (select gtk+-win32-devel)

Install CodeBlocks (NB, the version without mingw bundled in) - (I use the latest Nightly Build avaialible from the CodeBlocks wiki rather than the release as the overnight build has all the features.)


Run the msys shell, cd /usr, mkdir local, cd /usr/local, mkdir share
 
Fix /c/GTK/bin/autopoint or /usr/local/bin/autopoint (line 117) to handle DOS paths, and fix the install path (line 29) to be C:/GTK or /usr/local
	29: prefix="/c/GTK"

	117: replace "curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'`" with:
	  case "$curr_executable" in
	    ?:\\*) curr_installdir=`echo "$curr_executable" | sed -e 's,\\\\[^\\\\]*$,,'` ;;
	    *) curr_installdir=`echo "$curr_executable" | sed -e 's,/[^/]*$,,'` ;;
	  esac

Remove "pixman-1" from inside /c/GTK/lib/pkgconfig/cairo.pc

Download SVN "trunk" source tree to C:\navit

Copy /c/navit/trunk/navit/m4/*.m4 files to /usr/share/aclocal. NB, AM_GNU_GETTEXT_VERSION etc defined in these files
Copy /usr/local/share/aclocal/*.m4 files to /usr/share/aclocal. NB, AC_SUBST etc defined in these files
Copy /c/GTK/share/aclocal/*.m4 files to /usr/share/aclocal. NB, AC_SUBST etc defined in these files

cd /c/navit/trunk/navit

./autogen.sh

If you get the error 'Can't locate object "path" via package "Autom4te::Request"' then delete /c/navit/trunk/navit/autom4te.cache and run autogen.sh again:
        As per http://www.arcknowledge.com/gmane.comp.sysutils.autoconf.general/2004-06/msg00028.html "That can happen if you have a stale cache (ie. generated by an older version)" ...
	consequently: rm -fR ./autom4te.cache and then autoconf -f works fine :-)


Repeat autogen.sh multiple times, may need to do the following if there are errors.
	Instead of running ./autogen.sh can do:
	autoreconf --verbose
	autopoint --force
	aclocal --verbose 
	automake --add-missing
	libtoolize --force
	autoreconf --verbose


Add X11/XF86keysym.h to ./navit/support/win32/sys (or C:\MinGW\include)

Add "#define SIGWINCH 28" definition to /c/mingw/include/signal.h

Add "typedef unsigned int speed_t" etc to /c/mingw/include/sys/types.h


To enable serial GPS under Windows, refer to bug 332 on trac (http://trac.navit-project.org/ticket/332):
	Copy serial_io.h and serial_io.c to navit/support/win32, and add serial_io.c to Makefile.am
	Edit function vehicle_file_io in vehicle_file.c to inluce WIN32 support


./configure

"windres" may need to be added to ./navit/Makefile in WINDRES line


Edit ./int/localename.c to to fix SUBLANG defintions: SUBLANG_BENGALI_INDIA,SUBLANG_BENGALI_BANGLADESH, SUBLANG_PUNJABI_INDIA,SUBLANG_PUNJABI_PAKISTAN, SUBLANG_ROMANIAN_ROMANIA, SUBLANG_ROMANIAN_ROMANIA

make

Navit should then compile.