[Spice-devel] Spice on OS/X

Alon Levy alevy at redhat.com
Wed Apr 27 01:17:06 PDT 2011


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.
> 

Can you clean up the commenting out part of the patch (Makefile.am you comment
out a single line, you can probably ifdef it based on some arch variable, introduce
one if there isn't already), and send it inlined, not as attachment?

> 
> Best Regards,
> 
> Attila Sukosd
> 
> -----------------------------------------
> DTU Computing Center - www.cc.dtu.dk
> attila at cc.dtu.dk, gbaras at student.dtu.dk, s070600 at student.dtu.dk
> 
> 
> 
> 
> On Tue, Apr 26, 2011 at 8:36 PM, Attila Sukosd <attila.sukosd at gmail.com>wrote:
> 
> > Hi,
> >
> >
> > You can specify it to use gstreamer instead of pulseaudio, and install
> > gstreamer from macports and it builds fine.
> >
> > Best Regards,
> >
> > Attila Sukosd
> >
> > -----------------------------------------
> > DTU Computing Center - www.cc.dtu.dk
> > attila at cc.dtu.dk, gbaras at student.dtu.dk, s070600 at student.dtu.dk
> >
> >
> >
> >
> > On Tue, Apr 26, 2011 at 8:23 PM, Cliff Sharp <csharp at vbridges.com> wrote:
> >
> >> I am getting much further with the Third Phase than the rest.
> >> spice-gtk does require pulseaudio
> >> It is not in MacPorts (celt051)
> >>
> >> When doing a sudo make install with pulseaudio I get the following:
> >>
> >> make  install-recursive
> >> Making install in src
> >> make  install-am
> >>   CC     libpulsecommon_0.9.22_la-client-conf.lo
> >>   CC     libpulsecommon_0.9.22_la-i18n.lo
> >>   CC     libpulsecommon_0.9.22_la-fork-detect.lo
> >>   CC     libpulsecommon_0.9.22_la-authkey.lo
> >>   CC     libpulsecommon_0.9.22_la-conf-parser.lo
> >>   CC     libpulsecommon_0.9.22_la-core-error.lo
> >>   CC     libpulsecommon_0.9.22_la-core-rtclock.lo
> >>   CC     libpulsecommon_0.9.22_la-core-util.lo
> >> pulsecore/core-util.c: In function 'pa_hexstr':
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/core-util.c:1818: warning: cannot optimize loop, the loop
> >> counter may overflow [-Wunsafe-loop-optimizations]
> >>   CC     libpulsecommon_0.9.22_la-dynarray.lo
> >>   CC     libpulsecommon_0.9.22_la-flist.lo
> >>   CC     libpulsecommon_0.9.22_la-hashmap.lo
> >>   CC     libpulsecommon_0.9.22_la-idxset.lo
> >>   CC     libpulsecommon_0.9.22_la-inet_ntop.lo
> >>   CC     libpulsecommon_0.9.22_la-inet_pton.lo
> >>   CC     libpulsecommon_0.9.22_la-iochannel.lo
> >>   CC     libpulsecommon_0.9.22_la-ioline.lo
> >>   CC     libpulsecommon_0.9.22_la-ipacl.lo
> >> pulsecore/ipacl.c: In function 'pa_ip_acl_check':
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:229: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >> pulsecore/ipacl.c:241: warning: cannot optimize loop, the loop counter may
> >> overflow [-Wunsafe-loop-optimizations]
> >>   CC     libpulsecommon_0.9.22_la-lock-autospawn.lo
> >>   CC     libpulsecommon_0.9.22_la-log.lo
> >>   CC     libpulsecommon_0.9.22_la-ratelimit.lo
> >>   CC     libpulsecommon_0.9.22_la-mcalign.lo
> >>   CC     libpulsecommon_0.9.22_la-memblock.lo
> >>   CC     libpulsecommon_0.9.22_la-memblockq.lo
> >>   CC     libpulsecommon_0.9.22_la-memchunk.lo
> >>   CC     libpulsecommon_0.9.22_la-once.lo
> >>   CC     libpulsecommon_0.9.22_la-packet.lo
> >>   CC     libpulsecommon_0.9.22_la-parseaddr.lo
> >>   CC     libpulsecommon_0.9.22_la-pdispatch.lo
> >>   CC     libpulsecommon_0.9.22_la-pid.lo
> >>   CC     libpulsecommon_0.9.22_la-pipe.lo
> >>   CC     libpulsecommon_0.9.22_la-poll.lo
> >>   CC     libpulsecommon_0.9.22_la-prioq.lo
> >>   CC     libpulsecommon_0.9.22_la-memtrap.lo
> >>   CC     libpulsecommon_0.9.22_la-aupdate.lo
> >>   CC     libpulsecommon_0.9.22_la-proplist-util.lo
> >>   CC     libpulsecommon_0.9.22_la-pstream-util.lo
> >>   CC     libpulsecommon_0.9.22_la-pstream.lo
> >>   CC     libpulsecommon_0.9.22_la-queue.lo
> >>   CC     libpulsecommon_0.9.22_la-random.lo
> >>   CC     libpulsecommon_0.9.22_la-shm.lo
> >>   CC     libpulsecommon_0.9.22_la-bitset.lo
> >>   CC     libpulsecommon_0.9.22_la-socket-client.lo
> >>   CC     libpulsecommon_0.9.22_la-socket-server.lo
> >>   CC     libpulsecommon_0.9.22_la-socket-util.lo
> >>   CC     libpulsecommon_0.9.22_la-strbuf.lo
> >>   CC     libpulsecommon_0.9.22_la-strlist.lo
> >>   CC     libpulsecommon_0.9.22_la-tagstruct.lo
> >>   CC     libpulsecommon_0.9.22_la-time-smoother.lo
> >>   CC     libpulsecommon_0.9.22_la-tokenizer.lo
> >>   CC     libpulsecommon_0.9.22_la-usergroup.lo
> >>   CC     libpulsecommon_0.9.22_la-sndfile-util.lo
> >> In file included from pulsecore/sndfile-util.h:25,
> >>                  from pulsecore/sndfile-util.c:34:
> >> /opt/local/include/sndfile.h:655:5: warning:
> >> "ENABLE_SNDFILE_WINDOWS_PROTOTYPES" is not defined
> >>   CC     libpulsecommon_0.9.22_la-mutex-posix.lo
> >>   CC     libpulsecommon_0.9.22_la-thread-posix.lo
> >>   CC     libpulsecommon_0.9.22_la-semaphore-posix.lo
> >>   CC     libpulsecommon_0.9.22_la-dbus-util.lo
> >>   CC     libpulsecommon_0.9.22_la-rtkit.lo
> >>   CCLD   libpulsecommon-0.9.22.la
> >>   CC     libpulse_la-channelmap.lo
> >>   CC     libpulse_la-context.lo
> >>   CC     libpulse_la-error.lo
> >>   CC     libpulse_la-ext-device-manager.lo
> >>   CC     libpulse_la-ext-stream-restore.lo
> >>   CC     libpulse_la-introspect.lo
> >>   CC     libpulse_la-mainloop-api.lo
> >>   CC     libpulse_la-mainloop-signal.lo
> >>   CC     libpulse_la-mainloop.lo
> >>   CC     libpulse_la-operation.lo
> >>   CC     libpulse_la-proplist.lo
> >>   CC     libpulse_la-rtclock.lo
> >>   CC     libpulse_la-sample.lo
> >>   CC     libpulse_la-scache.lo
> >>   CC     libpulse_la-stream.lo
> >>   CC     libpulse_la-subscribe.lo
> >>   CC     libpulse_la-thread-mainloop.lo
> >>   CC     libpulse_la-timeval.lo
> >>   CC     libpulse_la-utf8.lo
> >>   CC     libpulse_la-util.lo
> >>   CC     libpulse_la-volume.lo
> >>   CC     libpulse_la-xmalloc.lo
> >>   CCLD   libpulse.la
> >>   CC     libpulse_simple_la-simple.lo
> >>   CCLD   libpulse-simple.la
> >>   CC     libpulse_mainloop_glib_la-glib-mainloop.lo
> >>   CCLD   libpulse-mainloop-glib.la
> >>   CC     libpulsecore_0.9.22_la-asyncmsgq.lo
> >>   CC     libpulsecore_0.9.22_la-asyncq.lo
> >>   CC     libpulsecore_0.9.22_la-auth-cookie.lo
> >>   CC     libpulsecore_0.9.22_la-cli-command.lo
> >>   CC     libpulsecore_0.9.22_la-cli-text.lo
> >>   CC     libpulsecore_0.9.22_la-client.lo
> >>   CC     libpulsecore_0.9.22_la-card.lo
> >>   CC     libpulsecore_0.9.22_la-core-scache.lo
> >>   CC     libpulsecore_0.9.22_la-core-subscribe.lo
> >>   CC     libpulsecore_0.9.22_la-core.lo
> >>   CC     libpulsecore_0.9.22_la-envelope.lo
> >> pulsecore/envelope.c: In function 'envelope_merge':
> >> pulsecore/envelope.c:407: warning: 'min_k' may be used uninitialized in
> >> this function [-Wuninitialized]
> >> pulsecore/envelope.c:395: warning: 'min_f' may be used uninitialized in
> >> this function [-Wuninitialized]
> >> pulsecore/envelope.c: In function 'pa_envelope_replace':
> >> pulsecore/envelope.c:473: warning: 'saved_i' may be used uninitialized in
> >> this function [-Wuninitialized]
> >> pulsecore/envelope.c:472: warning: 'saved_f' may be used uninitialized in
> >> this function [-Wuninitialized]
> >>   CC     libpulsecore_0.9.22_la-fdsem.lo
> >>   CC     libpulsecore_0.9.22_la-g711.lo
> >>   CC     libpulsecore_0.9.22_la-hook-list.lo
> >>   CC     libpulsecore_0.9.22_la-ltdl-helper.lo
> >>   CC     libpulsecore_0.9.22_la-modargs.lo
> >>   CC     libpulsecore_0.9.22_la-modinfo.lo
> >>   CC     libpulsecore_0.9.22_la-module.lo
> >>   CC     libpulsecore_0.9.22_la-msgobject.lo
> >>   CC     libpulsecore_0.9.22_la-namereg.lo
> >>   CC     libpulsecore_0.9.22_la-object.lo
> >>   CC     libpulsecore_0.9.22_la-play-memblockq.lo
> >>   CC     libpulsecore_0.9.22_la-play-memchunk.lo
> >>   CC     libpulsecore_0.9.22_la-remap.lo
> >>   CC     libpulsecore_0.9.22_la-remap_mmx.lo
> >>   CC     libpulsecore_0.9.22_la-remap_sse.lo
> >>   CC     libpulsecore_0.9.22_la-resampler.lo
> >>   CC     libpulsecore_0.9.22_la-rtpoll.lo
> >>   CC     libpulsecore_0.9.22_la-sample-util.lo
> >>   CC     libpulsecore_0.9.22_la-cpu-arm.lo
> >>   CC     libpulsecore_0.9.22_la-cpu-x86.lo
> >>   CC     libpulsecore_0.9.22_la-svolume_c.lo
> >>   CC     libpulsecore_0.9.22_la-svolume_arm.lo
> >>   CC     libpulsecore_0.9.22_la-svolume_mmx.lo
> >>   CC     libpulsecore_0.9.22_la-svolume_sse.lo
> >>   CC     libpulsecore_0.9.22_la-sconv-s16be.lo
> >>   CC     libpulsecore_0.9.22_la-sconv-s16le.lo
> >>   CC     libpulsecore_0.9.22_la-sconv_sse.lo
> >>   CC     libpulsecore_0.9.22_la-sconv.lo
> >>   CC     libpulsecore_0.9.22_la-shared.lo
> >>   CC     libpulsecore_0.9.22_la-shm.lo
> >>   CC     libpulsecore_0.9.22_la-sink-input.lo
> >>   CC     libpulsecore_0.9.22_la-sink.lo
> >>   CC     libpulsecore_0.9.22_la-sioman.lo
> >>   CC     libpulsecore_0.9.22_la-sound-file-stream.lo
> >> In file included from pulsecore/sound-file-stream.c:33:
> >> /opt/local/include/sndfile.h:655:5: warning:
> >> "ENABLE_SNDFILE_WINDOWS_PROTOTYPES" is not defined
> >>   CC     libpulsecore_0.9.22_la-sound-file.lo
> >> In file included from pulsecore/sound-file.c:31:
> >> /opt/local/include/sndfile.h:655:5: warning:
> >> "ENABLE_SNDFILE_WINDOWS_PROTOTYPES" is not defined
> >>   CC     libpulsecore_0.9.22_la-source-output.lo
> >>   CC     libpulsecore_0.9.22_la-source.lo
> >>   CC     libpulsecore_0.9.22_la-start-child.lo
> >>   CC     libpulsecore_0.9.22_la-thread-mq.lo
> >>   CC     libpulsecore_0.9.22_la-time-smoother.lo
> >>   CC     libpulsecore_0.9.22_la-dbus-shared.lo
> >>   CC     libpulsecore_0.9.22_la-database-simple.lo
> >>   CC     libpulsecore_foreign_la-resample2.lo
> >>   CCLD   libpulsecore-foreign.la
> >>   CCLD   libpulsecore-0.9.22.la
> >>   CC     cli.lo
> >>   CCLD   libcli.la
> >>   CC     protocol-cli.lo
> >>   CCLD   libprotocol-cli.la
> >>   CC     protocol-simple.lo
> >>   CCLD   libprotocol-simple.la
> >>   CC     protocol-http.lo
> >>   CC     mime-type.lo
> >>   CCLD   libprotocol-http.la
> >>   CC     protocol-native.lo
> >>   CCLD   libprotocol-native.la
> >>   CC     protocol-esound.lo
> >>   CCLD   libprotocol-esound.la
> >>   CC     rtp.lo
> >>   CC     sdp.lo
> >>   CC     sap.lo
> >>   CC     rtsp_client.lo
> >>   CC     headerlist.lo
> >>   CCLD   librtp.la
> >>   CC     module_console_kit_la-module-console-kit.lo
> >>   CCLD   module-console-kit.la
> >>   CC     module-cli.lo
> >> modules/module-cli.c: In function 'module_cli_LTX_pa__init':
> >> modules/module-cli.c:108: error: 'O_CLOEXEC' undeclared (first use in this
> >> function)
> >> modules/module-cli.c:108: error: (Each undeclared identifier is reported
> >> only once
> >> modules/module-cli.c:108: error: for each function it appears in.)
> >> make[3]: *** [module-cli.lo] Error 1
> >> make[2]: *** [install] Error 2
> >> make[1]: *** [install-recursive] Error 1
> >> make: *** [install] Error 2
> >>
> >> On Apr 26, 2011, at 12:23 PM, Cliff Sharp wrote:
> >>
> >> First Pass:
> >> Trying to build spice-0.8.1 and all its dependencies by hand but got stuck
> >> on alsa.
> >>
> >> Second Pass:
> >> I was attempting to use jhbuild for spice-0.8.1
> >> I was going through building the dependencies that are not already in a
> >> modulesets by hand under the jhbuild shell.
> >> My plan was to create a moduleset for spice - but trying to figure out
> >> modulesets was too difficult and taking way too much time.
> >> I also got stuck on alsa again
> >>
> >> Third Pass:
> >> I decided to switch to spice-gtk. Mainly because it seems to more
> >> cross-platform oriented it uses gstreamer
> >> Right now I am using MacPorts to download and build as many of the
> >> dependencies as I can.
> >> Then I will try and build spice-gtk.
> >>
> >>
> >> On Apr 26, 2011, at 10:10 AM, Kai Mosebach wrote:
> >>
> >> I just triesbuild the OSX gtk client, my findings :
> >>
> >> 1.) Installed gtk2 and gstreamer via ports
> >> 2.) Finally installed current celt051 after some fiddling
> >> 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
> >> 5.) export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
> >> 6.) fiddling around with gstreamer/gst/app/*.h + libgstapp
> >>   => install gst-plugins-base via macports
> >> 7.)  ./configure --with-audio=gstreamer
> >> --without-python --with-coroutine=gthread
> >> 8.) touch gtk/sym-file (otherwise libtool complains… Any hints?)
> >> 9.) make (failing w/ the error below, ideas?)
> >>
> >> Best Kai
> >>
> >> --- SNIP
> >>
> >> mp01:spice-gtk-0.5 $ make
> >> 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
> >> make  all-am
> >>   CCLD   libspice-client-gtk-2.0.la
> >> Undefined symbols:
> >>   "_spice_inputs_key_press", referenced from:
> >>       _send_key in spice-widget.o
> >>   "_spice_inputs_motion", referenced from:
> >>       _motion_event in spice-widget.o
> >>   "_spice_main_set_display", referenced from:
> >>       _recalc_geometry in spice-widget.o
> >>   "_spice_main_clipboard_grab", referenced from:
> >>       _clipboard_get_targets in spice-widget.o
> >>   "_spice_cursor_channel_get_type", referenced from:
> >>       _channel_destroy in spice-widget.o
> >>       _channel_destroy in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>   "_spice_channel_connect", referenced from:
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>   "_spice_main_clipboard_release", referenced from:
> >>       _clipboard_owner_change in spice-widget.o
> >>   "_spice_util_get_debug", referenced from:
> >>       _clipboard_clear in spice-widget.o
> >>       _clipboard_got_from_guest in spice-widget.o
> >>       _cursor_reset in spice-widget.o
> >>       _clipboard_received_cb in spice-widget.o
> >>       _clipboard_received_cb in spice-widget.o
> >>       _clipboard_get in spice-widget.o
> >>       _channel_destroy in spice-widget.o
> >>       _cursor_move in spice-widget.o
> >>       _clipboard_get_targets in spice-widget.o
> >>       _clipboard_get_targets in spice-widget.o
> >>       _clipboard_get_targets in spice-widget.o
> >>       _spice_display_send_keys in spice-widget.o
> >>       _recalc_geometry in spice-widget.o
> >>       _try_keyboard_grab in spice-widget.o
> >>       _focus_in_event in spice-widget.o
> >>       _focus_in_event in spice-widget.o
> >>       _enter_event in spice-widget.o
> >>       _spice_display_finalize in spice-widget.o
> >>       _try_keyboard_ungrab in spice-widget.o
> >>       _focus_out_event in spice-widget.o
> >>       _leave_event in spice-widget.o
> >>       _scroll_event in spice-widget.o
> >>       _scroll_event in spice-widget.o
> >>       _button_event in spice-widget.o
> >>       _motion_event in spice-widget.o
> >>       _expose_event in spice-widget.o
> >>       _key_event in spice-widget.o
> >>       _vnc_display_keymap_gdk2xtkbd_table in vncdisplaykeymap.o
> >>       _vnc_display_keymap_gdk2xtkbd_table in vncdisplaykeymap.o
> >>       _vnc_display_keymap_gdk2xtkbd_table in vncdisplaykeymap.o
> >>       _vnc_display_keymap_gdk2xtkbd_table in vncdisplaykeymap.o
> >>   "_spice_inputs_set_key_locks", referenced from:
> >>       _sync_keyboard_lock_modifiers in spice-widget.o
> >>   "_spice_main_channel_get_type", referenced from:
> >>       _channel_destroy in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>   "_spice_main_clipboard_notify", referenced from:
> >>       _clipboard_received_cb in spice-widget.o
> >>   "_spice_session_get_channels", referenced from:
> >>       _spice_display_new in spice-widget.o
> >>   "_spice_inputs_key_release", referenced from:
> >>       _send_key in spice-widget.o
> >>   "_spice_inputs_channel_get_type", referenced from:
> >>       _channel_destroy in spice-widget.o
> >>       _channel_destroy in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>   "_spice_inputs_position", referenced from:
> >>       _motion_event in spice-widget.o
> >>   "_spice_main_clipboard_request", referenced from:
> >>       _clipboard_get in spice-widget.o
> >>   "_spice_inputs_button_press", referenced from:
> >>       _scroll_event in spice-widget.o
> >>       _button_event in spice-widget.o
> >>   "_spice_inputs_button_release", referenced from:
> >>       _scroll_event in spice-widget.o
> >>       _button_event in spice-widget.o
> >>   "_spice_display_channel_get_type", referenced from:
> >>       _channel_destroy in spice-widget.o
> >>       _channel_destroy in spice-widget.o
> >>       _channel_new in spice-widget.o
> >>       _channel_new in spice-widget.o
> >> ld: symbol(s) not found
> >> collect2: ld returned 1 exit status
> >> make[3]: *** [libspice-client-gtk-2.0.la] Error 1
> >> make[2]: *** [all] Error 2
> >> make[1]: *** [all-recursive] Error 1
> >> make: *** [all] Error 2
> >>
> >> From: Cliff Sharp <csharp at vbridges.com>
> >> Date: Tue, 26 Apr 2011 07:44:34 -0500
> >> To: Attila Sukosd <attila.sukosd at gmail.com>
> >> Cc: <spice-devel at lists.freedesktop.org>
> >> Subject: Re: [Spice-devel] Spice on OS/X
> >>
> >> Great suggestion.
> >> I have been looking into spice-gtk because it does seem like it would be
> >> much less work.
> >>
> >> Thanks.
> >>
> >> On Apr 26, 2011, at 3:01 AM, Attila Sukosd wrote:
> >>
> >> Hi,
> >>
> >>
> >> This might be a stupid question, but why don't you try to use spice-gtk on
> >> OS/X instead of spicec ?
> >> It has everything needed, such as gtk2/gtk3 and gstreamer for audio, all
> >> cross platform.
> >>
> >> Rgrds,
> >>
> >> Attila
> >>
> >>
> >> On Mon, Apr 25, 2011 at 11:34 PM, Cliff Sharp <csharp at vbridges.com>wrote:
> >>
> >>>  When trying to port the alsa-lib to OS/X while porting Spice to OS/X I
> >>> am having some difficulties resolving issues with alsa-lib. I am using
> >>> alsa-lib-1.0.24.1
> >>>
> >>> After doing a ./configure - I have also tried
> >>> ./configure --enable-shared=no --enable-static=yes
> >>>
> >>> Either way I get the following error in the middle ---
> >>> ./configure: line 18735: CC_NOUNDEFINED: command not found
> >>>
> >>> ___________
> >>>
> >>> And then the end of the ./configure looks like this ---
> >>>
> >>> configure: creating ./config.status
> >>> config.status: creating Makefile
> >>> config.status: creating doc/Makefile
> >>> config.status: creating doc/pictures/Makefile
> >>> config.status: creating doc/doxygen.cfg
> >>> config.status: creating include/Makefile
> >>> config.status: creating include/sound/Makefile
> >>> config.status: creating src/Versions
> >>> config.status: creating src/Makefile
> >>> config.status: creating src/control/Makefile
> >>> config.status: creating src/mixer/Makefile
> >>> config.status: creating src/pcm/Makefile
> >>> config.status: creating src/pcm/scopes/Makefile
> >>> config.status: creating src/rawmidi/Makefile
> >>> config.status: creating src/timer/Makefile
> >>> config.status: creating src/hwdep/Makefile
> >>> config.status: creating src/seq/Makefile
> >>> config.status: creating src/ucm/Makefile
> >>> config.status: creating src/compat/Makefile
> >>> config.status: creating src/alisp/Makefile
> >>> config.status: creating src/conf/Makefile
> >>> config.status: creating src/conf/cards/Makefile
> >>> config.status: creating src/conf/pcm/Makefile
> >>> config.status: creating modules/Makefile
> >>> config.status: creating modules/mixer/Makefile
> >>> config.status: creating modules/mixer/simple/Makefile
> >>> config.status: creating alsalisp/Makefile
> >>> config.status: creating aserver/Makefile
> >>> config.status: creating test/Makefile
> >>> config.status: creating test/lsb/Makefile
> >>> config.status: creating utils/Makefile
> >>> config.status: creating utils/alsa-lib.spec
> >>> config.status: creating utils/alsa.pc
> >>> config.status: creating include/config.h
> >>> config.status: include/config.h is unchanged
> >>> config.status: executing depfiles commands
> >>> Creating asoundlib.h...
> >>>
> >>> Does this look like the ./configure completed successfully???
> >>>
> >>> ______________
> >>>
> >>> Then as a result of the make I get the following ---
> >>>
> >>> Making all in doc
> >>> Making all in pictures
> >>> make[2]: Nothing to be done for `all'.
> >>> make[2]: Nothing to be done for `all-am'.
> >>> Making all in include
> >>> make  all-recursive
> >>> Making all in sound
> >>> make[3]: Nothing to be done for `all'.
> >>> Making all in src
> >>> Making all in control
> >>>  CC     cards.lo
> >>>  CC     tlv.lo
> >>>  CC     namehint.lo
> >>>  CC     hcontrol.lo
> >>>  CC     control.lo
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6097:Expected
> >>> comma after segment-name
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6101:Expected
> >>> comma after segment-name
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6101:Rest
> >>> of line ignored. 1st junk character valued 32 ( ).
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6593:Unknown
> >>> pseudo-op: .symver
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6593:Rest
> >>> of line ignored. 1st junk character valued 95 (_).
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6637:Unknown
> >>> pseudo-op: .symver
> >>> /var/folders/Pv/PvC+gYnqE1aH2WUpUaGMJk+++TI/-Tmp-//cctnQSSU.s:6637:Rest
> >>> of line ignored. 1st junk character valued 95 (_).
> >>> make[2]: *** [control.lo] Error 1
> >>> make[1]: *** [all-recursive] Error 1
> >>> make: *** [all-recursive] Error 1
> >>>
> >>> I haven't been able to quite figure out what is going with the make
> >>> errors.
> >>> I would appreciate it if someone would be able to give me some hints.
> >>>
> >>> Thanks
> >>>
> >>> ____
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Spice-devel mailing list
> >>> Spice-devel at lists.freedesktop.org
> >>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> >>>
> >>>
> >>
> >> _______________________________________________ Spice-devel mailing list
> >> Spice-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> >>
> >>
> >>
> >> ____
> >>
> >> <PastedGraphic-2.tiff>
> >>
> >>
> >>
> >> ____
> >>
> >>
> >>
> >

> 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;
> 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
> @@ -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
>  
>  update-map-file:
>  	( echo "SPICEGTK_1 {" ; \
> 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
>  /*
>   * va_args to makecontext() must be type 'int', so passing
>   * the pointer we need may require several int args. This
> 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>
>  
>  struct continuation
>  {
> 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
>  
>  int coroutine_release(struct coroutine *co)
>  {
> 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
>  #include "pygobject.h"
>  #include "spice-common.h"
>  #include "spice-widget.h"

> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel



More information about the Spice-devel mailing list