Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Needed items for building into a package #62

Open
4 tasks
archey opened this issue Aug 18, 2016 · 3 comments
Open
4 tasks

Needed items for building into a package #62

archey opened this issue Aug 18, 2016 · 3 comments

Comments

@archey
Copy link

archey commented Aug 18, 2016

  • libraries should install under /usr/lib/medusa or /usr/lib/qmedusa
  • Binaries should install under /usr/bin/
  • Optionally set python to be python2 by default as it fails on ArchLinux, or allow python var to set
  • Provide Cmake variable to set location of medusa modules
@wisk
Copy link
Owner

wisk commented Aug 22, 2016

Hi archey and thanks for your message.

I'm not a Linux packaging guru, so may I ask you some questions to fulfill your need?

  • Regarding the first two questions; I'm not confident about the location of shared libraries dependencies.
    The initial problem is that medusa needs libraries to work (e.g.: boost, ogdf, qt5, soci, and so on). Some of them are not packaged.
    Basically, I'm trying to get rid of these dependencies by linked them as a static libraries and using the project hunter (https://github.com/ruslo/hunter). But it's more tedious than I though since some libraries failed to compile/link as static libraries.
    The easiest solution would be to package these dependencies as shared library, but I've no clue how to force Linux to use .so files provided by medusa (, to tell the true I'm not even sure it's possible).
  • I think pybind11 provides a solution to select the python version during the compilation, the thing is: which python version should be used by default? Is it possible to provide two different libraries for each version? I'll try to take a look.
  • That's a good idea; at this time, the default module location is ., because it's easier to test module and debug medusa. I'll add an option to override this default value for packaged version. :)

@archey
Copy link
Author

archey commented Aug 22, 2016

@wisk in my opinion the external modules such as boost and ogdf and such its the pkgers responsability to get support for those. As in add them as a pkg or what not, we specifically had to pull in ogdf, but boost is a default library in most linux distributions. I think if you move it all to a static library setup, it might make it more difficult to pkg.

Python version, I used a sed line to just change the default to python2 as it finds python3 no problem.

sed -i 's|find_package(PythonLibs REQUIRED)|find_package(PythonLibs 2 REQUIRED)|' src/ui/python/CMakeLists.txt

@archey
Copy link
Author

archey commented Aug 22, 2016

To be FHS compliant most libraries will go into /usr/lib/ or /usr/lib/pkgname, and that is currently how my patch file works. It drops the libs and bins into the correct locations. I can provide it, if youd like

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

No branches or pull requests

2 participants