Re: [Ekiga-devel-list] ekiga from 2008 06 16 failed to build (all arch)



yannick wrote:
g++ -DHAVE_CONFIG_H -I. -I.. -I../src -I../src/clients/
-I../src/components/ -I../src/devices/ -I../src/endpoints/ -I../src/gui/
-I../lib -I../lib/gmconf -I../lib/gui -I../lib/engine/
-I../lib/engine/gui/gtk-frontend -I../lib/engine/addressbook/skel
-I../lib/engine/chat/skel -I../lib/engine/presence/skel
-I../lib/engine/protocol/skel -I../lib/engine/protocol/sip
-I../lib/engine/videooutput/skel -I../lib/engine/videoinput/skel
-I../lib/engine/audioinput/skel -I../lib/engine/audiooutput/skel
-I../lib/engine/hal/skel -I../lib/engine/framework -I..  -DSCHEMA_AGE=61
-I../lib/engine/videooutput/common -I../lib/engine/videooutput/x
-DPNG_NO_MMX_CODE -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/pixman-1
-pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-DORBIT2=1 -pthread -DPNG_NO_MMX_CODE -I/usr/include/libgnome-2.0
-I/usr/include/orbit-2.0 -I/usr/include/gconf/2
-I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
-I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0
-I/usr/include/libgnomeui-2.0 -I/usr/include/libart-2.0
-I/usr/include/gnome-keyring-1 -I/usr/include/libbonoboui-2.0
-I/usr/include/libgnomecanvas-2.0 -I/usr/include/gtk-2.0
-I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gail-1.0
-I/usr/include/freetype2 -I/usr/include/atk-1.0
-I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/libpng12
-I/usr/include/pixman-1   -I/usr/include/dbus-1.0
-I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include    -I/usr/include/opal   -DPTRACING -DNDEBUG
-Os -g -fno-exceptions -felide-constructors   -I/usr/include/sigc++-2.0
-I/usr/lib/sigc++-2.0/include   -I/usr/include/libxml2   -g -O2 -Wall
-Wextra -Winit-self -Wswitch-default -Wswitch-enum -Wstrict-aliasing=2
-Wfloat-equal -Wshadow -MT opal-call.o -MD -MP -MF .deps/opal-call.Tpo
-c -o opal-call.o `test -f 'endpoints/opal-call.cpp' || echo
'./'`endpoints/opal-call.cpp
endpoints/sip.cpp: In member function 'virtual void Opal::Sip::CallProtocolManager::OnReceivedMESSAGE(OpalTransport&, SIP_PDU&)':
endpoints/sip.cpp:809: error: 'class SIPURL' has no member named 'AdjustForRequestURI'
endpoints/sip.cpp: In member function 'virtual void Opal::Sip::CallProtocolManager::OnMessageFailed(const SIPURL&, SIP_PDU::StatusCodes)':
endpoints/sip.cpp:822: error: 'class SIPURL' has no member named 'AdjustForRequestURI'
endpoints/sip.cpp: In member function 'virtual void Opal::Sip::CallProtocolManager::OnPresenceInfoReceived(const PString&, const PString&, const PString&)':
endpoints/sip.cpp:896: error: 'class SIPURL' has no member named 'AdjustForRequestURI'
make[4]: *** [sip.o] Error 1

As shown in http://opalvoip.svn.sourceforge.net/viewvc/opalvoip/opal/trunk/src/sip/sippdu.cxx?r1=20328&r2=20450, rjongbloed has changed in opal:
 void SIPURL::AdjustForRequestURI()
with
 void SIPURL::Sanitise(UsageContext context)
Now the sanitise depends on the context. Therefore, someone must update ekiga to use the new function with the correct parameter.

I propose the patch attached, but please review it carefully, since I do not know the internals of opal...

For info, here are the UsageContext enum from opal/include/sip/sippdu.h:
    enum UsageContext {
      ExternalURI,  ///< URI used anywhere outside of protocol
      RequestURI,   ///< Request-URI (after the INVITE)
      ToURI,        ///< To header field
      FromURI,      ///< From header field
      ContactURI,   ///< Registration or Redirection Contact header field
RouteURI ///< Dialog Contact header field, or Record-Route header field
    };

--
Eugen
--- ekiga.orig/src/endpoints/sip.cpp	2008-06-06 16:06:56.000000000 +0200
+++ ekiga/src/endpoints/sip.cpp	2008-06-18 16:10:38.000000000 +0200
@@ -805,8 +805,8 @@
     msgData.SetAt (SIPURL (from).AsString (), val);
 
     SIPURL uri = from;
+    uri.Sanitise (FromURI);
     std::string display_name = (const char *) uri.GetDisplayName ();
-    uri.AdjustForRequestURI ();
     std::string message_uri = (const char *) uri.AsString ();
     std::string _message = (const char *) pdu.GetEntityBody ();
 
@@ -819,7 +819,7 @@
                                            SIP_PDU::StatusCodes /*reason*/)
 {
   SIPURL to = messageUrl;
-  to.AdjustForRequestURI ();
+  to.Sanitise (ToURI);
   std::string uri = (const char *) to.AsString ();
   runtime.run_in_main (sigc::bind (im_failed.make_slot (), uri, 
                                    _("Could not send message")));
@@ -892,10 +892,6 @@
   std::string status;
   std::string presence = "presence-unknown";
 
-  SIPURL sip_uri = SIPURL (user);
-  sip_uri.AdjustForRequestURI ();
-  std::string _uri = sip_uri.AsString ();
-
   if (b.Find ("Closed") != P_MAX_INDEX)
     presence = "presence-offline";
   else
@@ -916,6 +912,10 @@
   if ((j = s.Find (" - ")) != P_MAX_INDEX)
     status = (const char *) note.Mid (j + 3);
 
+  SIPURL sip_uri = SIPURL (user);
+  sip_uri.Sanitise (ExternalURI);
+  std::string _uri = sip_uri.AsString ();
+
   /**
    * TODO
    * Wouldn't it be convenient to emit the signal and have the presence core listen to it ?


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]