OPENDAP/libdap4

configure: error: Could not find uuid.h

aleksandervines opened this issue · 9 comments

It seems that libuuid, or another library providing uuid.h, is also a requirement for building libdap?

I got an error message saying that uuid.h was not found during configure.

Building latest release, 3.18.0. This was, however, also the case on 3.12 and I believe 3.15 when I tried that (last year sometime).

Configuring with:
configure
--enable-threads=pth
--with-xml2=$PREFIX
--with-curl=$PREFIX
--prefix=$PREFIX

I'm building the binaries for the Anaconda Cloud and will put it out on conda-forge, hence most of the dependencies are from that repository, autoconf, automake, libtool, flex, bison, libuuid, libxml2 and curl are selected directly, the others are indirect dependencies through the other packages:

autoconf: 2.69
automake: 1.14
bison: 3.0.4
ca-certificates: 2016.2.28
curl: 7.49.1
flex: 2.5.39
icu: 56.1
libiconv: 1.14
libtool: 2.4.6
libuuid: 1.0.3
libxml2: 2.9.3
m4: 1.4.17
openssl: 1.0.2h
perl: 5.20.3.1
xz: 5.0.5
zlib: 1.2.8-3

gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)

Yes, libuuid and uuid.h needed. In a separate email to support@opendap.org you mentioned that the build on OSX failed. That's odd because uuid.h and libuuid are present on OSX (OSX is where the code is actually developed). Hmmm. It seems that configure is not looking for uuid, but it is:

dnl AC_CHECK_HEADERS_ONCE([uuid/uuid.h uuid.h])
dnl Do this because we have had a number of problems with the UUID header/library
AC_CHECK_HEADERS([uuid/uuid.h],[found_uuid_uuid_h=true],[found_uuid_uuid_h=false])
AC_CHECK_HEADERS([uuid.h],[found_uuid_h=true],[found_uuid_h=false])

AS_IF([test $found_uuid_uuid_h = true -o $found_uuid_h = true], [], [AC_MSG_ERROR([Could not find uuid.h])])

However, I see too that maybe checking for libuuid is too lenient:

AC_CHECK_LIB([uuid], [uuid_generate], 
    [UUID_LIBS="-luuid"],
    [UUID_LIBS=""])
AC_SUBST([UUID_LIBS])

So if the library is not found, configure keeps going. I thought that signaling an error if the header was not found would be enough.

Can you check on the presence of libuuid on the OSX machine?

jhrg commented

On Jun 29, 2016, at 6:56 AM, Aleksander Vines notifications@github.com wrote:

It seems that libuuid, or another library providing uuid.h, is also a requirement for building libdap?

Yes, and configure tests for it. See #20 #20 where we are also discussion this issue.

James

I got an error message saying that uuid.h was not found during configure.

Building latest release, 3.18.0. This was, however, also the case on 3.12 and I believe 3.15 when I tried that (last year sometime).

Configuring with:
configure
--enable-threads=pth
--with-xml2=$PREFIX
--with-curl=$PREFIX
--prefix=$PREFIX

I'm building the binaries for the Anaconda Cloud and will put it out on conda-forge, hence most of the dependencies are from that repository, autoconf, automake, libtool, flex, bison, libuuid, libxml2 and curl are selected directly, the others are indirect dependencies through the other packages:

autoconf: 2.69
automake: 1.14
bison: 3.0.4
ca-certificates: 2016.2.28
curl: 7.49.1
flex: 2.5.39
icu: 56.1
libiconv: 1.14
libtool: 2.4.6
libuuid: 1.0.3
libxml2: 2.9.3
m4: 1.4.17
openssl: 1.0.2h
perl: 5.20.3.1
xz: 5.0.5
zlib: 1.2.8-3

gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub #20, or mute the thread https://github.com/notifications/unsubscribe/ABZ___vc3zhuqdr-cf3GOpPPTZbCfYEaks5qQmuQgaJpZM4JBGhc.

James Gallagher
jhrg@mac.com

@jgallagher59701 I am building this on OS X with the same configuration as above. That means I'm also using conda, and I'm installing the libuuid package. I can confirm that uuid.h and libuuid is present under the build environment folder.

I was not aware that uuid was present on OS X by default, so I removed the libuuid dependency and tried to rebuild libdap4. Unfortunately with the same results of 37/40 failed tests.
However, there is a change in error: All failed tests now report "dyld: Library not loaded: @rpath/libxml2.2.dylib", but I also find this library in the build environment folder.

I'd guess I'm probably doing something wrong when building this, but I can not figure out what.

configure should find these and include paths, etc., as needed. Can you email me the config.log?

It seems it indeed was the conda-environment which caused this issue.

It continues past these tests now, but fails on 4 of the dmr-tests.

We'll troubleshoot this further.

https://travis-ci.org/conda-forge/libdap4-feedstock/builds/142994797

Btw, this issue was just supposed to remind you to add libuuid to requirements on linux.

I sent email about the build failure since that was what 'make test' told me to do when it failed.

jhrg commented

On Jul 7, 2016, at 04:08, Aleksander Vines notifications@github.com wrote:

Btw, this issue was just supposed to remind you to add libuuid to requirements on linux.

Do you mean on the www.opendap.org download page or somewhere else?

James

I sent email about the build failure since that was what 'make test' told me to do when it failed.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub #20 (comment), or mute the thread https://github.com/notifications/unsubscribe/ABZ__5sGZ8-nygQhNppn96dr1k4HBMAXks5qTNAegaJpZM4JBGhc.

James Gallagher
jhrg@mac.com

I was thinking in the INSTALL file, where the other requirements are specified.

Fixed - I figured that might be the place.