FreeBSD support for Python bindings

In building the Ice bindings on FreeBSD, I ran into a couple of issues:
1) Use of const iconv in IconvStringConverter.h. This appears fixed on the git master branch, but still affects 3.6.2.
2) Use of incorrect logic in setup.py. The conditionals are effectively:
if platform is 'darwin': ... elif platform is 'linux': ... elif platform is 'windows' ...
However, if you're not one of these three platforms, the build breaks. The patch adjusts this to be:
if platform is 'darwin': ... elif platform is 'windows' ... else (generic unix/linux, with freebsd special case for libdl)
This will make the build work on a number of additional platforms by using the linux case as the general unix case. I couldn't see setup.py in ice git, so I'm not sure where this would need fixing. A proper feature test for libdl would make this truly generic.
See also: https://www.openmicroscopy.org/community/viewtopic.php?f=5&t=8100&p=17392#p17385
Kind regards,
Roger
0
Comments
Hi Roger,
Could you submit a pull request on GitHub?
setup.py is in the ice-packaging repo: https://github.com/zeroc-ice/ice-packaging/tree/3.6/ice/pypi
Thanks,
Bernard
Hi Bernard,
I opened
master
: https://github.com/zeroc-ice/ice-packaging/pull/13.6
: https://github.com/zeroc-ice/ice-packaging/pull/2(I'm away for a week starting tomorrow, but I'll be happy to make any revisions as needed when I'm back.)
Hi Roger,
Thanks for the pull requests. I've accepted them and they will be included in the next release of Ice!