[Pdns-users] Solaris 8 with gmysql compile error - 2.9.16
Petros Diveris
petros at urban-eye.com
Mon Mar 8 17:16:49 UTC 2004
sorry for previous html - mozilla mail you see!
Hi
Apologies if it has been covered before, I don't seem to be able to find
anything about it on the the list. I am compiling pdns 2.9.16 with
gmysql and recursor on Solaris 8, with gcc 3.3.2
When I ran make (obviously after configure) I got the following error:
In file included from smysql.cc:4:
smysql.hh:13: error: type specifier omitted for parameter `u_int16_t'
smysql.hh:13: error: parse error before `=' token
smysql.cc:16: error: prototype for `SMySQL::SMySQL(const std::string&, const
std::string&, short unsigned int, const std::string&, const std::string&,
const std::string&)' does not match any in class `SMySQL'
smysql.hh:11: error: candidates are: SMySQL::SMySQL()
smysql.hh:11: error: SMySQL::SMySQL(const SMySQL&)
make: *** [smysql.lo] Error 1
I added a
typedef uint16_t u_int16_t at the begining and that sorted the problem.
Something similar happened with ippreftree.cc. This time I got the
following error:
In file included from ippreftree.cc:10:
ippreftree.hh:27: error: parse error before `,' token
ippreftree.hh:30: error: parse error before `,' token
ippreftree.hh:41: error: parse error before `,' token
ippreftree.hh:43: error: parse error before `,' token
ippreftree.hh:46: error: ISO C++ forbids declaration of `u_int32_t' with no
type
ippreftree.hh:46: error: `u_int32_t' declared as an `inline' field
ippreftree.hh:46: error: parse error before `(' token
ippreftree.hh:47: error: type specifier omitted for parameter `u_int32_t'
ippreftree.hh:47: error: parse error before `&' token
Again, I typedefed at the begining
typedef uint132_t u_int32_t
which sorted the problem out. However, running make I know got
mtasker.cc: In member function `void MTasker<EventKey,
EventVal>::makeThread(void (*)(void*), void*) [with EventKey = PacketID,
EventVal = std::string]':
pdns_recursor.cc:456: instantiated from here
mtasker.cc:230: error: invalid conversion from `void (*)()' to `void
(*)(...)'
make[3]: *** [pdns_recursor.o] Error 1
make[3]: Leaving directory `/usr/home/pete/pdns-2.9.16/pdns'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/home/pete/pdns-2.9.16/pdns'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/home/pete/pdns-2.9.16'
make: *** [all] Error 2
It seems that the #IFDEF SOLARIS on line 227 didn't actually do
anything so I had to "force" it to use the Solaris specific line, i.e.
makecontext (uc, void (*) (...))threadWrapper, 4, this, start, maxtid, val);
After that, the code compiled and built fine but obviously I can't
really deploy if I am not sure about whether I am doing something wrong
or there are probs with Solaris 8?
Any ideas/suggestions much appreciated.
--
Petros Diveris
iFone, Ltd
==============================================================================================
The contents of this email are supposed to be confidential. However, the security services of at least the US, UK, Canada, Australia and New Zealand have actually intercepted it. The same applies to your replies. You've been warned. You can check: www.gnupg.org for more info.
More information about the Pdns-users
mailing list