I am building testdisk as static and run

make static

it returns the following error

/usr/bin/ld: cannot find -luuid

collect2: ld returned 1 exit status

What's the problem?

In the makefile I have the following line

LIBS = -lz -lntfs -luuid -lcrypto -lext2fs -lcom_err

and I am getting error on all the floowing flags

-luuid -lcrypto -lext2fs -lcom_err

  • 1
    Do you have libuuid.a library installed? Sep 7 '10 at 7:34
  • 2
    If you don't the debian/ubuntu package that contains it is called uuid-dev
    – msw
    Sep 7 '10 at 7:45
  • I have libuuid.so in /usr/lib but not libuuid.a. How to install it.
    – MA1
    Sep 7 '10 at 7:49
  • I am using Fedora 13.
    – MA1
    Sep 7 '10 at 7:51

The RPM packages for libuuid-devel for Fedora 13 appear to contain only the shared library. Therefore you'd have to build it from source if you need a static library.

I expect that this is the same problem with a static -lcrypto and the others.

However, if it is TestDisk specifically that you are trying to compile, you probably shouldn't bother as the partition repair utility is part of most LiveCD distributions, including Fedora.


The rationale is given by resolution of Red Hat bug report 596898. Essentially, static libraries are strongly discouraged, as they force at least relinking if/when a bug is fixed. They consume disk and memory space, particularly for commonly used functionality.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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