#include "wx/log.h"
     #include "wx/event.h"
     #include "wx/app.h"
+    #include "wx/utils.h"
+    #include "wx/timer.h"
 #endif // !PCH
 
-#include "wx/timer.h"
 #include "wx/filefn.h"
-#include "wx/utils.h"
 #include "wx/ffile.h"
 #include "wx/process.h"
-#include "wx/wxchar.h"
+#include "wx/crt.h"
 
 #include <stdlib.h>
 
 {
 public:
    wxDialUpManagerImpl();
-   ~wxDialUpManagerImpl();
+   virtual ~wxDialUpManagerImpl();
 
    /** Could the dialup manager be initialized correctly? If this function
        returns false, no other functions will work neither, so it's a good idea
    }
    else // failed to connect
    {
+#ifdef ENETUNREACH
        if(errno == ENETUNREACH)
           return Net_No; // network is unreachable
        else
+#endif
           return Net_Unknown; // connect failed, but don't know why
    }
 }
         wxString cmd = wxT("/bin/sh -c \'");
         cmd << m_IfconfigPath;
 #if defined(__AIX__) || \
+    defined(__NETBSD__) || \
     defined(__OSF__) || \
     defined(__SOLARIS__) || defined (__SUNOS__)
         // need to add -a flag