[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