[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 145422] New: Compile error on Solaris 8 -
From:       stevee () zuken ! co ! uk
Date:       2007-05-14 14:24:18
Message-ID: 20070514162415.145422.stevee () zuken ! co ! uk
[Download RAW message or body]

------- 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<QByteArray> \
                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<QByteArray> 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<QByteArray> 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<QByteArray> 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);


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic