On Wednesday, May 11, 2016 11:25:11 AM Andrew Deryabin wrote:
> Hi Tim,
> 
> I think that you should go on with your fixes - I don't know when I'll
> have some free time for these fixes..

No problem.

> But.. my arch linux updated gcc to 6.1 and I just yesterday pushed some
> fixes that caused -Werror to fail in debug mode under gcc6. 

Ehm...

[ 74%] Building C object 
muse/lv2Support/CMakeFiles/lv2_support.dir/sord/sord.o
/home/me/Source/muse3-20160509/muse3/muse/lv2Support/sord/sord.c:88:9: error: 
unknown option after ‘#pragma GCC diagnostic’ kind [-Werror=pragmas]
 #pragma GCC diagnostic ignored "-Wunused-const-variable"

The Wunused-const-variable is new for gcc 6.1
Here on SUSE I found out it's gcc 4.8 although 5 is available to install.
And on Ubunutu 14.04 it was gcc 5 I think.
This also probably explains the error I reported on SUSE, being gcc 4.8

Digging further I find the new change here in our lv2Support/sord/sord.c:

/** String name of each ordering (array indexed by SordOrder) */
/*#ifdef __clang__*/
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-const-variable"
/*#endif*/
static const char* const order_names[NUM_ORDERS] = {
    "spo",  "sop",  "ops",  "osp",  "pso",  "pos",
    "gspo", "gsop", "gops", "gosp", "gpso", "gpos"
};
/*#ifdef __clang_*/
#pragma GCC diagnostic pop
/*#endif*/

It seems that code originally came from sord 0.12.2.
And here is from the latest sord 0.14.0.

#ifdef SORD_DEBUG_SEARCH
/** String name of each ordering (array indexed by SordOrder) */
static const char* const order_names[NUM_ORDERS] = {
        "spo",  "sop",  "ops",  "osp",  "pso",  "pos",
        "gspo", "gsop", "gops", "gosp", "gpso", "gpos"
};
#endif

Andrew, I imagine this is the source of your trouble there :-)
I carefully examined old, new, and our, sord code today.
No worries, I'll try to take care of it...

Stand By, folks. I will *try* to update our entire lv2Support tree. 
It's out of date.

I /do/ believe we should keep such a tree for now.
But I want to try to make it cmake optional.
That way most users can stay ahead of the game,
 but when new LV2 versions break something in MusE,
 they can fall back to our built-in. 

One more thing: I think it is important to keep some record of 
 the built-in /lv2Support tree versions, and where they came from.
I recently started a ChangeLog in our lv2Support tree so we can keep 
 track of our own modifications - for exactly this kind of situation 
 when we need to update the tree. (Also maybe submit changes back to lv2.)
If I do update the tree, I'm going to keep the version numbers
 in the folder names, and maybe keep the NEWS files too.


Sound like a plan forward?
I have created a branch lv2_fixes today.

Thanks.
Tim.


> Though I did
> not touch lv2GtkHelper.
> 
> 10.05.2016 08:56, Tim E. Real пишет:
> > On Sunday, May 08, 2016 10:10:42 PM Andrew Deryabin wrote:
> >> Hi guys,
> >> Looking at lots of messages about lv2+gtk gui crashes I also installed
> >> latest ubuntu and can confirm that muse 3 crashes while opening calf
> >> guis.
> >> 
> >> But it seems, that it's not related only to muse 3. Actual crash is not
> >> in calf library and not in muse's executables, but in library called
> >> libQt5XcbQpa.so, function QXcbWindow::setParent(...).
> >> 
> >> This is a known bug of Qt 5.5.1.
> >> Here is the link (one of them):
> >> https://bugs.kde.org/show_bug.cgi?id=356583
> >> 
> >> Or you can just type 'libqt5xcbqpa setParent segfault' in google :).
> >> 
> >> Latest ubuntu uses this broken qt 5 version, so this will be a permanent
> >> bug, until qt5 is not updated. By the way - this bug is fixed already in
> >> latest qt5 versions.
> > 
> > Howdy list, hi Andrew. I'm speakin' at ya' from this brand new...
> > OpenSUSE Leap 42.1 installation !
> > 
> > Guess what? Everything's fine here. MusE and QTractor-Qt5.
> > 
> > SUSE is one of those distros where they patch to the hilt.
> > I used it for several years before Ubuntu. I bought boxed versions.
> > Mandrake/Mandriva (now Mageia) as well.
> > Whereas, I read, KUbuntu stays relatively faithful to the original code.
> > 
> > KUbuntu uses Qt5 5.5.1-10.The fixes are applied in Qt5 5.5.1-11.
> > 
> > Looking at the SUSE versions and change log for QT5,
> > 
> >   it is version 5.5.1-10-1. It is a /patched/ version.
> > 
> > The change log indicates there is /more/ than one fix for this
> > 
> >   'setParent' problem, spread over some time.
> > 
> > This seems to makes sense, since the bug report link pointed to (above)
> > 
> >   only seemed to fix broken dialogs and apparently that fix made it into
> >   Qt
> >   just in time - the dialogs work fine in KUbuntu 16.04.
> > 
> > But apparently there were still problems left over that weren't solved
> > 
> >   by release time, as we see with this 'setParent' LV2 Gtk UI crash.
> > 
> > Apparently the Qt camp was having trouble with 'screens'.
> > Ah well, KDE5 and Qt's QWindow are all brand new stuff.
> > Give it time I suppose.
> > 
> >> Muse 2.2.1 is on qt4, so it just works.
> >> 
> >> P.S. QTractor in ubuntu 16.04 is also built against Qt 4, so tests of
> >> muse3 vs qtractor have nothing to do.
> > 
> > True, but QTractor Qt5 built on Ubuntu 16.04 crashes in the very same
> > spot.
> > 
> > -----
> > 
> > [* SUSE MusE Bug alert *]
> > 
> > Andrew, there is a bug on SUSE where our lv2GtkHelper library
> > 
> >   fails to compile with several errors like this:
> > lv2Gtk2Helper.cpp:20:54: error: ISO C++ forbids casting between
> > pointer-to-
> > function and pointer-to-object [-Werror=pedantic]
> > 
> >      sz_cb_fn fn = reinterpret_cast<sz_cb_fn>(user_data);
> > 
> > (I recently split the makefile into 32 and 64 bit, and made it easier to
> > 
> >   recompile your own versions - placing the results into their own build
> >   dir
> >   while not touching the shipped versions.)
> > 
> > The 'pedantic' thing and the 'casting' thing are pretty touchy subjects,
> > 
> >   I read about that error today. Some solutions are out there.
> > 
> > * I was going to try to fix it but I though i would ask you if you'd
> > 
> >   like to try since you know the code. Or... suggestions that you
> >   want me to try?
> > 
> > Also I want to try to move that helper library code into the cmake project
> > 
> >   and ask the user if they'd like to build it themselves (requiring Gtk
> >   stuff).> 
> > Actually, I was thinking rather of not shipping a pre-built version at all
> > 
> >   and /requiring/ Gtk developer packages in order to support LV2 Gtk Uis.
> > 
> > It's Gtk dependencies are simple enough that I think we can get away with
> > it.
> > 
> > 
> > Thanks.
> > Tim.


------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to