------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. http://bugs.kde.org/show_bug.cgi?id=145422 Summary: Compile error on Solaris 8 - kdecore/network/k3resolver.cpp uses the get*by*_r functions incorrectly Product: kdelibs Version: unspecified Platform: Compiled Sources OS/Version: Solaris Status: UNCONFIRMED Severity: normal Priority: NOR Component: general AssignedTo: coolo kde org ReportedBy: stevee zuken co uk Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc 3.4.6 OS: Solaris This is with version 3.90.1 of kdelibs I get this compile error on Solaris 8: [ 1%] Building CXX object kdecore/CMakeFiles/kdecore.dir/network/k3resolver.o /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static QList KNetwork::KResolver::protocolName(int)': /usr/include/netdb.h:228: error: too many arguments to function `protoent* getprotobynumber_r(int, protoent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:632: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:632: error: ISO C++ forbids comparison between pointer and integer /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static QList KNetwork::KResolver::protocolName(const char*)': /usr/include/netdb.h:226: error: too many arguments to function `protoent* getprotobyname_r(const char*, protoent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:691: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:691: error: ISO C++ forbids comparison between pointer and integer /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static int KNetwork::KResolver::protocolNumber(const char*)': /usr/include/netdb.h:226: error: too many arguments to function `protoent* getprotobyname_r(const char*, protoent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:752: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:752: error: ISO C++ forbids comparison between pointer and integer /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static int KNetwork::KResolver::servicePort(const char*, const char*)': /usr/include/netdb.h:215: error: too many arguments to function `servent* getservbyname_r(const char*, const char*, servent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:808: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:808: error: ISO C++ forbids comparison between pointer and integer /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static QList KNetwork::KResolver::serviceName(const char*, const char*)': /usr/include/netdb.h:215: error: too many arguments to function `servent* getservbyname_r(const char*, const char*, servent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:864: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:864: error: ISO C++ forbids comparison between pointer and integer /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp: In static member function `static QList KNetwork::KResolver::serviceName(int, const char*)': /usr/include/netdb.h:217: error: too many arguments to function `servent* getservbyport_r(int, const char*, servent*, char*, int)' /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:924: error: at this point in file /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp:924: error: ISO C++ forbids comparison between pointer and integer distcc[13562] ERROR: compile /cad4/stevee/kde_build/kdelibs-3.90.1/kdecore/network/k3resolver.cpp on rooster/3 failed The prototypes for these functions on Solaris are: struct protoent *getprotobynumber_r(int proto, struct protoent *result, char *buffer, int buflen); struct protoent *getprotobyname_r(const char *name, struct protoent *result, char *buffer, int buflen); struct servent *getservbyname_r(const char *name, const char *proto, struct servent *result, char *buffer, int buflen); struct servent *getservbyport_r(int port, const char *proto, struct servent *result, char *buffer, int buflen);