[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