Package Details: gosmore-svn 1:latest_date20140317+svn33033-2

Git Clone URL: https://aur.archlinux.org/gosmore-svn.git (read-only, click to copy)
Package Base: gosmore-svn
Description: A router and viewer of OpenStreetMap XML data such as the whole planet.osm or other osm files from Geofabrik.
Upstream URL: http://wiki.openstreetmap.org/wiki/Gosmore
Licenses: custom:public domain
Conflicts: gosmore
Provides: gosmore=latest_date20140317+svn33033
Replaces: gosmore<=latest_date20140317+svn33033
Submitter: dreieck
Maintainer: dreieck
Last Packager: dreieck
Votes: 1
Popularity: 0.000000
First Submitted: 2016-10-13 16:05
Last Updated: 2016-10-13 16:05

Latest Comments

dreieck commented on 2020-11-27 13:12

Upstream will not fix errors anymore, it is no longer maintained.

Maybe using a GCC version <= 6 might help.

dreieck commented on 2020-11-27 12:48

Build fails for me.

The following error-messages I could find in the compilation output:

jni/gosmore.cpp: In function ‘void GpsMove(gps_data_t*, char*, size_t)’:
jni/gosmore.cpp:1040:21: error: no match for ‘operator>’ (operand types are ‘timespec_t’ {aka ‘timespec’} and ‘double’)
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |       ~~~~~~~~~~~~~ ^ ~~~~
      |                |      |
      |                |      double
      |                timespec_t {aka timespec}
jni/gosmore.cpp:1041:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1041 |     gpsNew->fix.tm[0] = llrint (gps->fix.time) % (3600 * 24) / 36000 + '0';
      |                                              ^
jni/gosmore.cpp:1041:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1041 |     gpsNew->fix.tm[0] = llrint (gps->fix.time) % (3600 * 24) / 36000 + '0';
      |                                              ^
jni/gosmore.cpp:1041:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>
jni/gosmore.cpp:1042:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1042 |     gpsNew->fix.tm[1] = llrint (gps->fix.time) / 3600 % 10 + '0';
      |                                              ^
jni/gosmore.cpp:1042:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
jni/gosmore.cpp:1043:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1043 |     gpsNew->fix.tm[2] = llrint (gps->fix.time) % 3600 / 600 + '0';
      |                                              ^
jni/gosmore.cpp:1043:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
jni/gosmore.cpp:1044:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1044 |     gpsNew->fix.tm[3] = llrint (gps->fix.time) / 60 % 10 + '0';
      |                                              ^
jni/gosmore.cpp:1044:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
jni/gosmore.cpp:1045:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1045 |     gpsNew->fix.tm[4] = llrint (gps->fix.time) % 60 / 10 + '0';
      |                                              ^
jni/gosmore.cpp:1045:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
jni/gosmore.cpp:1046:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1046 |     gpsNew->fix.tm[5] = llrint (gps->fix.time) % 10 + '0';
      |                                              ^
jni/gosmore.cpp:1046:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
jni/gosmore.cpp: In function ‘void ExtractClipboard(GtkClipboard*, const gchar*, void*)’:
jni/gosmore.cpp:1276:24: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 1276 |         for (t += 3; t != '\0' && !isalnum (*t); t++) {}
      |                      ~~^~~~~~~

Full output of build():

==> Starting build()...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
configure: creating ./config.status
config.status: creating Makefile
gcc density.c -lm -o density
./density <density.txt >density.sh
g++ -O2 -DRES_DIR=\"/usr/share/gosmore/\" -W -Wall \
                  jni/gosmore.cpp jni/libgosm.cpp jni/openglespolygon.h \
                  jni/openglespolygon.cpp -o gosmore `pkg-config --cflags --libs gtk+-2.0 || echo -D HEADLESS` `pkg-config --libs libcurl` `[ -e /usr/include/gps.h ] && echo -DUSE_GPSD -lgps ` `pkg-config --libs pkg-config --libs gthread-2.0` `pkg-config --cflags libxml-2.0 || echo -I /usr/include/libxml2` `pkg-config --libs libxml-2.0 || echo -l xml2 -lm`
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:33,
                 from jni/gosmore.cpp:83:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:64: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      |                                                                ^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                 from /usr/include/glib-2.0/gobject/gbinding.h:29,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/gosmore.cpp:83:
/usr/include/glib-2.0/gobject/gtype.h:685:3: note: declared here
  685 | } GTypeDebugFlags GLIB_DEPRECATED_TYPE_IN_2_36;
      |   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtk.h:89,
                 from jni/gosmore.cpp:83:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
   59 |   void (*__gtk_reserved1);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:60:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
   60 |   void (*__gtk_reserved2);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:61:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved3’ [-Wparentheses]
   61 |   void (*__gtk_reserved3);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:62:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved4’ [-Wparentheses]
   62 |   void (*__gtk_reserved4);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:63:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved5’ [-Wparentheses]
   63 |   void (*__gtk_reserved5);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:64:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved6’ [-Wparentheses]
   64 |   void (*__gtk_reserved6);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:65:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved7’ [-Wparentheses]
   65 |   void (*__gtk_reserved7);
      |        ^
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtk.h:126,
                 from jni/gosmore.cpp:83:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:12: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |            ^~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/gosmore.cpp:83:
/usr/include/glib-2.0/glib/gtypes.h:545:26: note: declared here
  545 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
      |                          ^~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtk.h:173,
                 from jni/gosmore.cpp:83:
/usr/include/gtk-2.0/gtk/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
   76 |   void (*__gtk_reserved1);
      |        ^
/usr/include/gtk-2.0/gtk/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
   77 |   void (*__gtk_reserved2);
      |        ^
jni/gosmore.cpp: In function ‘void DoFollowThing(gpsNewStruct*)’:
jni/gosmore.cpp:862:24: warning: suggest parentheses around operand of ‘!’ or change ‘&’ to ‘&&’ or ‘!’ to ‘~’ [-Wparentheses]
  862 |                 (!o || !Way (nd)->bits & onewayR)) {
      |                        ^~~~~~~~~~~~~~~
jni/gosmore.cpp: In function ‘void GpsMove(gps_data_t*, char*, size_t)’:
jni/gosmore.cpp:1040:21: error: no match for ‘operator>’ (operand types are ‘timespec_t’ {aka ‘timespec’} and ‘double’)
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |       ~~~~~~~~~~~~~ ^ ~~~~
      |                |      |
      |                |      double
      |                timespec_t {aka timespec}
In file included from /usr/include/c++/10.2.0/bits/stl_algobase.h:64,
                 from /usr/include/c++/10.2.0/bits/char_traits.h:39,
                 from /usr/include/c++/10.2.0/string:40,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/stl_pair.h:502:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator>(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)’
  502 |     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_pair.h:502:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::pair<_T1, _T2>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/stl_algobase.h:67,
                 from /usr/include/c++/10.2.0/bits/char_traits.h:39,
                 from /usr/include/c++/10.2.0/string:40,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/stl_iterator.h:378:5: note: candidate: ‘template<class _Iterator> bool std::operator>(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)’
  378 |     operator>(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_iterator.h:378:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::reverse_iterator<_Iterator>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/stl_algobase.h:67,
                 from /usr/include/c++/10.2.0/bits/char_traits.h:39,
                 from /usr/include/c++/10.2.0/string:40,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/stl_iterator.h:416:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator>(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)’
  416 |     operator>(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_iterator.h:416:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::reverse_iterator<_Iterator>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/stl_algobase.h:67,
                 from /usr/include/c++/10.2.0/bits/char_traits.h:39,
                 from /usr/include/c++/10.2.0/string:40,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/stl_iterator.h:1469:5: note: candidate: ‘template<class _IteratorL, class _IteratorR> bool std::operator>(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)’
 1469 |     operator>(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_iterator.h:1469:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::move_iterator<_IteratorL>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/stl_algobase.h:67,
                 from /usr/include/c++/10.2.0/bits/char_traits.h:39,
                 from /usr/include/c++/10.2.0/string:40,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/stl_iterator.h:1519:5: note: candidate: ‘template<class _Iterator> bool std::operator>(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)’
 1519 |     operator>(const move_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_iterator.h:1519:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::move_iterator<_IteratorL>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/string:55,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/basic_string.h:6305:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 6305 |     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/basic_string.h:6305:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/string:55,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/basic_string.h:6318:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)’
 6318 |     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/basic_string.h:6318:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/string:55,
                 from jni/gosmore.cpp:15:
/usr/include/c++/10.2.0/bits/basic_string.h:6330:5: note: candidate: ‘template<class _CharT, class _Traits, class _Alloc> bool std::operator>(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)’
 6330 |     operator>(const _CharT* __lhs,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/basic_string.h:6330:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   mismatched types ‘const _CharT*’ and ‘timespec’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/deque:67,
                 from /usr/include/c++/10.2.0/stack:60,
                 from jni/gosmore.cpp:16:
/usr/include/c++/10.2.0/bits/stl_deque.h:2292:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator>(const std::deque<_Tp, _Alloc>&, const std::deque<_Tp, _Alloc>&)’
 2292 |     operator>(const deque<_Tp, _Alloc>& __x, const deque<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_deque.h:2292:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::deque<_Tp, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/stack:61,
                 from jni/gosmore.cpp:16:
/usr/include/c++/10.2.0/bits/stl_stack.h:349:5: note: candidate: ‘template<class _Tp, class _Seq> bool std::operator>(const std::stack<_Tp, _Seq>&, const std::stack<_Tp, _Seq>&)’
  349 |     operator>(const stack<_Tp, _Seq>& __x, const stack<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_stack.h:349:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::stack<_Tp, _Seq>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/vector:67,
                 from jni/gosmore.cpp:17:
/usr/include/c++/10.2.0/bits/stl_vector.h:1943:5: note: candidate: ‘template<class _Tp, class _Alloc> bool std::operator>(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)’
 1943 |     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_vector.h:1943:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::vector<_Tp, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/queue:64,
                 from jni/gosmore.cpp:19:
/usr/include/c++/10.2.0/bits/stl_queue.h:374:5: note: candidate: ‘template<class _Tp, class _Seq> bool std::operator>(const std::queue<_Tp, _Seq>&, const std::queue<_Tp, _Seq>&)’
  374 |     operator>(const queue<_Tp, _Seq>& __x, const queue<_Tp, _Seq>& __y)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_queue.h:374:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::queue<_Tp, _Seq>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/tuple:39,
                 from /usr/include/c++/10.2.0/bits/stl_map.h:63,
                 from /usr/include/c++/10.2.0/map:61,
                 from jni/gosmore.cpp:20:
/usr/include/c++/10.2.0/array:293:5: note: candidate: ‘template<class _Tp, long unsigned int _Nm> bool std::operator>(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)’
  293 |     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/array:293:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::array<_Tp, _Nm>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/stl_map.h:63,
                 from /usr/include/c++/10.2.0/map:61,
                 from jni/gosmore.cpp:20:
/usr/include/c++/10.2.0/tuple:1454:5: note: candidate: ‘template<class ... _TElements, class ... _UElements> constexpr bool std::operator>(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&)’
 1454 |     operator>(const tuple<_TElements...>& __t,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/tuple:1454:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::tuple<_Tps ...>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/map:61,
                 from jni/gosmore.cpp:20:
/usr/include/c++/10.2.0/bits/stl_map.h:1515:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator>(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)’
 1515 |     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_map.h:1515:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/map:62,
                 from jni/gosmore.cpp:20:
/usr/include/c++/10.2.0/bits/stl_multimap.h:1180:5: note: candidate: ‘template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator>(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)’
 1180 |     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/stl_multimap.h:1180:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:83,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/unique_ptr.h:846:5: note: candidate: ‘template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator>(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)’
  846 |     operator>(const unique_ptr<_Tp, _Dp>& __x,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/unique_ptr.h:846:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:83,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/unique_ptr.h:853:5: note: candidate: ‘template<class _Tp, class _Dp> bool std::operator>(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)’
  853 |     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/unique_ptr.h:853:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:83,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/unique_ptr.h:862:5: note: candidate: ‘template<class _Tp, class _Dp> bool std::operator>(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)’
  862 |     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/unique_ptr.h:862:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   mismatched types ‘const std::unique_ptr<_Tp, _Dp>’ and ‘double’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/shared_ptr.h:52,
                 from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1529:5: note: candidate: ‘template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator>(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)’
 1529 |     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1529:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/shared_ptr.h:52,
                 from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1535:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator>(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)’
 1535 |     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1535:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/bits/shared_ptr.h:52,
                 from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1540:5: note: candidate: ‘template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator>(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)’
 1540 |     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr_base.h:1540:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   mismatched types ‘const std::__shared_ptr<_Tp, _Lp>’ and ‘double’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr.h:534:5: note: candidate: ‘template<class _Tp, class _Up> bool std::operator>(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Tp>&)’
  534 |     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr.h:534:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::shared_ptr<_Tp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr.h:540:5: note: candidate: ‘template<class _Tp> bool std::operator>(const std::shared_ptr<_Tp>&, std::nullptr_t)’
  540 |     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr.h:540:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   ‘timespec_t’ {aka ‘timespec’} is not derived from ‘const std::shared_ptr<_Tp>’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
In file included from /usr/include/c++/10.2.0/memory:84,
                 from /usr/include/unicode/localpointer.h:45,
                 from /usr/include/unicode/uenum.h:23,
                 from /usr/include/unicode/ucnv.h:53,
                 from /usr/include/libxml2/libxml/encoding.h:31,
                 from /usr/include/libxml2/libxml/parser.h:810,
                 from /usr/include/libxml2/libxml/globals.h:18,
                 from /usr/include/libxml2/libxml/threads.h:35,
                 from /usr/include/libxml2/libxml/xmlmemory.h:218,
                 from /usr/include/libxml2/libxml/tree.h:1307,
                 from /usr/include/libxml2/libxml/xmlreader.h:14,
                 from jni/libgosm.h:21,
                 from jni/gosmore.cpp:75:
/usr/include/c++/10.2.0/bits/shared_ptr.h:546:5: note: candidate: ‘template<class _Tp> bool std::operator>(std::nullptr_t, const std::shared_ptr<_Tp>&)’
  546 |     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
      |     ^~~~~~~~
/usr/include/c++/10.2.0/bits/shared_ptr.h:546:5: note:   template argument deduction/substitution failed:
jni/gosmore.cpp:1040:23: note:   mismatched types ‘const std::shared_ptr<_Tp>’ and ‘double’
 1040 |   if (gps->fix.time > 1e+9) { // gpsfake produces some 0 values.
      |                       ^~~~
jni/gosmore.cpp:1041:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1041 |     gpsNew->fix.tm[0] = llrint (gps->fix.time) % (3600 * 24) / 36000 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1041:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp:1042:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1042 |     gpsNew->fix.tm[1] = llrint (gps->fix.time) / 3600 % 10 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1042:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp:1043:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1043 |     gpsNew->fix.tm[2] = llrint (gps->fix.time) % 3600 / 600 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1043:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp:1044:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1044 |     gpsNew->fix.tm[3] = llrint (gps->fix.time) / 60 % 10 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1044:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp:1045:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1045 |     gpsNew->fix.tm[4] = llrint (gps->fix.time) % 60 / 10 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1045:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp:1046:46: error: no matching function for call to ‘llrint(timespec_t&)’
 1046 |     gpsNew->fix.tm[5] = llrint (gps->fix.time) % 10 + '0';
      |                                              ^
In file included from /usr/include/features.h:465,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdio.h:27,
                 from jni/gosmore.cpp:9:
/usr/include/bits/mathcalls.h:319:1: note: candidate: ‘long long int llrint(double)’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^~~~~~~~~~
In file included from /usr/include/c++/10.2.0/cmath:45,
                 from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/bits/mathcalls.h:319:1: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘double’
  319 | __MATHDECL (long long int,llrint,, (_Mdouble_ __x));
      | ^
In file included from /usr/include/c++/10.2.0/math.h:36,
                 from jni/gosmore.cpp:13:
/usr/include/c++/10.2.0/cmath:1527:5: note: candidate: ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp)’
 1527 |     llrint(_Tp __x)
      |     ^~~~~~
/usr/include/c++/10.2.0/cmath:1527:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10.2.0/cmath: In substitution of ‘template<class _Tp> constexpr typename __gnu_cxx::__enable_if<std::__is_integer<_Tp>::__value, long long int>::__type std::llrint(_Tp) [with _Tp = timespec]’:
jni/gosmore.cpp:1046:46:   required from here
/usr/include/c++/10.2.0/cmath:1527:5: error: no type named ‘__type’ in ‘struct __gnu_cxx::__enable_if<false, long long int>’
/usr/include/c++/10.2.0/cmath:1519:3: note: candidate: ‘constexpr long long int std::llrint(long double)’
 1519 |   llrint(long double __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1519:22: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘long double’
 1519 |   llrint(long double __x)
      |          ~~~~~~~~~~~~^~~
/usr/include/c++/10.2.0/cmath:1515:3: note: candidate: ‘constexpr long long int std::llrint(float)’
 1515 |   llrint(float __x)
      |   ^~~~~~
/usr/include/c++/10.2.0/cmath:1515:16: note:   no known conversion for argument 1 from ‘timespec_t’ {aka ‘timespec’} to ‘float’
 1515 |   llrint(float __x)
      |          ~~~~~~^~~
jni/gosmore.cpp: In function ‘void ExtractClipboard(GtkClipboard*, const gchar*, void*)’:
jni/gosmore.cpp:1276:24: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
 1276 |         for (t += 3; t != '\0' && !isalnum (*t); t++) {}
      |                      ~~^~~~~~~
jni/gosmore.cpp: In function ‘int MouseEv(int, int, int, int, int)’:
jni/gosmore.cpp:1832:84: warning: ‘GThread* g_thread_create(GThreadFunc, gpointer, gboolean, GError**)’ is deprecated: Use 'g_thread_new' instead [-Wdeprecated-declarations]
 1832 |           g_thread_create (&UpdateMapThread, strndup (currentBbox, 16), FALSE, NULL);
      |                                                                                    ^
In file included from /usr/include/glib-2.0/glib.h:111,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/gosmore.cpp:83:
/usr/include/glib-2.0/glib/deprecated/gthread.h:100:10: note: declared here
  100 | GThread *g_thread_create       (GThreadFunc       func,
      |          ^~~~~~~~~~~~~~~
jni/gosmore.cpp: In function ‘gint DrawExpose()’:
jni/gosmore.cpp:2979:25: warning: field precision specifier ‘.*’ expects argument of type ‘int’, but argument 3 has type ‘long int’ [-Wformat=]
 2979 |         sprintf (l1, "%.*s", ptr - s, s);
      |                       ~~^~   ~~~~~~~
      |                         |        |
      |                         int      long int
jni/gosmore.cpp: In function ‘int UserInterface(int, char**, const char*, const char*)’:
jni/gosmore.cpp:3377:22: warning: ‘void g_thread_init(gpointer)’ is deprecated [-Wdeprecated-declarations]
 3377 |   g_thread_init (NULL);  // Something to do with curl progress bar
      |                      ^
In file included from /usr/include/glib-2.0/glib.h:111,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/gosmore.cpp:83:
/usr/include/glib-2.0/glib/deprecated/gthread.h:261:10: note: declared here
  261 | void     g_thread_init                   (gpointer vtable);
      |          ^~~~~~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtkcalendar.h:40,
                 from /usr/include/gtk-2.0/gtk/gtk.h:53,
                 from jni/gosmore.cpp:83:
jni/gosmore.cpp:3425:39: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 3425 |       GTK_SIGNAL_FUNC (HitGtkButton), (char*)i);
      |                                       ^~~~~~~~
/usr/include/gtk-2.0/gtk/gtksignal.h:51:62: note: in definition of macro ‘gtk_signal_connect’
   51 |    gtk_signal_connect_full ((object), (name), (func), NULL, (func_data), NULL, 0, 0)
      |                                                              ^~~~~~~~~
jni/gosmore.cpp:3502:7: warning: cast between incompatible function types from ‘int (*)(gps_data_t*, char*, int)’ to ‘GdkInputFunction’ {aka ‘void (*)(void*, int, GdkInputCondition)’} [-Wcast-function-type]
 3502 |       (GdkInputFunction) gps_read, gpsData);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/gosmore.cpp: At global scope:
jni/gosmore.cpp:2070:14: warning: ‘casing’ defined but not used [-Wunused-variable]
 2070 | static short casing[10 + CASING_MAX * 2];
      |              ^~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtkobject.h:37,
                 from /usr/include/gtk-2.0/gtk/gtkwidget.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkcontainer.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkbin.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkwindow.h:36,
                 from /usr/include/gtk-2.0/gtk/gtkdialog.h:35,
                 from /usr/include/gtk-2.0/gtk/gtkaboutdialog.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:33,
                 from jni/openglespolygon.cpp:12:
/usr/include/gtk-2.0/gtk/gtktypeutils.h:236:64: warning: ‘GTypeDebugFlags’ is deprecated [-Wdeprecated-declarations]
  236 | void            gtk_type_init   (GTypeDebugFlags    debug_flags);
      |                                                                ^
In file included from /usr/include/glib-2.0/gobject/gobject.h:24,
                 from /usr/include/glib-2.0/gobject/gbinding.h:29,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/openglespolygon.cpp:12:
/usr/include/glib-2.0/gobject/gtype.h:685:3: note: declared here
  685 | } GTypeDebugFlags GLIB_DEPRECATED_TYPE_IN_2_36;
      |   ^~~~~~~~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtk.h:89,
                 from jni/openglespolygon.cpp:12:
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
   59 |   void (*__gtk_reserved1);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:60:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
   60 |   void (*__gtk_reserved2);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:61:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved3’ [-Wparentheses]
   61 |   void (*__gtk_reserved3);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:62:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved4’ [-Wparentheses]
   62 |   void (*__gtk_reserved4);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:63:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved5’ [-Wparentheses]
   63 |   void (*__gtk_reserved5);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:64:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved6’ [-Wparentheses]
   64 |   void (*__gtk_reserved6);
      |        ^
/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:65:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved7’ [-Wparentheses]
   65 |   void (*__gtk_reserved7);
      |        ^
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
                 from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
                 from /usr/include/gtk-2.0/gtk/gtk.h:126,
                 from jni/openglespolygon.cpp:12:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:12: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
   73 |   GTimeVal last_popdown;
      |            ^~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:32,
                 from /usr/include/glib-2.0/glib.h:30,
                 from /usr/include/glib-2.0/gobject/gbinding.h:28,
                 from /usr/include/glib-2.0/glib-object.h:22,
                 from /usr/include/glib-2.0/gio/gioenums.h:28,
                 from /usr/include/glib-2.0/gio/giotypes.h:28,
                 from /usr/include/glib-2.0/gio/gio.h:26,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from jni/openglespolygon.cpp:12:
/usr/include/glib-2.0/glib/gtypes.h:545:26: note: declared here
  545 | typedef struct _GTimeVal GTimeVal GLIB_DEPRECATED_TYPE_IN_2_62_FOR(GDateTime);
      |                          ^~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtk.h:173,
                 from jni/openglespolygon.cpp:12:
/usr/include/gtk-2.0/gtk/gtkstatusicon.h:76:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Wparentheses]
   76 |   void (*__gtk_reserved1);
      |        ^
/usr/include/gtk-2.0/gtk/gtkstatusicon.h:77:8: warning: unnecessary parentheses in declaration of ‘__gtk_reserved2’ [-Wparentheses]
   77 |   void (*__gtk_reserved2);
      |        ^
make: *** [Makefile:56: gosmore] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

Thanks for maintaining!