Page 1 of 2

latest git pull will not build on Arch

Posted: Sat Aug 10, 2019 4:11 pm
by funkmuscle
Just did a fresh pull and I got this:

Code: Select all

[ 17%] Building CXX object muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/lv2Gtk2Support.o
In file included from /usr/include/pango-1.0/pango/pango-font.h:25,
                 from /usr/include/pango-1.0/pango/pango-attributes.h:25,
                 from /usr/include/pango-1.0/pango/pango.h:25,
                 from /usr/include/gtk-2.0/gdk/gdktypes.h:37,
                 from /usr/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from /tmp/trizen-harv/muse-git/src/muse-git/muse3/muse/lv2Gtk2Support/lv2Gtk2Support.cpp:4:
/usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
   28 | #include <hb.h>
      |          ^~~~~~
compilation terminated.
make[2]: *** [muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/build.make:62: muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/lv2Gtk2Support.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2170: muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
:: Unable to build muse-git - makepkg exited with code: 4

Re: latest git pull will not build on Arch

Posted: Sat Aug 10, 2019 9:26 pm
by Tim E. Real
Meh... you're missing some sort of pango font development package.
The header file "hb.h" is part of gtk's "Harfbuzz OpenType text shaping engine".

On my system the file is found in package harfbuzz-devel.

From our README: Make sure the gtkmm-2 and gtk+-2 development packages are installed.
If that's already done, then possibly your distro's gtk/pango package dependencies are not quite complete?
Harbuzz should have automatically been brought in, then.

Re: latest git pull will not build on Arch

Posted: Sun Aug 11, 2019 7:49 pm
by funkmuscle
Tim E. Real wrote:Meh... you're missing some sort of pango font development package.
The header file "hb.h" is part of gtk's "Harfbuzz OpenType text shaping engine".

On my system the file is found in package harfbuzz-devel.

From our README: Make sure the gtkmm-2 and gtk+-2 development packages are installed.
If that's already done, then possibly your distro's gtk/pango package dependencies are not quite complete?
Harbuzz should have automatically been brought in, then.
I've got all those installed. In fact, I just reinstalled them and same thing.

Re: latest git pull will not build on Arch

Posted: Sun Aug 11, 2019 9:53 pm
by Tim E. Real
Your output log shows the error is several layers deep into gtk/pango.
Are you sure you have harfbuzz-devel package?

Does the file /usr/include/harfbuzz/hb.h exist?
No? How about /usr/include/hb.h then?

If the answer is the former, then this looks suspicious:
/usr/include/pango-1.0/pango/pango-coverage.h:28:10: fatal error: hb.h: No such file or directory
28 | #include <hb.h>
Seems inside the file /usr/include/pango-1.0/pango/pango-coverage.h it ought to be this:

Code: Select all

   28 | #include <harfbuzz/hb.h>
If the answer is the latter, then the code looks correct. Something else is wrong.

Something else odd: My /usr/include/pango-1.0/pango/pango-coverage.h contains no such line "#include <hb.h>"
Neither does pango-font.h or even pango.h
In fact when I follow the trail of headers listed in your output, I find no such line.
Why is your pango-coverage.h attempting to include hb.h ?
Curious, please post the first 100 lines or so of your /usr/include/pango-1.0/pango/pango-coverage.h

Still, it seems this is out of our hands.
Something not installed? Not updated or out of sync with each other? Maybe wait until they are?

Tim.

Re: latest git pull will not build on Arch

Posted: Mon Aug 12, 2019 7:26 pm
by aquilarubra
I could replicate the error. Same conclusion of Tim. It seems due to a Pango update. Other packages have the same issue.

The temporary solution is to change /usr/include/pango-1.0/pango/pango-coverage.h and /usr/include/pango-1.0/pango/pango-font.h

Where it includes hb.h, it should include harfbuzz/hb.h instead.

Then, it compiles successfully. I don't feel like changing the PKGBUILD of muse-git, as it is a Pango related bug. I guess it will be fixed soon. What do you think?

Re: latest git pull will not build on Arch

Posted: Mon Aug 12, 2019 7:38 pm
by funkmuscle
aquilarubra wrote:I could replicate the error. Same conclusion of Tim. It seems due to a Pango update. Other packages have the same issue.

The temporary solution is to change /usr/include/pango-1.0/pango/pango-coverage.h and /usr/include/pango-1.0/pango/pango-font.h

Where it includes hb.h, it should include harfbuzz/hb.h instead.

Then, it compiles successfully. I don't feel like changing the PKGBUILD of muse-git, as it is a Pango related bug. I guess it will be fixed soon. What do you think?
I agree with you guys that it is definitely Pango. I guess we wait for it to be updated.

Re: latest git pull will not build on Arch

Posted: Mon Aug 12, 2019 9:14 pm
by Tim E. Real
For now, you can disable LV2 GTK2 support by recompiling MusE
without the ENABLE_LV2_GTK2 cmake flag.

It means a few plugins might not show a UI at all, but others may be able
offer a different UI that will be automatically selected or you can choose (see Settings > LV2 gui behaviour).

Re: latest git pull will not build on Arch

Posted: Mon Aug 12, 2019 9:19 pm
by funkmuscle
Tim E. Real wrote:For now, you can disable LV2 GTK2 support by recompiling MusE
without the ENABLE_LV2_GTK2 cmake flag.

It means a few plugins might not show a UI at all, but others may be able
offer a different UI that will be automatically selected or you can choose (see Settings > LV2 gui behaviour).
my luck, it will be Drumgizmo which is the main plugin I use MusE for so I'll wait for the Pango bug fix in Arch!

Re: latest git pull will not build on Arch

Posted: Tue Aug 13, 2019 9:20 pm
by folderol
At the risk of stating the obvious, has anyone notified the Arch devs?

Re: latest git pull will not build on Arch

Posted: Tue Aug 13, 2019 11:08 pm
by funkmuscle
folderol wrote:At the risk of stating the obvious, has anyone notified the Arch devs?
pango was just updated and still the same issue.

Re: latest git pull will not build on Arch

Posted: Wed Aug 14, 2019 12:15 am
by Tim E. Real
Sorry to hear that.
The temporary solution is to change /usr/include/pango-1.0/pango/pango-coverage.h and /usr/include/pango-1.0/pango/pango-font.h
Where it includes hb.h, it should include harfbuzz/hb.h instead.
Another less intrusive solution might be to simply make a new file link
/usr/include/hb.h -> /usr/include/harfbuzz/hb.h
Although, if there ever was some other file named hb.h there, that would be bad.
[ Edit: ] Make sure to remove the link if and when pango is finally corrected.

Re: latest git pull will not build on Arch

Posted: Thu Oct 03, 2019 7:02 am
by Kott
I use this solution for automated build in OBS:

insert necessary include after cmake configuration and before make:

mkdir build
cd build
cmake <your options> ..

sed -i -e 's/CXX_INCLUDES = /CXX_INCLUDES = -I\/usr\/include\/harfbuzz /' muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/flags.make

make

Re: latest git pull will not build on Arch

Posted: Thu Oct 03, 2019 11:31 am
by funkmuscle
Kott wrote:I use this solution for automated build in OBS:

insert necessary include after cmake configuration and before make:

mkdir build
cd build
cmake <your options> ..

sed -i -e 's/CXX_INCLUDES = /CXX_INCLUDES = -I\/usr\/include\/harfbuzz /' muse/lv2Gtk2Support/CMakeFiles/lv2_gtk2_support.dir/flags.make

make
Does that actually fix the issue that we've been experiencing? The harfbuzz issue? Only how I get it to build is by following the instructions above.

Re: latest git pull will not build on Arch

Posted: Thu Oct 03, 2019 11:53 am
by Kott
funkmuscle wrote: Does that actually fix the issue that we've been experiencing? The harfbuzz issue? Only how I get it to build is by following the instructions above.
yes, that command adds path to harfbuzz includes

Re: latest git pull will not build on Arch

Posted: Thu Oct 03, 2019 12:51 pm
by funkmuscle
Kott wrote:
funkmuscle wrote: Does that actually fix the issue that we've been experiencing? The harfbuzz issue? Only how I get it to build is by following the instructions above.
yes, that command adds path to harfbuzz includes
Kott thanks!!