From: Tim <te...@ro...> - 2018-01-14 16:35:23
|
On 01/14/2018 04:56 AM, Robert Jonsson wrote: > > > 2018-01-14 9:54 GMT+01:00 Sebastian <se...@se... > <mailto:se...@se...>>: > > On 01/14/2018 12:01 AM, Tim wrote: > > Hi, please add this to your cmake build options: > > > > -DMODULES_BUILD_STATIC=TRUE > > > > Long ago MusE was built statically, monolithic style. > > Static builds are a no-go for packages. > > > I don't think we are talking about static with all dependencies built > in, just MusEs own code. But hopefully Orcan can report if he has > successfully built a package this time around. Sorry yes, I used poor phrasing of words. Not monolithic. Static in terms of our internal libraries. Building MusE with --no-undefined requires our DMODULES_BUILD_STATIC flag. MusE normally builds shared modules which all depend on each other. --no-undefined doesn't jive with that concept. It is asking for hard dependency links when they haven't even been built yet. IIUC --allow-shlib-undefined is the default and the reasons given are exactly the reasons why MusE needs it. It seems --as-needed may not produce the same results. One submitted terminal output showed it mistook fluidsynth's event.h for our event.h I can only assume that was the reason, because there's no trouble building MusE from source with default flags. So... Packager's choice then: 'Normal' build, or if you want --no-undefined then you need DMODULES_BUILD_STATIC. However, I am seeing issues with our DMODULES_BUILD_STATIC. As I mentioned, there are a few dependencies of Arranger on the core. I can straighten that out easily. What is /not/ so easy to straighten out are our MESS plugins. Our MESS plugins always build as shared libraries (they are plugins like any other plugin system.) If you give --no-undefined and DMODULES_BUILD_STATIC, the main app will build OK (given my pending fix of Arranger dependencies) but the MESS plugins have several dependencies on the core module. It is a bit of a... mess if you'll excuse the pun. The plugins were supposed be independent and stand-alone. But currently they need the core and a couple of other modules. So I'll try to straighten that out so that --no-undefined can be used if desired. Tim. > > Regards, > Robert > > > Sebastian > > -- > python programming - mail server - photo - video - https://sebix.at > cryptographic key at https://sebix.at/DC9B463B.asc and on public > keyservers > > > |