On Thu, Mar 3, 2022 at 12:43 PM Richard Purdie
<[email protected]> wrote:
>
> On Tue, 2022-03-01 at 16:30 +0200, Alexandru Ardelean wrote:
> > On Tue, Mar 1, 2022 at 4:23 PM Richard Purdie
> > <[email protected]> wrote:
> > >
> > > On Mon, 2022-02-28 at 12:32 +0200, Alexandru Ardelean wrote:
> > > > On Thu, Feb 24, 2022 at 5:30 PM Alexandru Ardelean
> > > > <[email protected]> wrote:
> > > > >
> > > > > It seems that the homepage has moved (for a while now) from
> > > > >   http://www.mega-nerd.com/libsndfile/
> > > > > to
> > > > >   https://libsndfile.github.io/libsndfile/
> > > > >
> > > > > On Github, the development group seems to include Erik de Castro Lopo 
> > > > > (the
> > > > > original author of libsndfile1).
> > > > > Link: https://github.com/orgs/libsndfile/people
> > > > >
> > > > > All backported CVE patches are in version 1.0.31 (I've checked).
> > > > >
> > > > > The supported format page [1], mentions that Ogg/Opus is supported 
> > > > > since
> > > > > 1.0.29, however that isn't currently added in this patch. And it may
> > > > > require libopus.
> > > > > And mp3 is supported at around version 1.1.0, but that version is in 
> > > > > beta.
> > > > >
> > > > > This change focuses solely on updating to 1.0.31 and removing all
> > > > > backported patches.
> > > > >
> > > > > [1] https://libsndfile.github.io/libsndfile/formats.html
> > > >
> > > > Bah...
> > > >
> > > > No luck with V2 either.
> > > > This would require some patch to allow build without libopus support.
> > > > Since there is no libopus available, it will not include support for
> > > > libvorbis, libflac.
> > > > i.e. libsndfile will build, but will say:
> > > >
> > > > configure: WARNING: *** One or more of the external libraries (ie
> > > > libflac, libogg and
> > > > configure: WARNING: *** libvorbis) is either missing (possibly only
> > > > the development
> > > > configure: WARNING: *** headers) or is of an unsupported version.
> > > > configure: WARNING: ***
> > > > configure: WARNING: *** Unfortunately, for ease of maintenance, the
> > > > external libs
> > > > configure: WARNING: *** are an all or nothing affair.
> > > >
> > > >
> > > > Seems I forgot to check these extra configurations.
> > > >
> > > > Please disregard the V2 and apologies for the noise.
> > > >
> > > > I may try again with a V3, but let's see.
> > >
> > >
> > > Unfortunately we merged this as it passed the automated testing and there 
> > > was no
> > > other review feedback.
> >
> > Oh.
> > Now I feel a bit worse.
> >
>
> It is just the way things sometimes work out. I am pleased you spotted the
> issue.
>
> > > https://git.yoctoproject.org/poky/commit/?id=fd2c86b06963345683ac5dc4f47f9da8e0c8c69d
> > >
> > > It does make me worry about tests here and means we'll have to find some 
> > > way to
> > > fix this.
> >
> > The silent nature of this build issue, suggests a few things to move 
> > forward:
> >
> > 1. Propose a patch upstream to cause a build failure if this
> > configuration isn't complete (i.e. all Xiph libs are enabled or not)
> >     It's their right to have this all Xiph libs or no Xiph libs support 
> > matrix.
> > 2. For Yocto, we could add libopus, in the meantime OR
> >     Patch-out libopus in the build
>
> I had a look at patching out opus in the build and it didn't seem too 
> difficult,
> the patch below seemed to work:
>
> Index: libsndfile-1.0.31/configure.ac
> ===================================================================
> --- libsndfile-1.0.31.orig/configure.ac
> +++ libsndfile-1.0.31/configure.ac
> @@ -361,13 +361,13 @@ AS_IF([test -n "$PKG_CONFIG"], [
>                                 enable_external_libs=yes
>                         ])
>
> -                       AS_IF([test 
> "x$ac_cv_flac$ac_cv_ogg$ac_cv_vorbis$ac_cv_vorbisenc$ac_cv_opus" = 
> "xyesyesyesyesyes"], [
> +                       AS_IF([test 
> "x$ac_cv_flac$ac_cv_ogg$ac_cv_vorbis$ac_cv_vorbisenc" = "xyesyesyesyes"], [
>                                         HAVE_EXTERNAL_XIPH_LIBS=1
>                                         enable_external_libs=yes
>
> -                                       EXTERNAL_XIPH_CFLAGS="$FLAC_CFLAGS 
> $VORBIS_CFLAGS $VORBISENC_CFLAGS $SPEEX_CFLAGS $OPUS_CFLAGS $OGG_CFLAGS "
> -                                       EXTERNAL_XIPH_LIBS="$FLAC_LIBS 
> $VORBIS_LIBS $VORBISENC_LIBS $SPEEX_LIBS $OPUS_LIBS $OGG_LIBS "
> -                                       EXTERNAL_XIPH_REQUIRE="flac ogg 
> vorbis vorbisenc opus"
> +                                       EXTERNAL_XIPH_CFLAGS="$FLAC_CFLAGS 
> $VORBIS_CFLAGS $VORBISENC_CFLAGS $SPEEX_CFLAGS $OGG_CFLAGS "
> +                                       EXTERNAL_XIPH_LIBS="$FLAC_LIBS 
> $VORBIS_LIBS $VORBISENC_LIBS $SPEEX_LIBS $OGG_LIBS "
> +                                       EXTERNAL_XIPH_REQUIRE="flac ogg 
> vorbis vorbisenc"
>
>                                         if test x$ac_cv_speex = "xyes" ; then
>                                                 
> EXTERNAL_XIPH_REQUIRE="$EXTERNAL_XIPH_REQUIRE speex"
> @@ -716,7 +716,7 @@ AC_MSG_RESULT([
>
>      Experimental code : ................... ${enable_experimental:-no}
>      Using ALSA in example programs : ...... ${enable_alsa:-no}
> -    External FLAC/Ogg/Vorbis/Opus : ....... ${enable_external_libs:-no}
> +    External FLAC/Ogg/Vorbis : ....... ${enable_external_libs:-no}
>      Building Octave interface : ........... ${OCTAVE_BUILD}
>
>    Tools :
> Index: libsndfile-1.0.31/src/ogg_opus.c
> ===================================================================
> --- libsndfile-1.0.31.orig/src/ogg_opus.c
> +++ libsndfile-1.0.31/src/ogg_opus.c
> @@ -159,7 +159,7 @@
>  #include "sfendian.h"
>  #include "common.h"
>
> -#if HAVE_EXTERNAL_XIPH_LIBS
> +#if 0
>
>  #include <ogg/ogg.h>
>  #include <opus/opus.h>
>
> so I'm tempted to merge something like this. It isn't as bad as I expected to 
> patch.

It didn't look [to me] like it would be too bad to me either.
I wasn't sure what the decision would have been (from OE), to
[1]patch-out libopus? or to [2]add libopus? or [3]revert?
But your patch suggests [1] is preferred for now.

Did you get a chance to test it?
I can run a test on my system with it.
But it may take me 1-2 days.

In the meantime, I was a bit busy with this:
https://github.com/libsndfile/libsndfile/pull/812

It kind of seems that libsndfile people are talking about maybe
splitting up their configuration.
Let's see. That will be in a future release anyway.

>
> Cheers,
>
> Richard
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#162647): 
https://lists.openembedded.org/g/openembedded-core/message/162647
Mute This Topic: https://lists.openembedded.org/mt/89367260/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to