Hi Timo,

Timo Juhani Lindfors a écrit , Le 07/05/2011 12:24:
> Steps to reproduce:
> 1) wget http://iki.fi/lindi/foxtrotgps/met-to-ota2.dump.xz
> 2) unxz met-to-ota2.dump.xz
> 3) gpsfake -c 0.5 met-to-ota2.dump
> 4) LC_ALL=fi_FI.UTF-8 navit
> 5) click on the map to get to menu
> 6) click "Toiminnat" (="Actions")
> 
> Expected results:
> 6) location is 60deg 13' 52" N 24deg 24' 32" E
> 
> Actual results:
> 6) location is 60deg 0' 31" N 24deg 0' 52" E

Which graphic and gui backends do you use. I can't reproduce your
results with graphic-gtk-drawing-area + gui-internal:

 pini@pini:~$ LC_ALL=fi_FI.UTF-8 navit
 navit:main_init:Warning: LC_ALL is set, this might lead to problems
 (e.g. strange positions from GPS)

 (process:6049): Gtk-WARNING **: Locale not supported by C library.
        Using the fallback 'C' locale.

 (<unknown>:6049): Gdk-WARNING **: locale not supported by C library

> 
> More info:
> 1) upstream seems to consider this to be a known issue but I could not
> find a bug report about it. It definitely is an important issue since
> somebody might actually believe the wrong coordinates and setting
> LC_ALL should be pretty standard.
> 
> The code has
> 
> if (getenv("LC_ALL"))
>         dbg(0,"Warning: LC_ALL is set, this might lead to problems (e.g. 
> strange positions from GPS)\n");
> 
> but I could not figure out how to enable that dbg. It would also only
> go to debug log which the normal user is not going to notice.

This wiki entry may help:
<http://wiki.navit-project.org/index.php/Configuring_Navit#Debugging>

> 
> Upstream FAQ at http://wiki.navit-project.org/index.php/FAQ has
> 
>   "My position is reported incorrectly
> 
>    Most of the time, this is caused by the decimal separator being
>    incorrectly set. Navit tries to override the decimal separator at
>    startup, but the LC_ALL environment variable can block this. You
>    can check this easily : echo $LC_ALL
> 
>    If it returns something, you can't override your locale
>    settings. You should "unset LC_ALL" and try again. If it works,
>    you got it :)
> 
>    In gentoo, this is set in the /etc/env.d/<something>locales. You
>    may want to remove or comment the LC_ALL line in that file. "
> 
> which gives me the impression that they have lost hope and don't think
> this issue can be fixed.
> 
> 2) Do you know which function ends up using the wrong decimal
> separator? Surely other programs in debian must be hit by the issue
> too?
> 
> 3) Do you know if there's an upstream bug report about this somewhere?
> I only wrote svn change
> http://navit.svn.sourceforge.net/viewvc/navit/trunk/navit/navit/main.c?r1=2082&r2=2125
> that touches the warning that is printed when debugging is enabled
> (how?).
> 
> 4) If all else fails, would it make sense to ship a wrapper script
> that unsets LC_ALL before exec'ing navit binary? In the debian changelog
> I see
> 
> navit (0.0.4+svn1229-3) unstable; urgency=low
> 
>   * fixed a small bug in navit.pl: delete LC_ALL from the environment,
>     instead
>     of only undefining it.
> 
>  -- Carsten Wolff <cars...@yet-another-geek.org>  Sat, 25 Oct 2008
>     21:07:46 +0200
> 
> but this has probably already been rewritten completely?

Thanks,

_g.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to