Include trouble making dependencies?

Added by rti about 4 years ago

Hi,

just wanna throw in an idea here.

What about including some dependencies, like libwww and luabind in the ryzom core source tree?

Since several distributions stop providing those packages and other distributions fail to provide properly built binaries, people always fight building ryzom core. If we could just include the source of those dependencies in some "3rdParty" directory and add the necessary CMake build config (e.g. for luabind kervala already built it), things could get much easier.

What do you think?

Cheers, rti


Replies (5)

RE: Include trouble making dependencies? - Added by kervala about 4 years ago

It could be a great idea :)

A lot of projects are including all dependencies in their sources.

For example, yesterday I wanted to compile Ghostscript under Windows and all 3rd party libs were there (libpng, libjpeg, libcms, zlib, etc...) and included in solution.

Edit: I'd like to add that if a CMake module doesn't find a lib on system, it can use version included in repository.

RE: Include trouble making dependencies? - Added by rti about 4 years ago

Just to make it persistent... We recently had a discussion about that in IRC.

dfighter and sfb mentioned several doubts about that. Which I will try to summarize here.

  • Packages should be fixed on the distribution side and we should not work around it. (Better would be to help the distributors)
  • Freezing a certain state of foreign code also freezes its bugs and security issues.
  • E.g. Debian (-like) distributions would never accept this for a release of Ryzom Core.

So, finally, I think, we could still include some libs to ease the Ryzom Core setup on development and testing machines. But using this mechanism should be completely optional then. The default way of building Ryzom Core should still be linking to system libs.

Well, in the end, it needs someone who is willing to write several CMakeLists.txt and test them on a dozen of platforms :P

RE: Include trouble making dependencies? - Added by kervala about 4 years ago

I agree with "Packages should be fixed on the distribution side and we should not work around it. (Better would be to help the distributors)" but I don't know it they'll accept to fix it only for one project.

But I don't understand "E.g. Debian (-like) distributions would never accept this for a release of Ryzom Core."

Qt is accepted in all distros and it provides 3rd party sources.

We have to understand that providing 3rd part libs sources doesn't mean we are going to use them. That's optional.

It could be useful for these reasons :

  • avoiding to download externals for Windows (maintainers don't need to compile them for all compilers VC2008/VC2010/32bits/64bits/STLport/no STLport/etc...)
  • compiling a static version under Mac OS or Linux (some distros are too old and don't have required versions, the official client for Linux is compiled under an old distro and is using manually compiled static libs)
  • to be sure to have tested versions of the libs (for example libsquish)

Most of the libs are very small and their compilation won't take a huge amount of time.

RE: Include trouble making dependencies? - Added by molator about 4 years ago

We could include too a light QT stlport lib.

(1-5/5)