Hi,

Thanks for your trial to build alsa-gobject ;)

On Wed, Nov 18, 2020 at 09:28:40AM +0900, Susie B. wrote:
> I checked my system and found it had these dependencies of the version below:
> 
>     glib-2.46.2
>     gobject-introspection-1.46.0
>     eudev-3.1.5
> 
> I did't seek for the gir files because I guessed that they would be made in 
> the build of alsa-gobject or libhinawa.
> Then I made a clone of the project of alsa-gobject;
> 
>     root@darkstar:/tmp# git clone 
> https://github.com/alsa-project/alsa-gobject.git
> 
> and I moved into the directory and setup:
> 
>     root@darkstar:/tmp/alsa-gobject# meson . build
> 
> Meson gave me the message below, and I guessed the setup was done well.
> (Because there wasn't any "No" nor "Error".) 
> 
>     The Meson build system
>     Version: 0.55.3
>     ...
>     Build targets in project: 27
> 
> But When I tested the build, ninja put an error:
> 
>     root@darkstar:/tmp/alsa-gobject/build# meson test
>     ninja: Entering directory `/tmp/alsa-gobject/build'
>     ...
>     [42/80] Compiling C object src/seq/libalsaseq.so.0.1.0.p/client-info.c.o
>     FAILED: src/seq/libalsaseq.so.0.1.0.p/client-info.c.o 
>     ccache cc -Isrc/seq/libalsaseq.so.0.1.0.p -Isrc/seq -I../src/seq -Isrc 
> -I../src -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include 
> -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch 
> -g -fPIC -MD -MQ src/seq/libalsaseq.so.0.1.0.p/client-info.c.o -MF 
> src/seq/libalsaseq.so.0.1.0.p/client-info.c.o.d -o 
> src/seq/libalsaseq.so.0.1.0.p/client-info.c.o -c ../src/seq/client-info.c
>     ../src/seq/client-info.c: In function ‘seq_client_info_get_property’:
>     ../src/seq/client-info.c:105:40: error: ‘struct snd_seq_client_info’ has 
> no member named ‘card’
>              g_value_set_int(val, priv->info.card);
>                                             ^
>     ../src/seq/client-info.c:108:50: error: ‘struct snd_seq_client_info’ has 
> no member named ‘pid’
>              g_value_set_int64(val, (gint64)priv->info.pid);
>                                                       ^
>     [44/80] Compiling C object src/seq/libalsaseq.so.0.1.0.p/user-client.c.o
>     ninja: build stopped: subcommand failed.
>     Could not rebuild /tmp/alsa-gobject/build
 
I should mention that the alsa-gobject is an application of UAPI of Linux
kernel as well as GLib/GObject(+GObject Instrospection), sorry. The cause
of error is building for Linux kernel version 4.6 or before. The missing
'card' and 'pid' members in 'struct snd_seq_client_info' were added by
this patch:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a1ce94d03bfd

$ git name-rev --tags a1ce94d0
a1ce94d0 tags/sound-4.6-rc1~21

I'm awareless of the change and use Linux kernel v4.18 or later for
development. Build test on CI platform is setup to build under below
environments[1]:
 - Fedora 32 (Linux v5.6)
 - Ubuntu 19.10 (Linux v5.4)

Is it possible to upgrade your kernel up to v4.6 or later? I could add
conditional macro to build the issued code according to kernel version,
but it can increase maintainance cost of the library...

> I tried to build as well, but get another error again.
> 
>     root@darkstar:/tmp/alsa-gobject/build# meson build
> 
>     ERROR: Neither directory contains a build file meson.build.
> 
> There was't meson.build file actually:
> 
>     root@darkstar:/tmp/alsa-gobject/build# ls
>     build.ninja            doc/         meson-logs/     meson-uninstalled/  
> tests/
>     compile_commands.json  meson-info/  meson-private/  src/
> 
> I'm ashamed to say I have no idea where I went wrong in the above steps.
> But I would appreciate any help or suggestion to resolve these errors.

Once building the 'build' directory, you just run 'ninja' command in the
directory.

[1] 
https://github.com/alsa-project/alsa-gobject/blob/master/.github/workflows/build.yml


Thanks

Takashi Sakamoto


_______________________________________________
Alsa-user mailing list
Alsa-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/alsa-user

Reply via email to