Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

liquidsoap 1.4.3 - enable fdk-aac (ocaml-fdkaac) #36

Open
tzumbrunnen opened this issue Dec 5, 2020 · 4 comments
Open

liquidsoap 1.4.3 - enable fdk-aac (ocaml-fdkaac) #36

tzumbrunnen opened this issue Dec 5, 2020 · 4 comments

Comments

@tzumbrunnen
Copy link

I would like to test the latest drop on Centos 8 with %fdkaac, unfortunately its not working since ocaml-fdkaac is missing. Beside that the old library from Nux Dextop Repos won't work (and disappeared). I tried to find a package on RPMFusionall, but failed.
Are you planing to deliver a solution, i.e. a dedicated rpm package for ocaml-fdkaac ?

@hairmare
Copy link
Member

hairmare commented Dec 5, 2020

Due to legal reasons (mainly @radiorabe not having an MPEG-LA license and us not planning on getting one) we cannot distribute ocaml-fdkaac binaries atm.

What we can do is provide instructions on how you can build your own... I updated the usage section in the centos-rpm-ocaml-fdkaac repo to provide detailed instructions on how you can build you own RPM using fdk-aac from RPMfusion nonfree. I also updated the specfile so it builds a version of ocaml-fdkaac that should work with 1.4.3.

I usually run this in the quay.io/hairmare/centos8_rpmdev container (see folded example below). Let me know if this works out for you or if you need any further assistance in getting fdk-aac working again.

container example with output

$ docker run --rm -ti -v `pwd`:'/git' -v `pwd`/RPMS:/root/rpmbuild/RPMS quay.io/hairmare/centos8_rpmdev bash
[root@dd916d343ef4 git]# dnf install -y \
>   http://download1.rpmfusion.org/free/el/updates/8/x86_64/r/rpmfusion-free-release-8-0.1.noarch.rpm \
>   http://download1.rpmfusion.org/nonfree/el/updates/8/x86_64/r/rpmfusion-nonfree-release-8-0.1.noarch.rpm
Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream                                                                                                                                                                                          3.5 MB/s | 5.8 MB     00:01    
CentOS-8 - Base                                                                                                                                                                                               3.1 MB/s | 2.2 MB     00:00    
CentOS-8 - Extras                                                                                                                                                                                              19 kB/s | 8.6 kB     00:00    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                                                                                                        113 kB/s |  98 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                                                8.8 MB/s | 8.4 MB     00:00    
rpmfusion-free-release-8-0.1.noarch.rpm                                                                                                                                                                        74 kB/s |  11 kB     00:00    
rpmfusion-nonfree-release-8-0.1.noarch.rpm                                                                                                                                                                    218 kB/s |  11 kB     00:00    
Dependencies resolved.
==============================================================================================================================================================================================================================================
 Package                                                               Architecture                                       Version                                              Repository                                                Size
==============================================================================================================================================================================================================================================
Installing:
 rpmfusion-free-release                                                noarch                                             8-0.1                                                @commandline                                              11 k
 rpmfusion-nonfree-release                                             noarch                                             8-0.1                                                @commandline                                              11 k

Transaction Summary
==============================================================================================================================================================================================================================================
Install  2 Packages

Total size: 22 k
Installed size: 7.6 k
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                      1/1 
  Installing       : rpmfusion-free-release-8-0.1.noarch                                                                                                                                                                                  1/2 
  Installing       : rpmfusion-nonfree-release-8-0.1.noarch                                                                                                                                                                               2/2 
  Verifying        : rpmfusion-free-release-8-0.1.noarch                                                                                                                                                                                  1/2 
  Verifying        : rpmfusion-nonfree-release-8-0.1.noarch                                                                                                                                                                               2/2 

Installed:
  rpmfusion-free-release-8-0.1.noarch                                                                                  rpmfusion-nonfree-release-8-0.1.noarch                                                                                 

Complete!
[root@dd916d343ef4 git]# 
[root@dd916d343ef4 git]# # the RaBe-LSD liquidsoap binaries are using an OCaml build chain based on a backport of fc33 ocaml
[root@dd916d343ef4 git]# curl -o /etc/yum.repos.d/ocaml.repo \
>   "https://download.opensuse.org/repositories/home:/radiorabe:/liquidsoap:/ocaml/CentOS_8/home:radiorabe:liquidsoap:ocaml.repo"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   308  100   308    0     0   2905      0 --:--:-- --:--:-- --:--:--  2905
[root@dd916d343ef4 git]# 
[root@dd916d343ef4 git]# rpmdev-setuptree
[root@dd916d343ef4 git]# 
[root@dd916d343ef4 git]# spectool -R -g ocaml-fdkaac.spec
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Getting https://github.com/savonet/ocaml-fdkaac/archive/0.3.2.tar.gz?#/ocaml-fdkaac-0.3.2.tar.gz to /root/rpmbuild/SOURCES/ocaml-fdkaac-0.3.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   127  100   127    0     0    535      0 --:--:-- --:--:-- --:--:--   535
100 15369    0 15369    0     0  30017      0 --:--:-- --:--:-- --:--:-- 30017
[root@dd916d343ef4 git]# 
[root@dd916d343ef4 git]# dnf builddep -y ocaml-fdkaac.spec
Failed to set locale, defaulting to C.UTF-8
OCaml 4.11 (CentOS_8)                                                                                                                                                                                         617 kB/s | 224 kB     00:00    
RPM Fusion for EL 8 - Free - Updates                                                                                                                                                                          323 kB/s | 258 kB     00:00    
RPM Fusion for EL 8 - Nonfree - Updates                                                                                                                                                                       268 kB/s |  89 kB     00:00    
Dependencies resolved.
==============================================================================================================================================================================================================================================
 Package                                                   Architecture                                 Version                                                   Repository                                                             Size
==============================================================================================================================================================================================================================================
Installing:
 fdk-aac-devel                                             x86_64                                       2.0.0-3.el8                                               rpmfusion-nonfree-updates                                             768 k
 ocaml                                                     x86_64                                       4.11.1-0.1.2.rabe                                         home_radiorabe_liquidsoap_ocaml                                        72 M
 ocaml-dune-devel                                          x86_64                                       2.7.1-0.1.2.rabe                                          home_radiorabe_liquidsoap_ocaml                                       3.2 M
 ocaml-findlib                                             x86_64                                       1.8.1-0.1.2.rabe                                          home_radiorabe_liquidsoap_ocaml                                       725 k
Installing dependencies:
 fdk-aac                                                   x86_64                                       2.0.0-3.el8                                               rpmfusion-nonfree-updates                                             683 k
 ocaml-compiler-libs                                       x86_64                                       4.11.1-0.1.2.rabe                                         home_radiorabe_liquidsoap_ocaml                                        13 M
 ocaml-csexp                                               x86_64                                       1.3.2-0.1.2.rabe                                          home_radiorabe_liquidsoap_ocaml                                        47 k
 ocaml-csexp-devel                                         x86_64                                       1.3.2-0.1.2.rabe                                          home_radiorabe_liquidsoap_ocaml                                        72 k
 ocaml-dune                                                x86_64                                       2.7.1-0.1.2.rabe                                          home_radiorabe_liquidsoap_ocaml                                       3.8 M
 ocaml-runtime                                             x86_64                                       4.11.1-0.1.2.rabe                                         home_radiorabe_liquidsoap_ocaml                                       2.8 M

Transaction Summary
==============================================================================================================================================================================================================================================
Install  10 Packages

Total download size: 97 M
Installed size: 361 M
Downloading Packages:
(1/10): ocaml-csexp-1.3.2-0.1.2.rabe.x86_64.rpm                                                                                                                                                               156 kB/s |  47 kB     00:00    
(2/10): ocaml-csexp-devel-1.3.2-0.1.2.rabe.x86_64.rpm                                                                                                                                                         410 kB/s |  72 kB     00:00    
(3/10): ocaml-dune-2.7.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                                2.9 MB/s | 3.8 MB     00:01    
(4/10): ocaml-compiler-libs-4.11.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                      6.4 MB/s |  13 MB     00:02    
(5/10): ocaml-findlib-1.8.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                             2.7 MB/s | 725 kB     00:00    
(6/10): ocaml-dune-devel-2.7.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                          3.7 MB/s | 3.2 MB     00:00    
(7/10): ocaml-runtime-4.11.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                            4.7 MB/s | 2.8 MB     00:00    
(8/10): fdk-aac-2.0.0-3.el8.x86_64.rpm                                                                                                                                                                        1.3 MB/s | 683 kB     00:00    
(9/10): fdk-aac-devel-2.0.0-3.el8.x86_64.rpm                                                                                                                                                                  2.4 MB/s | 768 kB     00:00    
(10/10): ocaml-4.11.1-0.1.2.rabe.x86_64.rpm                                                                                                                                                                    12 MB/s |  72 MB     00:05    
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                          16 MB/s |  97 MB     00:05     
warning: /var/cache/dnf/home_radiorabe_liquidsoap_ocaml-821585843ca20ba9/packages/ocaml-4.11.1-0.1.2.rabe.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID a62f73c5: NOKEY
OCaml 4.11 (CentOS_8)                                                                                                                                                                                          12 kB/s | 1.1 kB     00:00    
Importing GPG key 0xA62F73C5:
 Userid     : "home:radiorabe OBS Project <home:[email protected]>"
 Fingerprint: E603 B0F1 A6E8 9759 F239 56C9 9ED9 B42E A62F 73C5
 From       : https://download.opensuse.org/repositories/home:/radiorabe:/liquidsoap:/ocaml/CentOS_8/repodata/repomd.xml.key
Key imported successfully
warning: /var/cache/dnf/rpmfusion-nonfree-updates-4b07c573777c5e1e/packages/fdk-aac-2.0.0-3.el8.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID bdda8475: NOKEY
RPM Fusion for EL 8 - Nonfree - Updates                                                                                                                                                                       1.2 MB/s | 1.7 kB     00:00    
Importing GPG key 0xBDDA8475:
 Userid     : "RPM Fusion nonfree repository for EL (8) <[email protected]>"
 Fingerprint: CF9F D59F 61D6 6121 46CD AC8E 14B6 792D BDDA 8475
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-el-8
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                      1/1 
  Installing       : ocaml-runtime-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                              1/10 
  Installing       : ocaml-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                                      2/10 
  Installing       : ocaml-compiler-libs-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                        3/10 
  Installing       : ocaml-csexp-1.3.2-0.1.2.rabe.x86_64                                                                                                                                                                                 4/10 
  Installing       : ocaml-csexp-devel-1.3.2-0.1.2.rabe.x86_64                                                                                                                                                                           5/10 
  Installing       : ocaml-dune-2.7.1-0.1.2.rabe.x86_64                                                                                                                                                                                  6/10 
  Installing       : fdk-aac-2.0.0-3.el8.x86_64                                                                                                                                                                                          7/10 
  Running scriptlet: fdk-aac-2.0.0-3.el8.x86_64                                                                                                                                                                                          7/10 
  Installing       : fdk-aac-devel-2.0.0-3.el8.x86_64                                                                                                                                                                                    8/10 
  Installing       : ocaml-dune-devel-2.7.1-0.1.2.rabe.x86_64                                                                                                                                                                            9/10 
  Installing       : ocaml-findlib-1.8.1-0.1.2.rabe.x86_64                                                                                                                                                                              10/10 
  Running scriptlet: ocaml-findlib-1.8.1-0.1.2.rabe.x86_64                                                                                                                                                                              10/10 
  Verifying        : ocaml-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                                      1/10 
  Verifying        : ocaml-compiler-libs-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                        2/10 
  Verifying        : ocaml-csexp-1.3.2-0.1.2.rabe.x86_64                                                                                                                                                                                 3/10 
  Verifying        : ocaml-csexp-devel-1.3.2-0.1.2.rabe.x86_64                                                                                                                                                                           4/10 
  Verifying        : ocaml-dune-2.7.1-0.1.2.rabe.x86_64                                                                                                                                                                                  5/10 
  Verifying        : ocaml-dune-devel-2.7.1-0.1.2.rabe.x86_64                                                                                                                                                                            6/10 
  Verifying        : ocaml-findlib-1.8.1-0.1.2.rabe.x86_64                                                                                                                                                                               7/10 
  Verifying        : ocaml-runtime-4.11.1-0.1.2.rabe.x86_64                                                                                                                                                                              8/10 
  Verifying        : fdk-aac-2.0.0-3.el8.x86_64                                                                                                                                                                                          9/10 
  Verifying        : fdk-aac-devel-2.0.0-3.el8.x86_64                                                                                                                                                                                   10/10 

Installed:
  fdk-aac-2.0.0-3.el8.x86_64                       fdk-aac-devel-2.0.0-3.el8.x86_64          ocaml-4.11.1-0.1.2.rabe.x86_64                  ocaml-compiler-libs-4.11.1-0.1.2.rabe.x86_64        ocaml-csexp-1.3.2-0.1.2.rabe.x86_64          
  ocaml-csexp-devel-1.3.2-0.1.2.rabe.x86_64        ocaml-dune-2.7.1-0.1.2.rabe.x86_64        ocaml-dune-devel-2.7.1-0.1.2.rabe.x86_64        ocaml-findlib-1.8.1-0.1.2.rabe.x86_64               ocaml-runtime-4.11.1-0.1.2.rabe.x86_64       

Complete!
[root@dd916d343ef4 git]# 
[root@dd916d343ef4 git]# rpmbuild -ba ocaml-fdkaac.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.tspzRt
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
+ rm -rf ocaml-fdkaac-0.3.2
+ /usr/bin/gzip -dc /root/rpmbuild/SOURCES/ocaml-fdkaac-0.3.2.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd ocaml-fdkaac-0.3.2
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.bFJ76U
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd ocaml-fdkaac-0.3.2
+ dune build
         gcc src/fdkaac_stubs.o
In file included from /usr/lib64/ocaml/caml/custom.h:23,
                 from fdkaac_stubs.c:25:
fdkaac_stubs.c: In function 'ocaml_fdkaac_encode':
/usr/lib64/ocaml/caml/mlvalues.h:265:24: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define String_val(x) ((const char *) Bp_val(x))
                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
fdkaac_stubs.c:234:10: note: in expansion of macro 'String_val'
   memcpy(String_val(ret), outbuf, outArgs.numOutBytes);
          ^~~~~~~~~~
In file included from /usr/include/features.h:428,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-redhat-linux/8/include/stdint.h:9,
                 from /usr/lib64/ocaml/caml/config.h:61,
                 from /usr/lib64/ocaml/caml/mlvalues.h:22,
                 from /usr/lib64/ocaml/caml/custom.h:23,
                 from fdkaac_stubs.c:25:
/usr/include/bits/string_fortified.h:31:1: note: expected 'void * restrict' but argument is of type 'const char *'
 __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
 ^~~~~
In file included from /usr/lib64/ocaml/caml/custom.h:23,
                 from fdkaac_stubs.c:25:
fdkaac_stubs.c: In function 'ocaml_fdkaac_flush':
/usr/lib64/ocaml/caml/mlvalues.h:265:24: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 #define String_val(x) ((const char *) Bp_val(x))
                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
fdkaac_stubs.c:272:10: note: in expansion of macro 'String_val'
   memcpy(String_val(ret), outbuf, outArgs.numOutBytes);
          ^~~~~~~~~~
In file included from /usr/include/features.h:428,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-redhat-linux/8/include/stdint.h:9,
                 from /usr/lib64/ocaml/caml/config.h:61,
                 from /usr/lib64/ocaml/caml/mlvalues.h:22,
                 from /usr/lib64/ocaml/caml/custom.h:23,
                 from fdkaac_stubs.c:25:
/usr/include/bits/string_fortified.h:31:1: note: expected 'void * restrict' but argument is of type 'const char *'
 __NTH (memcpy (void *__restrict __dest, const void *__restrict __src,
 ^~~~~
Done: 69/72 (jobs: 1)+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.cwo7Mq
+ umask 022
+ cd /root/rpmbuild/BUILD
+ '[' /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64 '!=' / ']'
+ rm -rf /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64
++ dirname /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64
+ mkdir -p /root/rpmbuild/BUILDROOT
+ mkdir /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64
+ cd ocaml-fdkaac-0.3.2
++ ocamlfind printconf destdir
+ dune install --prefix /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64 --libdir /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/META
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/dune-package
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.a
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cma
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmi
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmt
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmti
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmx
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmxa
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.cmxs
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.ml
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/fdkaac.mli
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/libfdkaac_stubs.a
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/fdkaac/opam
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/doc/fdkaac/CHANGES
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/doc/fdkaac/README.md
Installing /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/stublibs/dllfdkaac_stubs.so
+ rm -rf /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/doc
+ /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 0.3.2-0.1.el8 --unique-debug-suffix -0.3.2-0.1.el8.x86_64 --unique-debug-src-base ocaml-fdkaac-0.3.2-0.1.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /root/rpmbuild/BUILD/ocaml-fdkaac-0.3.2
extracting debug info from /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/lib64/ocaml/stublibs/dllfdkaac_stubs.so
/usr/lib/rpm/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
15 blocks
+ '[' '%{buildarch}' = noarch ']'
+ QA_CHECK_RPATHS=1
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
/sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /etc/ld.so.conf: No such file or directory
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile '' 1
+ /usr/lib/rpm/brp-python-hardlink
+ PYTHON3=/usr/libexec/platform-python
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
Processing files: ocaml-fdkaac-0.3.2-0.1.el8.x86_64
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.teNJ2Y
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd ocaml-fdkaac-0.3.2
+ DOCDIR=/root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/doc/ocaml-fdkaac
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/doc/ocaml-fdkaac
+ cp -pr README.md /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/doc/ocaml-fdkaac
+ cp -pr CHANGES /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/doc/ocaml-fdkaac
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.2kRowx
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd ocaml-fdkaac-0.3.2
+ LICENSEDIR=/root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/licenses/ocaml-fdkaac
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/licenses/ocaml-fdkaac
+ cp -pr COPYING /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64/usr/share/licenses/ocaml-fdkaac
+ exit 0
Provides: ocaml(Fdkaac) = 872fac0de691c8c51a5e63054de1eb78 ocaml(Fdkaac_dynlink) ocaml-fdkaac = 0.3.2-0.1.el8 ocaml-fdkaac(x86-64) = 0.3.2-0.1.el8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.4)(64bit) libfdk-aac.so.2()(64bit) ocaml(CamlinternalFormatBasics) = 3a3ca1838627f7762f49679ce0278ad1 ocaml(Stdlib) = c21c5d26416461b543321872a551ea0d ocaml(Stdlib__buffer) = 234b61fa3906003822205287eb65a481 ocaml(Stdlib__callback) = 1b88fbd71c9cf564eb0790c5709a779a ocaml(Stdlib__char) = cdee48235b2dbc08f40a0e2ec3824bc5 ocaml(Stdlib__printexc) = 6e03ab07ea296513ab6af44b09129348 ocaml(Stdlib__seq) = d6a8de25c9eecf5ae9420a9f3f8b2e88 ocaml(Stdlib__string) = 9d02da014acaf1dfdd63872e707eaed9 ocaml(Stdlib__uchar) = ab6f1df93abf9e800a3e0d1543523c96 ocaml(runtime) = 4.11.1 rtld(GNU_HASH)
Processing files: ocaml-fdkaac-devel-0.3.2-0.1.el8.x86_64
Provides: ocaml(Fdkaac) = 872fac0de691c8c51a5e63054de1eb78 ocaml-fdkaac-devel = 0.3.2-0.1.el8 ocaml-fdkaac-devel(x86-64) = 0.3.2-0.1.el8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: ocaml(CamlinternalFormatBasics) = 3a3ca1838627f7762f49679ce0278ad1 ocaml(Stdlib) = c21c5d26416461b543321872a551ea0d ocaml(Stdlib__buffer) = 234b61fa3906003822205287eb65a481 ocaml(Stdlib__callback) = 1b88fbd71c9cf564eb0790c5709a779a ocaml(Stdlib__char) = cdee48235b2dbc08f40a0e2ec3824bc5 ocaml(Stdlib__printexc) = 6e03ab07ea296513ab6af44b09129348 ocaml(Stdlib__seq) = d6a8de25c9eecf5ae9420a9f3f8b2e88 ocaml(Stdlib__string) = 9d02da014acaf1dfdd63872e707eaed9 ocaml(Stdlib__uchar) = ab6f1df93abf9e800a3e0d1543523c96 ocaml(runtime) = 4.11.1
Processing files: ocaml-fdkaac-debugsource-0.3.2-0.1.el8.x86_64
Provides: ocaml-fdkaac-debugsource = 0.3.2-0.1.el8 ocaml-fdkaac-debugsource(x86-64) = 0.3.2-0.1.el8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: ocaml-fdkaac-debuginfo-0.3.2-0.1.el8.x86_64
Provides: debuginfo(build-id) = 7702767bd6bf01fdcdac344b20c0de7cbe174167 ocaml-fdkaac-debuginfo = 0.3.2-0.1.el8 ocaml-fdkaac-debuginfo(x86-64) = 0.3.2-0.1.el8
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: ocaml-fdkaac-debugsource(x86-64) = 0.3.2-0.1.el8
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64
Wrote: /root/rpmbuild/SRPMS/ocaml-fdkaac-0.3.2-0.1.el8.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ocaml-fdkaac-0.3.2-0.1.el8.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ocaml-fdkaac-devel-0.3.2-0.1.el8.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ocaml-fdkaac-debugsource-0.3.2-0.1.el8.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/ocaml-fdkaac-debuginfo-0.3.2-0.1.el8.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.Z1YUt9
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd ocaml-fdkaac-0.3.2
+ /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/ocaml-fdkaac-0.3.2-0.1.el8.x86_64
+ exit 0
[root@dd916d343ef4 git]# exit

After this the binaries are in ./RPMS.

@tzumbrunnen
Copy link
Author

tzumbrunnen commented Dec 6, 2020

Thank you very much for your transparency and these helpful instructions.
I tried to build the RPM's on my Build Server, with partial success. The RPM Build worked so far :

 rw-r--r-- 1 root root 83744 Dec  6 11:21 ocaml-fdkaac-0.3.2-0.1.el8.x86_64.rpm
-rw-r--r-- 1 root root 50524 Dec  6 11:21 ocaml-fdkaac-devel-0.3.2-0.1.el8.x86_64.rpm
-rw-r--r-- 1 root root  9608 Dec  6 11:21 ocaml-fdkaac-debugsource-0.3.2-0.1.el8.x86_64.rpm
drwxr-xr-x 2 root root   214 Dec  6 11:21 .
-rw-r--r-- 1 root root 19184 Dec  6 11:21 ocaml-fdkaac-debuginfo-0.3.2-0.1.el8.x86_64.rpm

After installing the rpm's I tested the loading of the dynamic fdkaac encoder w/o success so far. I received the following message :

[liquidsoap@centos8 fdkaac]$ liquidsoap -v 'out(sine())'
2020/12/06 11:41:21 >>> LOG START
2020/12/06 11:41:21 [main:3] Liquidsoap 1.4.3
2020/12/06 11:41:21 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.2.3 sedlex=2.1 menhirLib=20200624 dtools=0.4.2 duppy=0.9.0 cry=0.6.5 mm=0.5.0 xmlplaylist=0.1.4 ogg=0.5.2 vorbis=0.7.1 opus=0.1.3 speex=0.2.1 mad=0.4.5 flac=0.1.7 flac.ogg=0.1.7 dynlink=[distributed with Ocaml] lame=0.3.4 theora=0.3.1 bjack=0.1.5 alsa=0.2.3 samplerate=0.1.4 taglib=0.3.6 ssl=0.5.9 magic=0.7.3 camomile=[unspecified] inotify=2.3 yojson=1.7.0 soundtouch=0.1.8 ladspa=0.1.5
2020/12/06 11:41:21 [dynamic.loader:3] Error while loading dynamic fdkaac encoder at /usr/lib64/ocaml/fdkaac
2020/12/06 11:41:21 [dynamic.loader:3] error loading shared library: Dynlink.Error (Dynlink.Not_a_bytecode_file "/usr/lib64/ocaml/fdkaac/fdkaac_loader.cmxs")
2020/12/06 11:41:21 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.

I checked everything in /usr/lib64/ocaml/fdkaac and it looked good.
Maybe I might missed something while building & installing the code. Do you have any ideas ?

Beside that, it just came to my mind that by using %ffmpeg someone could get rid of this procedure. just as a last resort, worth to test and compare if we could achieve the same stream quality. As of the LS documentation the configuration would looks like this:

%ffmpeg(format="mpegts",
        %audio(codec="libfdk_aac",samplerate=22050,b="32k",
               afterburner=1,profile="aac_he_v2"))

@hairmare
Copy link
Member

hairmare commented Dec 6, 2020

I can reproduce that it's not working but I'm not sure why :(

dune is building a .cma and there is a properly linked .cmxs.

# ldd /usr/lib64/ocaml/fdkaac/fdkaac.cmxs 
	linux-vdso.so.1 (0x00007ffda23b4000)
	libfdk-aac.so.2 => /usr/lib64/fdk-aac/libfdk-aac.so.2 (0x00007f6d61372000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f6d60fb0000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f6d60c2e000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f6d618c1000)

Liquidsoap is clearly trying to load something, but I'm not sure why it won't find the library. So far debugging with strace and ldd has not yielded any meaningful results.

The %ffmpeg approach won't work right now because it isn't enabled in the build.

I've been working on bootrapping ffmpeg on OBS in preparation for inline ffmepg support for a while and finally got working packages built this weekend. It looks like %ffmpeg support might be possible soonish.

@hairmare
Copy link
Member

The latest package now supports ffmpeg (and depends on rpmfusion's ffmepg packages), so you might wat to give the ffmepg approach a real try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants