[Spice-devel] Spice on OS/X
Cliff Sharp
csharp at vbridges.com
Wed Apr 27 10:51:43 PDT 2011
Yes - I was having the same problem as Kai.
Kai's recommendation did get me past this issue for now.
On Apr 27, 2011, at 12:44 PM, Kai Mosebach wrote:
> Cliff ran into the same problem. I assume it must be somewhere else.
>
> ATM both of us have to uncomment the #ifdef query for the GLIB version
>
> My version of glib2 is 2.28.5 (latest from the ports I guess)
>
> From: Cliff Sharp <csharp at vbridges.com>
> Date: Wed, 27 Apr 2011 11:49:19 -0500
> To: Kai Mosebach <spice at komadev.de>
> Subject: Re: [Spice-devel] Spice on OS/X
>
> I will be happy to file a patch as soon as I get this building correctly.
>
> Now I am getting this:
>
> CCLD libspice-client-glib-2.0.la
> Undefined symbols for architecture x86_64:
> "_g_get_monotonic_clock", referenced from:
> _spice_session_set_mm_time in spice-session.o
> _spice_session_get_mm_time in spice-session.o
> ld: symbol(s) not found for architecture x86_64
> collect2: ld returned 1 exit status
> make[3]: *** [libspice-client-glib-2.0.la] Error 1
> make[2]: *** [all] Error 2
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Thanks
>
> On Apr 27, 2011, at 11:41 AM, Kai Mosebach wrote:
>
>> Me too actually :) - at least to spice porting … That piece of SW is just too good to not support it :)
>>
>> From: Cliff Sharp <csharp at vbridges.com>
>> Date: Wed, 27 Apr 2011 11:38:06 -0500
>> To: Kai Mosebach <spice at komadev.de>
>> Subject: Re: [Spice-devel] Spice on OS/X
>>
>> Thank you very much for your time.
>> I am fairly new to spice development and really appreciate your help.
>>
>> On Apr 27, 2011, at 11:32 AM, Kai Mosebach wrote:
>>
>>> Ahh the last pieces :)
>>>
>>> that’s the (reverse?) patch2 from Christophe - set the
>>>
>>> VERSION_LDFLAGS =
>>>
>>> In gtk/Makefile.am
>>>
>>> And also find and fix VERSION_LDFLAGS
>>>
>>> In gtk/Makefile.in
>>>
>>> Then do an make clean;configure;make again
>>>
>>> If possible, can you file a patch out of this and send it to the list (im short on time atm)?
>>>
>>> Good luck :)
>>>
>>> From: Cliff Sharp <csharp at vbridges.com>
>>> Date: Wed, 27 Apr 2011 11:24:40 -0500
>>> To: Kai Mosebach <kai at freshx.de>
>>> Subject: Re: [Spice-devel] Spice on OS/X
>>>
>>> Thanks very much.
>>>
>>> What about :
>>> CCLD libspice-client-glib-2.0.la
>>> libtool: link: symbol file `./sym-file' does not exist
>>> make[3]: *** [libspice-client-glib-2.0.la] Error 1
>>> make[2]: *** [all] Error 2
>>> make[1]: *** [all-recursive] Error 1
>>> make: *** [all] Error 2
>>>
>>> I have glib2 installed....
>>>
>>> Thanks
>>>
>>> On Apr 27, 2011, at 11:00 AM, Kai Mosebach(FX) wrote:
>>>
>>>> port install gst-plugins-base
>>>>
>>>> From: Cliff Sharp <csharp at vbridges.com>
>>>> Date: Wed, 27 Apr 2011 10:58:29 -0500
>>>> To: Kai Mosebach <spice at komadev.de>
>>>> Subject: Re: [Spice-devel] Spice on OS/X
>>>>
>>>> I am getting the following error that I could your help debugging:
>>>>
>>>> CC spice-gstaudio.lo
>>>> spice-gstaudio.c:23:31: error: gst/app/gstappsrc.h: No such file or directory
>>>> spice-gstaudio.c:24:34: error: gst/app/gstappbuffer.h: No such file or directory
>>>> spice-gstaudio.c:25:32: error: gst/app/gstappsink.h: No such file or directory
>>>> spice-gstaudio.c:124: error: expected ')' before '*' token
>>>> spice-gstaudio.c: In function 'record_bus_cb':
>>>> spice-gstaudio.c:157: warning: implicit declaration of function 'gst_app_sink_pull_buffer'
>>>> spice-gstaudio.c:157: warning: implicit declaration of function 'GST_APP_SINK'
>>>> spice-gstaudio.c:157: warning: assignment makes pointer from integer without a cast
>>>> spice-gstaudio.c:159: warning: implicit declaration of function 'gst_app_sink_is_eos'
>>>> spice-gstaudio.c: In function 'record_start':
>>>> spice-gstaudio.c:219: warning: implicit declaration of function 'gst_app_sink_set_emit_signals'
>>>> spice-gstaudio.c:220: error: 'record_new_buffer' undeclared (first use in this function)
>>>> spice-gstaudio.c:220: error: (Each undeclared identifier is reported only once
>>>> spice-gstaudio.c:220: error: for each function it appears in.)
>>>> spice-gstaudio.c: In function 'playback_data':
>>>> spice-gstaudio.c:323: warning: implicit declaration of function 'gst_app_buffer_new'
>>>> spice-gstaudio.c:323: warning: assignment makes pointer from integer without a cast
>>>> spice-gstaudio.c:324: warning: implicit declaration of function 'gst_app_src_push_buffer'
>>>> spice-gstaudio.c:324: warning: implicit declaration of function 'GST_APP_SRC'
>>>> make[3]: *** [spice-gstaudio.lo] Error 1
>>>> make[2]: *** [all] Error 2
>>>> make[1]: *** [all-recursive] Error 1
>>>> make: *** [all] Error 2
>>>>
>>>> Thanks
>>>>
>>>> On Apr 27, 2011, at 10:45 AM, Kai Mosebach wrote:
>>>>
>>>>> I remember installing py-parsing by hand (see one of my first mails). These pkgs I had to install manually (not through the ports)
>>>>>
>>>>> 3.) Install pyparsing from http://sourceforge.net/projects/pyparsing/
>>>>> 4.) Install Text-CSV from http://search.cpan.org/~makamaka/Text-CSV-1.21/lib/Text/CSV.pm
>>>>>
>>>>> Good luck ;-)
>>>>>
>>>>> From: Cliff Sharp <csharp at vbridges.com>
>>>>> Date: Wed, 27 Apr 2011 10:30:13 -0500
>>>>> To: Kai Mosebach <kai.mosebach at bsse.ethz.ch>
>>>>> Subject: Re: [Spice-devel] Spice on OS/X
>>>>>
>>>>> Question. I have applied your patches mentioned in this email by hand. I hope I did them correctly.
>>>>> I have also built spice-gtk as per your suggestion in this email.
>>>>>
>>>>> I have executed MacPorts for the following:
>>>>> py-parsing @1.5.1 python/py-parsing
>>>>> py25-parsing @1.5.1 python/py25-parsing
>>>>> py26-parsing @1.5.2 python/py26-parsing
>>>>> py27-parsing @1.5.5 python/py27-parsing
>>>>>
>>>>> But I still get the following error:
>>>>>
>>>>> make all-recursive
>>>>> Making all in common
>>>>> Making all in win
>>>>> Making all in my_getopt-1.5
>>>>> make[4]: Nothing to be done for `all'.
>>>>> make[4]: Nothing to be done for `all-am'.
>>>>> make[3]: Nothing to be done for `all-am'.
>>>>> Making all in gtk
>>>>> GEN spice-marshal.c
>>>>> GEN spice-marshal.h
>>>>> GEN generated_demarshallers.c
>>>>> Traceback (most recent call last):
>>>>> File "../spice_codegen.py", line 7, in <module>
>>>>> from python_modules import spice_parser
>>>>> File "/Users/csharp/src/spice-gtk/spice-gtk-0.5/python_modules/spice_parser.py", line 1, in <module>
>>>>> from pyparsing import Literal, CaselessLiteral, Word, OneOrMore, ZeroOrMore, \
>>>>> ImportError: No module named pyparsing
>>>>> make[2]: *** [generated_demarshallers.c] Error 1
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make: *** [all] Error 2
>>>>>
>>>>> So my question is what is the name of the correct MacPort to satisfy this missing Python module for this error "ImportError: No module named pyparsing" ?
>>>>>
>>>>> Thanks
>>>>>
>>>>> On Apr 27, 2011, at 3:59 AM, Mosebach Kai wrote:
>>>>>
>>>>>> I finally build it on OSX 10.6.6 successfully :-)
>>>>>>
>>>>>> From the patches below I only used :
>>>>>>
>>>>>> common/lines.c
>>>>>> gtk/Makefile.am
>>>>>>
>>>>>>
>>>>>> Then a
>>>>>>
>>>>>> ./configure --with-audio=gstreamer --without-python
>>>>>> --with-coroutine=gthread
>>>>>>
>>>>>> did the trick, I think --with-coroutine=gthread avoid the _XOPEN_SOURCE
>>>>>> patches.
>>>>>>
>>>>>> Best Kai
>>>>>>
>>>>>>
>>>>>> On 4/27/11 10:47 AM, "Christophe Fergeau" <cfergeau at redhat.com> wrote:
>>>>>>
>>>>>>> On Tue, Apr 26, 2011 at 08:39:13PM +0200, Attila Sukosd wrote:
>>>>>>>> Also I've attached the patch which fixes a few things here and there...
>>>>>>>> With
>>>>>>>> this it builds fine.
>>>>>>>
>>>>>>> Ah, so you've already built spice-gtk on macosx? How well did it work?
>>>>>>>
>>>>>>> I had some questions about your patch, it would be really helpful if you
>>>>>>> remembered why you had to change these things :)
>>>>>>>
>>>>>>> Thanks for the patch,
>>>>>>>
>>>>>>> Christophe
>>>>>>>
>>>>>>> diff --git a/common/lines.c b/common/lines.c
>>>>>>> index 1a14c18..59d0689 100644
>>>>>>> --- a/common/lines.c
>>>>>>> +++ b/common/lines.c
>>>>>>> @@ -2985,7 +2985,7 @@ miWideDashSegment (GCPtr pGC,
>>>>>>> double L, l;
>>>>>>> double k;
>>>>>>> PolyVertexRec vertices[4];
>>>>>>> - PolyVertexRec saveRight = { 0 }, saveBottom;
>>>>>>> + PolyVertexRec saveRight = { 0 }, saveBottom = { 0 };
>>>>>>> PolySlopeRec slopes[4];
>>>>>>> PolyEdgeRec left[2], right[2];
>>>>>>> LineFaceRec lcapFace, rcapFace;
>>>>>>>
>>>>>>> I assume this bit is to avoid a "saveBottom can be used without being
>>>>>>> initialized" gcc warning?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> diff --git a/gtk/Makefile.am b/gtk/Makefile.am
>>>>>>> index 7ce8a65..e5f3c1c 100644
>>>>>>> --- a/gtk/Makefile.am
>>>>>>> +++ b/gtk/Makefile.am
>>>>>>> @@ -27,6 +27,7 @@ if HAVE_LD_VERSION_SCRIPT
>>>>>>> VERSION_LDFLAGS = -Wl,--version-script=${srcdir}/map-file
>>>>>>> else
>>>>>>> VERSION_LDFLAGS = -export-symbols ${srcdir}/sym-file
>>>>>>> +#VERSION_LDFLAGS =
>>>>>>> endif
>>>>>>>
>>>>>>> KEYMAP_GEN = $(srcdir)/keymap-gen.pl
>>>>>>>
>>>>>>>
>>>>>>> macosx ld indeed doesn't have any of --version-script nor -export-symbols,
>>>>>>> but it does have --exported_symbols_list which seems to be equivalent to
>>>>>>> what we are trying to do here. This means m4/ld-version.m4 could be
>>>>>>> improved to deal with this.
>>>>>>>
>>>>>>>
>>>>>>> @@ -420,7 +421,6 @@ INTROSPECTION_GIRS =
>>>>>>> INTROSPECTION_SCANNER_ARGS = --add-include-path=$(builddir)
>>>>>>> $(PREFIX_ARGS)
>>>>>>> INTROSPECTION_COMPILER_ARGS = --includedir=$(builddir)
>>>>>>>
>>>>>>> -if HAVE_INTROSPECTION
>>>>>>> glib_introspection_files = $(libspice_client_glibinclude_HEADERS)
>>>>>>> gtk_introspection_files = $(libspice_client_gtkinclude_HEADERS)
>>>>>>>
>>>>>>> @@ -453,7 +453,6 @@ typelibsdir = $(libdir)/girepository-1.0
>>>>>>> typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
>>>>>>>
>>>>>>> CLEANFILES += $(gir_DATA) $(typelibs_DATA)
>>>>>>> -endif
>>>>>>>
>>>>>>> I'm not sure why you needed this change.
>>>>>>> My first guess was that this change is needed to prevent autoconf from
>>>>>>> complaining that HAVE_INTROSPECTION is not present in an AM_CONDITIONAL
>>>>>>> when gobject-introspection (and introspection.m4) are not installed.
>>>>>>> However, this would mean that unconditionally building the introspection
>>>>>>> stuff would fail, and moreover, when I tested just this change without
>>>>>>> introspection, configure didn't succeed. Can you tell more about why this
>>>>>>> change was needed?
>>>>>>>
>>>>>>>
>>>>>>> diff --git a/gtk/continuation.c b/gtk/continuation.c
>>>>>>> index 4f5b027..3aefa54 100644
>>>>>>> --- a/gtk/continuation.c
>>>>>>> +++ b/gtk/continuation.c
>>>>>>> @@ -21,7 +21,10 @@
>>>>>>> #include <config.h>
>>>>>>>
>>>>>>> #include "continuation.h"
>>>>>>> -
>>>>>>> +#ifdef __MACH__
>>>>>>> +#define _XOPEN_SOURCE
>>>>>>> +#include <ucontext.h>
>>>>>>> +#endif
>>>>>>>
>>>>>>> continuation.h already has the #include <ucontext.h>, including it again
>>>>>>> shouldn't do much. Does something like
>>>>>>> --- a/gtk/continuation.c
>>>>>>> +++ b/gtk/continuation.c
>>>>>>> @@ -21,7 +21,10 @@
>>>>>>> #include <config.h>
>>>>>>>
>>>>>>> +#define _XOPEN_SOURCE
>>>>>>> #include "continuation.h"
>>>>>>>
>>>>>>> help with the issue you were having?
>>>>>>>
>>>>>>>
>>>>>>> diff --git a/gtk/continuation.h b/gtk/continuation.h
>>>>>>> index 585788e..6822757 100644
>>>>>>> --- a/gtk/continuation.h
>>>>>>> +++ b/gtk/continuation.h
>>>>>>> @@ -21,7 +21,8 @@
>>>>>>> #ifndef _CONTINUATION_H_
>>>>>>> #define _CONTINUATION_H_
>>>>>>>
>>>>>>> -#include <ucontext.h>
>>>>>>> +#include <string.h>
>>>>>>> +#include <sys/ucontext.h>
>>>>>>>
>>>>>>> Ah, this explains the #include <ucontext.h> you added in the previous
>>>>>>> hunk.
>>>>>>> I suspect dropping both hunks and only adding the #define _XOPEN_SOURCE
>>>>>>> here would fix your issues. Though nothing in ucontext.h nor in
>>>>>>> sys/ucontext.h on a macosx box depends on _XOPEN_SOURCE, so I'm not sure
>>>>>>> what issues you were seeing here?
>>>>>>>
>>>>>>>
>>>>>>> diff --git a/gtk/coroutine_ucontext.c b/gtk/coroutine_ucontext.c
>>>>>>> index 91059ad..ee48249 100644
>>>>>>> --- a/gtk/coroutine_ucontext.c
>>>>>>> +++ b/gtk/coroutine_ucontext.c
>>>>>>> @@ -25,6 +25,9 @@
>>>>>>> #include <stdio.h>
>>>>>>> #include <stdlib.h>
>>>>>>> #include "coroutine.h"
>>>>>>> +#ifndef MAP_ANONYMOUS
>>>>>>> +# define MAP_ANONYMOUS MAP_ANON
>>>>>>> +#endif
>>>>>>>
>>>>>>> Yep, macosx has MAP_ANON but no MAP_ANONYMOUS
>>>>>>>
>>>>>>>
>>>>>>> diff --git a/gtk/spice-client-gtk.override b/gtk/spice-client-gtk.override
>>>>>>> index 7b3543a..e634f78 100644
>>>>>>> --- a/gtk/spice-client-gtk.override
>>>>>>> +++ b/gtk/spice-client-gtk.override
>>>>>>> @@ -1,6 +1,7 @@
>>>>>>> %%
>>>>>>> headers
>>>>>>> #include <Python.h>
>>>>>>> +#define NO_IMPORT_PYGOBJECT
>>>>>>>
>>>>>>> This one seems to be here for the same kind of issues as what led to
>>>>>>> https://gitorious.org/rb-lastfm/rb-lastfm/commit/ab102ef5a954eb87354c3467d
>>>>>>> 1a35c8fa596242b
>>>>>>> but I must say I don't understand very well the issue/what's going on. Do
>>>>>>> you happen to have the compile error handy (just for my knowledge). I'm
>>>>>>> happy to take this one as is whatsoever.
>>>>>>>
>>>>>>> Thanks again for the patch,
>>>>>>>
>>>>>>> Christophe
>>>>>>
>>>>>
>>>>>
>>>>> ____
>>>>>
>>>>> Cliff Sharp | csharp at vbridges.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> ____
>>>>
>>>> Cliff Sharp | csharp at vbridges.com
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> ____
>>>
>>> Cliff Sharp | csharp at vbridges.com
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>> ____
>>
>> Cliff Sharp | csharp at vbridges.com
>>
>>
>>
>>
>>
>>
>>
>
>
> ____
>
> Cliff Sharp | csharp at vbridges.com
>
>
>
>
>
>
>
____
Cliff Sharp | csharp at vbridges.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20110427/757469f8/attachment-0001.htm>
More information about the Spice-devel
mailing list