[CMake] Handle lib64 library on Linux

David Cole david.cole at kitware.com
Tue May 24 13:21:23 EDT 2011


On Tue, May 24, 2011 at 12:54 PM, Sara Rolfe <smrolfe at u.washington.edu>wrote:

> Update: I've attempted to add /usr/lib64/libuuid.so as an external library,
> but am still getting the same error.  When I run ccmake it appears to find
> the location of the library.  Below is my CMakeLists.txt in case I have made
> any errors here:
>
>
> cmake_minimum_required(VERSION 2.6)
>
> PROJECT(Geo)
>
> set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS ON)
>
> FIND_LIBRARY(LIBVAR NAMES libuuid.so PATHS /usr/lib64)
>
>
> FIND_PACKAGE(ITK)
> IF(ITK_FOUND)
>        INCLUDE( ${USE_ITK_FILE} )
> ENDIF(ITK_FOUND)
>
> FIND_PACKAGE(VTK)
> IF(VTK_FOUND)
> INCLUDE( ${USE_VTK_FILE} )
> ENDIF(VTK_FOUND)
>
>
> ADD_EXECUTABLE(SubsampleVolume SubsampleVolume.cxx )
>
> TARGET_LINK_LIBRARIES(SubsampleVolume
>        ITKNumerics ITKIO ITKBasicFilters vtkRendering vtkIO vtkWidgets
>     vtkHybrid ${LIBVAR})
>
>
> On May 24, 2011, at 9:24 AM, Sara Rolfe wrote:
>
>  Is there some other way that I can force CMake to find
>> /usr/lib/libuuid.so?  Like if I included it as an external library?
>>
>> Thanks,
>> Sara
>>
>>
>> On May 23, 2011, at 2:29 PM, Sara Rolfe wrote:
>>
>>  Hi Eric,
>>>
>>> Yes, I believe it is a dependancy from ITK.  I saw that wiki page and at
>>> the time did not have that library, so I installed it.  I have used CMake to
>>> successfully create applications using both VTK and ITK on a 32-bit machine.
>>>  This problem arose when I moved to a 64-bit machine.
>>>
>>> I've also posted to the ITK mailing list, but so far no one there has had
>>> any ideas.
>>>
>>> Thanks,
>>> Sara
>>>
>>> On May 23, 2011, at 2:11 PM, Eric Noulard wrote:
>>>
>>>  2011/5/23 Sara Rolfe <smrolfe at u.washington.edu>:
>>>>
>>>>> Hi Eric,
>>>>>
>>>>> Thanks for pointing this out.  I changed the order, but am still
>>>>> getting the
>>>>> same error:
>>>>>
>>>>> make[2]: *** No rule to make target `/usr/lib/libuuid.so', needed by
>>>>> `SubsampleVolume'.  Stop.
>>>>> make[1]: *** [CMakeFiles/SubsampleVolume.dir/all] Error 2
>>>>> make: *** [all] Error 2
>>>>>
>>>>> The location of libuuid on my machine is: /usr/lib64/libuuid.so
>>>>>
>>>>
>>>> libuuid does not appear as a direct dependency of
>>>> your SubsampleVolume target,
>>>> you wrote:
>>>> TARGET_LINK_LIBRARIES(SubsampleVolume
>>>>    ITKNumerics ITKIO ITKBasicFilters vtkRendering vtkIO vtkWidgets
>>>>     vtkHybrid)
>>>>
>>>> So my guess is that this dependency is indirect and comes from either
>>>> ITK or VTK,
>>>> which seems confirmed by
>>>>
>>>> http://www.vtk.org/Wiki/ITK_Configuring_and_Building_for_Ubuntu_Linux#uuid_.28dependency.29
>>>>
>>>> Did you manage to create a VTK application with CMake before?
>>>>
>>>> May be you should ask on VTK mailing list
>>>> http://www.vtk.org/VTK/help/mailing.html
>>>> about your link trouble.
>>>>
>>>> PS: beware not to drop the mailling list address
>>>> --
>>>> Erk
>>>> Membre de l'April - « promouvoir et défendre le logiciel libre » -
>>>> http://www.april.org
>>>>
>>>
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the CMake FAQ at:
>>> http://www.cmake.org/Wiki/CMake_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.cmake.org/mailman/listinfo/cmake
>>>
>>
>>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>


What does "grep -i uuid CMakeCache.txt" yield?

If you use the same variable name as the sub-project that's finding it for
you, you should be able to "preset" that variable before finding the package
that includes it. (Assuming they're using a variable to do this, and not
simply adding "uuid" as a targeted link library...)


HTH,
David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20110524/0750aaac/attachment-0001.htm>


More information about the CMake mailing list