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

List:       kde-bugs-dist
Subject:    [Bug 59740] New: krfb does not compile on Solaris (IPV6 support and
From:       grant mcdorman <grant.mcdorman () cedara ! com>
Date:       2003-06-13 18:01:58
[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=59740     
           Summary: krfb does not compile on Solaris (IPV6 support and other
                    problems)
           Product: krfb
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Solaris
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: tim@tjansen.de
        ReportedBy: grant.mcdorman@cedara.com


Version:            (using KDE KDE 3.1.2)
Installed from:    Compiled From Sources
Compiler:          gcc 3.3 
OS:          Solaris

kinetaddr tests for IPV6 support by looking for AF_INET6. Unfortunately, due to the \
order of header includes this is *not* defined when kinetaddr.h is included; as a \
result the class definition does not include the IPV6 functions. However, by the time \
the body is compiled, the AF_INET6 is defined - resulting errors when the IPV6 \
methods are compiled.

It is also apparent that other errors can occur on OSF compiles due to this following \
the include of kinetaddr.h:  #if defined(__osf__) && defined(AF_INET6)
	#undef AF_INET6
	#endif

The obvious solution is to move the include of kinetaddr.h after the other include \
directives, and after the above preprocessor directives.

Further, in this file is an improper preprocessor directive:
  #ifdef __osf__ || defined(sun)

A suggested patch will be attached to this bug report.

Details of compile errors:

In file included from libsrvloc_la.all_cpp.cpp:2:
kinetaddr.cpp:97: error: prototype for `KInetAddress::KInetAddress(const
   in6_addr&)' does not match any in class `KInetAddress'
kinetaddr.h:85: error: candidates are: KInetAddress::KInetAddress(const
   QString&)
kinetaddr.cpp:89: error:                 KInetAddress::KInetAddress(const
   in_addr&)
kinetaddr.cpp:79: error:                 KInetAddress::KInetAddress(const
   KInetAddress&)
kinetaddr.cpp:138: error: no `const in6_addr* KInetAddress::addressV6() const'
   member function declared in class `KInetAddress'
In file included from libsrvloc_la.all_cpp.cpp:2:
kinetaddr.cpp:149:16: warning: extra tokens at end of #ifdef directive
In file included from libsrvloc_la.all_cpp.cpp:3:
kinetaddr_ipfinder.cpp:190: error: no `KInetAddress*
   KInetAddress::getLocalAddress()' member function declared in class `
   KInetAddress'
kinetaddr_ipfinder.cpp:190: error: `KInetAddress*
   KInetAddress::getLocalAddress()' and `static KInetAddress*
   KInetAddress::getLocalAddress()' cannot be overloaded


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

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