[Insight-users] [ITK Community] About some basic problems and doubts

Matt McCormick matt.mccormick at kitware.com
Fri Feb 14 13:03:38 EST 2014


Hi Ujjwal,

In additional to Brian's nice comments, more tips:

By tradition, most software does not come with uninstall machinery.  This
function is provided by package managers on Linux and "Add/Remove Programs"
on Windows.

A package can be created that can be cleanly uninstalled on Debian-like
system with the checkinstall [1] program.

To help with this process, almost all Makefiles that have an "install"
target support the DESTDIR variable.

  mkdir /tmp/ITKInstall
  DESTDIR=/tmp/ITKInstall make install

will install everything that would be installed to the root directory to
the /tmp/ITKInstall prefix.  This can be a good manifest to examine when
deterimining what needs to be uninstalled manually in situations like this.

Particular files that could be removed to help your default ITK version
detection are

  /usr/local/lib/cmake/ITK-4.4/ITKConfig.cmake

The ITKConfig.cmake file is what find_package finds.

HTH,
Matt

[1] http://asic-linux.com.mx/~izto/checkinstall/


On Fri, Feb 14, 2014 at 11:09 AM, UJJWAL aryan <meetukme at gmail.com> wrote:

> Hi,
>
> During uninstalling I tried sudo make uninstall. However at that time it
> did not work out and gave the error as "there is no target `uninstall` to
> make".  I am looking into your other points. Thanks a lot for your help.
>
>
> On Fri, Feb 14, 2014 at 8:42 PM, Brian Helba <brian.helba at kitware.com>wrote:
>
>> Hi Ujjwal,
>>
>> To be clear, when you say that you "installed" ITK / VTK, I'm assuming
>> that you mean that after running "make", you ran "make install" (or more
>> probably "sudo make install").
>>
>> If this is the case, then the installation copied the built ITK/VTK
>> libraries, header files, CMake configuration, etc. to standard locations on
>> your system. Typically, you can run "[sudo] make uninstall" from your build
>> directory to then delete these files, but since you already deleted the
>> build directory, you'll have to remove them manually. I don't have the full
>> list of install paths in front of me at the moment, but if you can't find
>> the files yourself, feel free to make a follow-up post (including what
>> Linux distribution you're using), and I or someone else will try and post
>> them for you. Assuming that ITK / VTK follow the FHS [1], "/usr/local" is
>> probably a good place to start looking.
>>
>> This is the reason why your new programs are still pointing to the old
>> version of ITK: it is still installed and is being located before the new
>> version. By requiring version 4.5, you are forcing CMake to continue the
>> search even after it finds 4.4.
>>
>> --
>>
>> As for OpenCV, if you don't need to use it for any of your programs, I
>> would recommend just configuring and building ITK with
>> Module_ITKOpenCVBridge disabled.
>>
>> --
>>
>> Finally, note that installing ITK / VTK is not really necessary most of
>> the time. You can simply build ITK / VTK somewhere in your home directory,
>> and then manually add the "ITK_DIR" or "VTK_DIR" CMake configuration
>> variable to any of your own projects that have the "find_package(ITK ...)"
>> / "find_package(VTK ...)" line in their CMakeLists.txt. Set the value of
>> "ITK_DIR" / "VTK_DIR" to be the path to the directory of your ITK / VTK
>> build.
>>
>> Despite having to manually add the extra CMake variable when first
>> configuring a new project (although even this can be automated with
>> environment variables), this is sometimes more convenient overall, as you
>> can rebuild ITK / VTK with new options any time, without having to
>> reinstall it (which requires root privledges) and there is no uninstall
>> step to worry about if you no longer need ITK / VTK or want to make a fresh
>> build.
>>
>> [1] http://www.pathname.com/fhs/
>>
>> Hope this helps,
>> Brian
>>
>>
>>
>> On Fri, Feb 14, 2014 at 9:22 AM, UJJWAL aryan <meetukme at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I installed VTK-6.1.0 and ITK-4.5 on my system (Ubuntu 13.04) . Before
>>> that, ITK-4.4 and VTK-5.10 were installed on my system.
>>>  In order to remove them, I simply removed the build folders from which
>>> I had run cmake during their installation (this method of removal was
>>> suggested to me in the mailing list a long time back).
>>>
>>> After I installed ITK-4.5 and VTK-6.1.0, I faced the following issues :
>>>
>>>  When trying to compile a trivial ITK test program, it failed to link
>>> because
>>>  find_package(ITK REQUIRED) was still pointing to UseITK.cmake file
>>> correspondin g to ITK-4.4 and not ITK-4.5. Finally in order to solve it, I
>>> wrote find_package(ITK 4.5 REQUIRED)
>>> My first question is :
>>>   1. Why did it continue pointing to ITK-4.4 ? What is the correct way
>>> to remove previous versions of libraries so that all their traces are gone
>>> and there are no such conflicting links ?
>>>
>>> 2.  Even after solving this problem, it fails to link because it cannot
>>> find any opencv libraries.  I compiled ITK with support for
>>> ITKOPencvBridge. However in the test code, I have not used anything even
>>> remotely concerned with OpenCV. Even in my CMakeLists.txt file, I have not
>>> called Opencv at all. Then why is it trying to link to Opencv  ?
>>> Why is it not able to find those libraries when they are in
>>> usr/local/lib/opencv and /usr/local/lib/opencv2 ? About this, on further
>>> probing I found that  opencv.pc file is present in pkg-config folder which
>>> describes the package opencv perfectly.
>>> Running Opencv test programs showed that OpenCv is installed properly.
>>>
>>> 3. How do I detect any traces of old and unused and unnecessary library
>>> files left in my system and remove them without disturbing the rest of the
>>> system ?
>>>
>>>
>>> It might be that some of my questions are too basic or trivial. But I am
>>> not an expert in Linux and any help and patient support  would be deeply
>>> appreciated
>>>
>>> --
>>> Ujjwal
>>>
>>>
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.php
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>> _______________________________________________
>>> Community mailing list
>>> Community at itk.org
>>> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>>>
>>>
>>
>>
>> --
>> Brian Helba
>> Medical Imaging
>> Kitware, Inc.
>>
>
>
>
> --
> Ujjwal
> IIIT Hyderabad
> Mob - 8142265628
> ujjwal at research.iiit.ac.in
>
>
>
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20140214/9b4a2177/attachment.html>


More information about the Insight-users mailing list