[Vm-dev] [Unix] UUID (was: New plugins for Linux)

David T. Lewis lewis at mail.msen.com
Sun Jun 3 02:54:41 UTC 2012


On Sat, Jun 02, 2012 at 06:08:56PM +0200, Bert Freudenberg wrote:
> 
> 
> On 02.06.2012, at 02:08, David T. Lewis wrote:
> 
> > 
> > On Fri, Jun 01, 2012 at 02:45:22PM +0200, Bert Freudenberg wrote:
> >> 
> >> 
> >> On 01.06.2012, at 14:38, David T. Lewis wrote:
> >> 
> >>> 
> >>> On Fri, Jun 01, 2012 at 01:37:15PM +0200, Bert Freudenberg wrote:
> >>>> 
> >>>> 
> >>>> On 19.05.2012, at 20:39, Bert Freudenberg wrote:
> >>>> 
> >>>>> And maybe for some it would be helpful to list the build requirements to have all modules and features get built?
> >>>>> 
> >>>>> On Ubuntu 12 I had to install these additional packages:
> >>>>> 
> >>>>> cmake libx11-dev libxext-dev libxrender-dev libfreetype6-dev libpulse-dev libasound-dev libaudio-dev libogg-dev libvorbis-dev libspeex-dev uuid-dev libdbus-1-dev libpango1.0-dev libgstreamer0.10-dev libgl1-mesa-dev
> >>>>> 
> >>>>> On Fedora 14 (here I started without any dev tools):
> >>>>> 
> >>>>> make gcc cmake pulseaudio-libs-devel alsa-lib-devel nas-devel libogg-devel libvorbis-devel speex-devel uuid-devel dbus-devel pango-devel gstreamer-devel mesa-libGL-devel
> >>>> 
> >>>> This should have been libuuid-devel, not uuid-devel.
> >>>> 
> >>>>> (where pango-devel loads in libX11-devel, libXext-devel, libXrender-devel, and freetype-devel to be loaded, amongst others)
> >>>>> 
> >>>>> (and UUID compiling gives up with an error that the storage size of 'uuid' is unknown, I ignored that)
> >>>> 
> >>>> 
> >>>> We actually need libuuid-devel (not uuid-devel as I wrote above) and we need to include <uuid/uuid.h> instead of <uuid.h> and config.cmake needs to check for uuid/uuid.h not uuid.h. At least on Linux. Not sure about others ...
> >>>> 
> >>>> - Bert -
> >>> 
> >>> The "uuid/uuid.h" versus "uuid.h" annoyance is something that varies on
> >>> different unices. I think that as of about 2009 Ian had come up with a
> >>> cmake configuration that handles the differences. Is this not working now?
> >>> 
> >>> Dave
> >> 
> >> Nope. In sqUnixUUID.c I see <sys/uuid.h> and <uuid.h> but not <uuid/uuid.h>. Same for config.cmake.
> > 
> > Ah, I see. The fix went in after SVN r2357, so it's not in the tarball.
> > So we need a fresh build and tarball, as you have previously noted.
> > 
> > In the bleeding edge SVN, the platforms/unix/plugins/UUIDPlugin/config.cmake
> > handles the issue with "PLUGIN_FIND_INCLUDE (UUID uuid.h /usr/include/uuid)"
> > 
> > Dave
> 
> Maybe it tries, but the SVN head version doesn't work either. I think it needs something like:
> 
> 	PLUGIN_FIND_INCLUDE (UUID_UUID uuid/uuid.h)
> 
> and 
> 	#if defined(HAVE_UUID_UUID_H)
> 	  #include <uuid/uuid.h>
> 	#endif
> 
> in the C file.
> 
> Not quite sure how to make the detection fail and disable the plugin if uuid/uuid.h is not found.

It's working for me. The header is /usr/include/uuid/uuid.h and CMake is
generating a Makefile with the necessary "-I/usr/include/uuid" that allows
the header to be found.

I'm not entirely sure how the CMake part works, I just know that it's working
on my PC. The macro is implemented in platforms/unix/cmake/Plugins.cmake, so
check to make sure that file is up to date also.

Dave



More information about the Vm-dev mailing list