latest git pull will not build on Arch

MusE is a MIDI/Audio sequencer with recording and editing capabilities, aiming to be a complete multitrack virtual studio for Linux. https://muse-sequencer.org/

Moderators: MattKingUSA, khz, spamatica

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

latest git pull will not build on Arch

Post 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

Tim E. Real
Established Member
Posts: 382
Joined: Sat Sep 15, 2012 12:36 am

Re: latest git pull will not build on Arch

Post 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.

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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.

Tim E. Real
Established Member
Posts: 382
Joined: Sat Sep 15, 2012 12:36 am

Re: latest git pull will not build on Arch

Post 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.

aquilarubra
Established Member
Posts: 52
Joined: Sat Nov 24, 2018 8:12 pm

Re: latest git pull will not build on Arch

Post 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?

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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.

Tim E. Real
Established Member
Posts: 382
Joined: Sat Sep 15, 2012 12:36 am

Re: latest git pull will not build on Arch

Post 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).

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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!

folderol
Established Member
Posts: 1052
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Contact:

Re: latest git pull will not build on Arch

Post by folderol »

At the risk of stating the obvious, has anyone notified the Arch devs?

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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.

Tim E. Real
Established Member
Posts: 382
Joined: Sat Sep 15, 2012 12:36 am

Re: latest git pull will not build on Arch

Post 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.

Kott
Established Member
Posts: 283
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok

Re: latest git pull will not build on Arch

Post 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

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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.

Kott
Established Member
Posts: 283
Joined: Thu Mar 21, 2013 12:55 am
Location: Vladivostok

Re: latest git pull will not build on Arch

Post 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

User avatar
funkmuscle
Established Member
Posts: 2473
Joined: Mon Jun 02, 2008 2:30 pm

Re: latest git pull will not build on Arch

Post 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!!

Post Reply