Re: Fireworks

Takashi Sakamoto <[email protected]>
Newsgroups gmane.linux.alsa.user
Message-ID <20201118012737.GA103287@workstation>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.