Hi, On Fri, Nov 20, 2020 at 09:00:51AM +0900, Susie B. wrote: > On Wed, 18 Nov 2020 15:35:59 +0900 Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> wrote: > > > Just now I pushed 'topic/buildable-in-kernel4.5-or-later' remote repository. > > https://github.com/alsa-project/alsa-gobject/tree/topic/buildable-in-kernel4.5-or-later > > > > I added some conditional macros to build for Linux kernel 4.5 or later. > > I wish they works well in your environment. > > Thank you very much for the help. > With the macro, the build itself seemed to complete: > (I updated the kernel of my system to 4.9 from 4.4 before the build.) > > root@darkstar:/tmp/alsa-gobject-topic-buildable-in-kernel4.5-or-later/build# meson test > ... > 1/32 alsactl-enums FAIL 0.17s (exit status 1) > ... > 32/32 alsarawmidi-substream-status FAIL 0.13s (exit status 1) > > Ok: 0 > Expected Fail: 0 > Fail: 32 > Unexpected Pass: 0 > Skipped: 0 > Timeout: 0 > > > So I tried to install, though there were many "FAIL": Execution of test scripts under 'tests' results in the failures. Let us see README: ``` ... Dependencies ============ ... * (optional) PyGObject <https://pygobject.readthedocs.io/> to execute tests ... ``` PyGObject is a loader for g-i compatible libraries in Python 3 runtime. The failure means that PyGObject is not installed in your system. It's optional and you can just ignore the failures. For your information, if you are interested in implementation of ALSA core feature in kernel land, the combination of libraries in alsa-gobject and PyGObject allows you to use it directly, like: ``` #!/usr/bin/env python3 import gi gi.require_version('ALSACtl', '0.0') from gi.repository import ALSACtl for card_id in ALSACtl.get_card_id_list(): card = ALSACtl.Card.new() card.open(card_id, 0) info = card.get_info() print('"{}"'.format(info.get_property('name'))) for elem_id in card.get_elem_id_list(): print(' "{}"'.format(elem_id.get_name())) ``` ``` "HD-Audio Generic" "HDMI/DP,pcm=3 Jack" "IEC958 Playback Con Mask" ... "HD-Audio Generic" "Front Playback Volume" "Front Playback Switch" ``` > root@darkstar:/tmp/alsa-gobject-topic-buildable-in-kernel4.5-or-later/build# meson install > ninja: Entering directory `.' > ninja: no work to do. > Installing src/ctl/ALSACtl-0.0.gir to /usr/local/share/gir-1.0 > Installing src/ctl/ALSACtl-0.0.typelib to /usr/local/lib64/girepository-1.0 > ... > > I cheked my system for some of these files or directories and actually > could find them. Can I assume that the installation was well done? As long as installation place of "gir" and "typelib" files ("/usr/local/share/gir-1.0") is expected for the installation of libgirepository[1], the installation is done. However, some users report libgirepository doesn't handle files under "/usr/local". I guess it depends on installation configuration of libgirepository in user side. It's inconvenient to you but I don't know the way to check the installation quickly. If the above sample runs successfully in your system, the installation is surely completed. However, as long as building snd-firewire-ctl-services, the place of "gir" and "typelib" doesn't matter since they use Rust crates[2] generated in advance. > If so, I'd like to continue with the installation of libhinawa, > another dependency of snd-firewire-ctl-services. Ok. I note that I'm now preparing for new release of alsa-gobject and relevant Rust crates. I think the release work doesn't matter in your work, but if you find some troubles, feel free to post questions to me as well. [1] https://gi.readthedocs.io/en/latest/index.html [2] https://github.com/alsa-project/alsa-gobject-rs/ Regards Takashi Sakamoto _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user