From Navit's Wiki
Revision as of 09:55, 3 December 2012 by Usul (talk | contribs) (moved Talk:Navit on TomTom to Talk:TomTom: make auttocomplete easier, unify OS articles, keep links short and specific)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

These are really good cross-compilation instructions, thank you! I always find compiling and linking the correct libraries on a cross-compiled system a real pain.

I haven't quite got to the end yet, but I have been making notes of what I have done differently to get it to work for me on my ubuntu 9.10 system. I can update the main page once I have finished if that would be useful.


3. Downloaded tomtom supplied toolchain from Unpacked into /usr/local/cross

4. download zlib from set environment variables as per BUT took the -r option off the ar command as this gave an error -c linked ok without it and built libz.a.

5. Download libxml source from and unpack. ./configure --prefix=$PREFIX --host=arm-linux make Gave errors about python2.6 libraries. Added a --witout-python option to the configure script and tried again and it worked.

6. libpng 1.2.43 (struggled with version 1.4.x).

7. jpegsr6: worked ok, but had to create /usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/man/man1 manually to get the installer to work.

8 fontconfig: compilation failed when CFLAGS included -mcpu=arm920t. Removed this and tried again with ./configure --prefix=$PREFIX --host=arm-linux --with-arch=arm seemed to compile ok.

9 Glib: Added cache as per instructions at compile apparently ok until received "cannot execute binary file" error. It seems to be trying to execute a file it had just cross-compiled. Can't see why - my path has the build directories before the cross path... Try using the same glib version as on the build machine (2.22.3) instead of the latest 2.25.3). Then it compiled ok!

10. tslib: The instructions at talks about modifying plugins/input-raw.c to add ifdefs around occurrences of EVIOCGRAB, but version 1.0 of tslib does not have EVIOCGRAB occurences in this file. Got the svn version instead, then added the EVIOCGRAB bits. There was no ./configure script, so did ./ first.

11. SDL: Applied the patch recommended by changing directory to the SDL source directory and doing patch -p0 < sdl*.patch. The build failed because it could not find some pulseaudio include files. Maybe I need to build a pulseaudio library first? Re-tried with --disable-audio config option as a temporary fix. Then it compiled and installed ok.

12. SDL_image - compiled ok.

13. Navit: no configure script - executed to create it. Had to do ./configure --prefix=$PREFIX --host=arm-linux --disable-graphics-gtk-drawing-area --disable-gui-gtk --disable-binding-dbus --disable-graphics-qt-qpainter to get it to compile. Don't know if it will work though....Job for tomorrow.

Very nice instructions!
Now I got navit crosscompiled and running:)

Some things I had to do different from your instructions:

fontconfig-2.8.0 -- Need to export a couple of things:
export LIBXML2_CFLAGS="-I/usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/include/libxml2"
export LIBXML2_LIBS="-L/usr/local/cross/gcc-3.3.4_glibc-2.3.2/arm-linux/sys-root/lib -lxml2 -lz -lm"
./configure --prefix=$PREFIX --host=arm-linux --with-arch=arm
make install

lipng-1.4.3 works!!!:
./configure --prefix=$PREFIX --host=arm-linux
make install

Unable to compile glig-2.25-15. Instead compiling 2.24.2 works with your instructions.

SDL-1.2.14 compiles fine with the instructions, but trying to compile the tests fails.

svn 2010-09-09 Navit compiles fine, so I've tryed to put all toghether and test: navit doesn't start.
Comparing with your package I see that it lacks the fonts directory, so I've copied it from your package and now navit starts after a lot of time.

I see that your navit starts very quick compared to mine, so there should be something you forget to say in the instructions.

Again thanks. Pere

Found why it it starts too slow, the reason is fontcontfig not writing the cache, so it has to scan all fonts at each navit startup.

The way I've found to workaruond this is to manually force it to create the cache. It seems that fontconfig has problems when faced to a vfat filesystem, so I've created a temporary cache dir in /tmp, then modify the fonts.conf file to point dircache to it, run fc-cache, then copy the cache files to the sd card and modify again the fonts.conf to point to the directory containing the cache files on the SD card.

Now navit starts really fast on a Tomtom 950 GO