[ITK] [ITK-dev] Not linking against libpython

Bradley Lowekamp blowekamp at mail.nih.gov
Wed Mar 23 16:16:22 EDT 2016


Hello,

I have been working on getting SimpleITK manylinux wheels to build for distribution. This is specified in PEP 0513[1].

Of note ( and problem ), is that it says the loadable python module should not be explicitly linked against any libpython. The loadable module should get the symbols from the python executable which loads it. This works with python built both with static and shared libraries.

Here was an interesting article related to this subject [2]. While focused more on implicit transitive shared libraries linking, I presume that CMake’s PRIVATE|PUBLIC|INTERFACE linkage specification takes care of this. I am curious and will test the specific case in this article with CMake.

Now for this particular problem, ignoring libpython passed through target_link_libraries works. Resulting the “DT_NEEDED” symbols for python symbols, and no explicit dependency on libpython for _SimpleITK.so. We have already done something similar for OSX[3].

1) Is there a more CMAKE-ic way for doing this? With all they library and linking properties?
2) Is there a way to know if the linker allows undefined symbols for shared libraries?

Thanks,
Brad


[1] https://www.python.org/dev/peps/pep-0513/
[2] http://www.kaizou.org/2015/01/linux-libraries/
[3] https://github.com/SimpleITK/SimpleITK/blob/master/CMake/sitkExtras.cmake#L15-L21
_______________________________________________
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://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://public.kitware.com/mailman/listinfo/insight-developers


More information about the Community mailing list