xorg build error: needs uuid
Jeremy C. Reed
reed at reedmedia.net
Sat Jul 5 12:57:13 PDT 2008
On Sat, 5 Jul 2008, Chuck Robey wrote:
> I got an error during configuration of libSM, it wanted a package "uuid". I
> foound (using google) a linux package named libuuid, but since I don't run
> Linux, I'd never seen it on my FreeBSD-current system, not anywhere in the
> sources, not even in the ports. Is this soomewhere in the xorg sources? I
> searched for *uuid* but didn't find it.
>
> If it's a linux-only thing, is it reasonable to make xorg dependent upon it (or,
> maybe I'm jumping to conclusions here). I need to find some way to get past this.
I see that also on NetBSD.
FreeBSD and NetBSD both have uuid.h and uuidgen(2) and uuid(3).
The FreeBSD package is called ports/misc/e2fsprogs-libuuid (but I don't
think that package should be needed as the libc support should be fine).
The libSM/src/sm_genid.c checks for HAVE_LIBUUID so failing at
configuration time is not right. It has other ways to
"SmsGenerateClientID".
Here is one patch:
diff --git a/configure.ac b/configure.ac
index f534bd2..de97961 100644
--- a/configure.ac
+++ b/configure.ac
@@ -39,7 +39,9 @@ AC_ARG_WITH(libuuid, AC_HELP_STRING([--with-libuuid], [Build with libuuid suppor
AM_CONDITIONAL(WITH_LIBUUID, test x"$with_libuuid" != xno)
if test x"$with_libuuid" != xno; then
- PKG_CHECK_MODULES(LIBUUID, uuid)
+ PKG_CHECK_MODULES(LIBUUID, uuid,
+ AC_DEFINE(WITH_LIBUUID,1,[libuuid support for client IDs]),
+ with_libuuid=no)
fi
if test "x$GCC" = "xyes"; then
Even a better fix is to check if DCE 1.1 UUID function uuid_create(3) is
available and use it. (Like on NetBSD, FreeBSD, DragonFly, Solaris.)
Or check if e2fsprogs libuuid function uuid_generate(3) is available.
A good example is in the Apache apr source.
p.s. I added two carbon-copies for this email for developers who last
committed to this part.
More information about the xorg
mailing list