Skip to content
This repository has been archived by the owner on Apr 7, 2022. It is now read-only.

Fix/linker options #97

Merged
merged 2 commits into from Mar 14, 2017
Merged

Fix/linker options #97

merged 2 commits into from Mar 14, 2017

Conversation

ghost
Copy link

@ghost ghost commented Feb 13, 2017

The setup.py adds an intended linker option which can cause problems later when trying to package the library. Please see commit messages for further details

Dariush Forouher added 2 commits February 13, 2017 11:34
This makes to sense. "-h FOO" is used to change the SONAME.
It comes right before "--strip-all". So the SONAME will be set
to "--strip-all".

This will again re-enable unconditional stripping of the _tango.so
file.

(This came up as an SONAME called "--strip-all" will cause problems
with tools that create rpm packages.)
the previous patch caused unconditional stripping by the linker to get
re-enabled (in current git master, the build produces non-stripped libs)

I haven't studied the whole setup.py, but in general the build process should
output non-stripped libraries. Otherwise tools to create packages
(rpm, dep) would have no access to the debug symbols and could not package
them.
@vxgmichel
Copy link
Contributor

Thanks for your contribution!

I'm curious though, what kind of problem did you encounter while building RPMs? At MAX-IV, we're using fpm and rpkg and they both work for packaging pytango.

@tiagocoutinho What was the purpose of those flags originally?

@tiagocoutinho
Copy link
Contributor

These flags were a futile attempt to reduce the library size.
As far as I remember it was part of an effort to put pytango into embedded platforms were size matters.
This effort as never reached the light of day so I am ok with removing these flags.
Probably this causes problems with nix packages.
If, in the future, we need stripping, we can add an optional flag to setup.py.

@vxgmichel vxgmichel merged commit 231451e into tango-controls:develop Mar 14, 2017
@vxgmichel
Copy link
Contributor

OK thanks!

@ghost
Copy link
Author

ghost commented Apr 11, 2017

The RPMs are created using bitbake/yocto (a crosscompiling framework to create e.g. firmware for ARM). The RPMs are actually just an intermediary step used by bitbake before creating a flashable image. It might very well be that bitbake is using RPM slightly differently than e.g. rpkg.

[Sorry for responding so late, I seem to have missed your message back then.]

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants