Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.
3.12.6-300.fc20.x86_64 #1 SMP Mon Dec 23 16:44:31 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Fedora 20

I am trying to install asterisks from source and when I run the ./configure script I get the following error:

checking for uuid_generate_random in -luuid... yes
checking uuid/uuid.h usability... no
checking uuid/uuid.h presence... no
checking for uuid/uuid.h... no
checking for uuid_generate_random in -le2fs-uuid... no
checking for uuid_generate_random... no
configure: error: *** uuid support not found (this typically means the uuid development package is missing)

However, I have already installed the 64 bit versions of uuid and uuid-devel

Name        : uuid-devel
Arch        : x86_64
Version     : 1.6.2
Release     : 21.fc20
Size        : 21 k
Repo        : installed   
Name        : uuid
Arch        : x86_64
Version     : 1.6.2
Release     : 21.fc20
Size        : 116 k
Repo        : installed

So I guess its looking for the header file and cannot find it. checking uuid/uuid.h usability... no

When I run locate uuid.h I can see the uuid.h in the following directory:

/usr/include/uuid.h
/usr/include/linux/uuid.h
/usr/src/kernels/3.12.6-300.fc20.x86_64+debug/include/linux/uuid.h
/usr/src/kernels/3.12.6-300.fc20.x86_64+debug/include/uapi/linux/uuid.h
/usr/src/kernels/3.12.7-300.fc20.x86_64+debug/include/linux/uuid.h
/usr/src/kernels/3.12.7-300.fc20.x86_64+debug/include/uapi/linux/uuid.h

So in trying to fix the problem I created a new directory /usr/include/uuid and created a softlink to that uuid.h in there.

lrwxrwxrwx. 1 root root 9 Jan 15 11:49 uuid.h -> ../uuid.h

It works now:

checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes

My question is, is it OK to mess around with installed header files like this by creating softlinks? I always worry in case I break something as you need root access to create the softlink. And many there is another solution without the need to create these softlinks.

share|improve this question

2 Answers 2

up vote 0 down vote accepted

I would generally discourage you from manipulating the inclusion of libraries in this way. Just because a file is similarly named does not mean it's the correct header file that you're looking for.

Incidentally, you're looking for this package.

$ sudo yum install libuuid libuuid-devl

The way I found this is how I would always recommend looking for missing files on any Fedora/CentOS/RHEL system.

Example

$ sudo yum whatprovides "*/uuid/uuid.h"
...
libuuid-devel-2.23.1-3.fc19.i686 : Universally unique ID library
Repo        : fedora
Matched from:
Filename    : /usr/include/uuid/uuid.h



libuuid-devel-2.23.1-3.fc19.x86_64 : Universally unique ID library
Repo        : fedora
Matched from:
Filename    : /usr/include/uuid/uuid.h



libuuid-devel-2.23.2-4.fc19.i686 : Universally unique ID library
Repo        : updates
Matched from:
Filename    : /usr/include/uuid/uuid.h
..
share|improve this answer

There is a possibility that a future version of uuid will begin to install uuid.h in the same location and test for the existence of uuid.h to see if it has already been installed. Other than that there should be no reason that creating as many extra links as you want should have any adverse effects.

Often linking one header file isn't sufficient to fix an issue like this and may cause other problems. While the program is set to use uuid/uuid.h there should be more files inside the uuid directory that may also be used and the program may end up using a file in /usr/include that has the same name as one in /usr/include/uuid but has subtle differences that introduce bugs.

The proper way to fix this is to adjust the failing project so that it knows where to find the files it needs and the developers can verify that all the right files get used. Search the projects bug tracker to check if anyone else has reported the same issue and if not submit the details of your setup so the issue can be looked into and resolved properly.

They also may reply back that the issue is with uuid not being installed properly and ask you to report the issue to the uuid project or the maintainers of the Fedora package for uuid.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.