Trouble compiling on Lenny Debian-ppc

Greetings,

I currently run GPS on FreeBSD (i386/powerpc), installed from ports.
Now I am trying to install from source in Debian Lenny on a G4 Powerbook.

apt packages:
libstdc++5 1:3.3.6-18
libstdc++6 4.3-3
libstdc++6 6-4.3-dev
libdbi0 0.8.2-3
libdbi0-devel 0.8.2-3

I got the same results with the following sources:
gps-1.005-bugfix.tar.gz (sourceforge)
greylist/trunk (svn)
greylist/tags/1.005 (svn)
greylist/tags/1.006 (svn)

# cd greylist/trunk
# make -f Makefile.cvs
# ./configure
# make
make  all-recursive
make[1]: Entering directory `/usr/local/src/release-1.005'
Making all in src
make[2]: Entering directory `/usr/local/src/release-1.005/src'
g++ -DHAVE_CONFIG_H -I. -I..   -g0 -O  -g -O2 -MT db.o -MD -MP -MF .deps/db.Tpo -c -o db.o db.cpp
In file included from pmatcher.h:28,
                 from wldb.h:33,
                 from tmplwlmod.h:24,
                 from db.cpp:35:
regexcpp.h: In member function ‘void RegEx::initRegex()’:
regexcpp.h:74: error: ‘memset’ was not declared in this scope
In file included from tmplwlmod.h:24,
                 from db.cpp:35:
wldb.h: In member function ‘bool WLDB::patternMatch(std::string, const Triplet&)’:
wldb.h:80: error: ‘strcmp’ was not declared in this scope
In file included from db.cpp:39:
dbiquote.h: In member function ‘DBIQuote& DBIQuote::operator=(const DBIQuote&)’:
dbiquote.h:109: error: ‘strdup’ was not declared in this scope
dbiquote.h: In member function ‘void DBIQuote::setNULL()’:
dbiquote.h:126: error: ‘strdup’ was not declared in this scope
dbiquote.h: In member function ‘bool DBIQuote::isNULL()’:
dbiquote.h:130: error: ‘strcmp’ was not declared in this scope
db.cpp: In member function ‘DB::RecordStatus DB::update(const Triplet&)’:
db.cpp:275: error: ‘transform’ was not declared in this scope
make[2]: *** [db.o] Error 1
make[2]: Leaving directory `/usr/local/src/release-1.005/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/release-1.005'
make: *** [all] Error 2

Any help is greatly appreciated. Keep up the great work!

Ross

Forums: 

Hi Ross,

I found the same problem. I have a patch to be applied to the trunk cvs version; perhaps the author may include it if he finds it appropriate.

Have fun and thanks!

===================================================================
--- src/dbiquote.h      (revision 41)
+++ src/dbiquote.h      (working copy)
@@ -25,6 +25,7 @@
 #endif
 
 #include <string>
+#include <cstring>
 #include <stdexcept>
 
 #define DBIQUOTEDBG false
 
===================================================================
--- src/main.cpp        (revision 41)
+++ src/main.cpp        (working copy)
@@ -110,7 +110,7 @@
        }
 }
 /// main
-int main(char argc,char* argv[])
+int main(int argc,char* argv[])
 {
 //     Watchdog harakiri;
        openlog(::s_gpsname, LOG_PID, GPS_LOG_FACILITY);
 
===================================================================
--- src/db.cpp  (revision 41)
+++ src/db.cpp  (working copy)
@@ -13,6 +13,7 @@
 #include "triplet.h"
 #include <sstream>
 #include <stdexcept>
+#include <algorithm>
 #include "cfg.h"
 #include "tmplwlmod.h"
 #include "wldb.h"
 
===================================================================
--- src/wldb.h  (revision 41)
+++ src/wldb.h  (working copy)
@@ -24,6 +24,7 @@
        @author Michael Moritz
 */
 #include <exception>
+#include <cstring>
 #include <string>
 #include <syslog.h>
 #include "triplet.h"

Thanks Alexandru. I've commited the changes to the repository r42.