From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: Can't find libid3tag when updating mpd Date: Tue, 13 Apr 2021 19:43:55 +0100 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============7149411171162451837==" List-Id: --===============7149411171162451837== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, > On 12 Apr 2021, at 12:11, Adolf Belka wrote: >=20 > Hi >=20 > On 12/04/2021 11:44, Michael Tremer wrote: >> Hello, >> Okay this works, but it is very concerning that libid3tag has not been upd= ated in such a long time. > Yes, I felt the same when I found out how old it was. >=20 > There are some alternatives such as id3lib which appear to be actively work= ed on. What I don't know is if it will work with the mpd player in IPFire. >=20 > I could experiment to find out if it works but someone would need to be abl= e to test it. Don't know if I could get audio in my VirtualBox vm testbed. > Also based on the recent monthly conf calls agenda item on purifying IPFire= would this be an application that will stay in the list longer term anyway. = A music player on a firewall seems a bit weird to me anyway. Yes, I would like to remove this, too. > Let me know if I should have a go at trying to build id3lib and use it with= mpd. I guess we can hold off until we know if any of this will be included for muc= h longer. But there are plenty of other packages that belong on a firewall th= at might need an update, or do you have none left? :) -Michael >=20 > Regards, > Adolf. >> I generally do not want to ship any software that is no longer maintained = upstream because we will just accumulate more and more work that we will have= to do ourselves or simply let it all rod. >> Best, >> -Michael >>> On 9 Apr 2021, at 16:53, Adolf Belka wrote: >>>=20 >>> Hi All, >>>=20 >>> On 09/04/2021 13:40, Adolf Belka wrote: >>>> Hi >>>>=20 >>>> On 09/04/2021 12:45, Michael Tremer wrote: >>>>> Hello, >>>>>=20 >>>>> Oh the wonders of all these hipster build systems... >>>> Yep >>>>>=20 >>>>>> On 8 Apr 2021, at 13:25, Adolf Belka wrote: >>>>>>=20 >>>>>> Hi All, >>>>>>=20 >>>>>> I am trying to update mpd. They no longer use autotools but now use me= son. I updated the lfs file to use meson with the same options that were prev= iously run with autotools. >>>>>>=20 >>>>>> When the build gets to the id3tag it fails to find it. I is earlier in= the build sequence and would also have been needed for the previous autotool= s version. >>>>>>=20 >>>>>> The log I get is attached below followed by the lfs file I am using. >>>>>>=20 >>>>>> If I remove the id3tag line then everything else in mpd builds success= fully. If I run ./make.sh shell and extract the source into /tmp and then do = the meson build I get the same result. I tried pkg-config --modversion libid3= tag and it came back blank so pkg-config couldn't find it. >>>>>=20 >>>>> Did you try updating libid3tag? >>>> I did look at it but the current available version is libid3tag-0.15.1b = from 2004 which is what is currently in IPFire. >>>>=20 >>> I found a solution. As the libid3tag package is 17 years old it does not = have any pkgconfig file available. Arch Linux solved this by creating their o= wn and I used theirs with some fine tuning for IPFire and installed it as par= t of the lfs build and it worked. The meson build of mpd now finds libid3tag = and successfully builds. I just need to sort out the rootfiles now and rerun = the build and I should have a working update build to submit as a patch. >>>=20 >>> Regards, >>>=20 >>> Adolf. >>>=20 >>>> Regards >>>> Adolf >>>>>=20 >>>>>> If I extract the file in my desktop system and run the meson build it = successfully completes also for the id3tag. libid3tag is installed on my arch= linux desktop system. >>>>>>=20 >>>>>> It seems like the build is failing to find the IPFire libid3tag librar= y file successfully. Is there some additional entry of flag that I need to se= t for the libid3tag files to be found? >>>>>>=20 >>>>>>=20 >>>>>> ----------------------------------------------------------------------= ---- >>>>>>=20 >>>>>>=20 >>>>>> Apr 5 19:58:59: Building mpd mpd-0.22.6.tar.xz checksum OK >>>>>> + cd /usr/src/lfs >>>>>> + make -f mpd LFS_BASEDIR=3D/usr/src install >>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Installing mpd-0.22.6 ... >>>>>> Install started; saving file list to /usr/src/lsalr ... >>>>>> cd /usr/src/mpd-0.22.6 && meson --prefix=3D/usr \ >>>>>> --sysconfdir=3D/etc \ >>>>>> --libdir=3D/usr/lib \ >>>>>> -D ipv6=3Ddisabled \ >>>>>> -D sqlite=3Ddisabled \ >>>>>> -D smbclient=3Ddisabled \ >>>>>> -D id3tag=3Denabled \ >>>>>> -D vorbis=3Denabled \ >>>>>> -D expat=3Denabled \ >>>>>> -D ffmpeg=3Denabled \ >>>>>> -D flac=3Denabled \ >>>>>> -D lame=3Denabled \ >>>>>> -D upnp=3Denabled \ >>>>>> -D icu=3Ddisabled \ >>>>>> builddir/ >>>>>> The Meson build system >>>>>> Version: 0.56.0 >>>>>> Source dir: /usr/src/mpd-0.22.6 >>>>>> Build dir: /usr/src/mpd-0.22.6/builddir >>>>>> Build type: native build >>>>>> WARNING: Unknown options: "c_std, cpp_std" >>>>>> The value of new options can be set with: >>>>>> meson setup --reconfigure -Dnew_option=3Dnew_value ... >>>>>> Project name: mpd >>>>>> Project version: 0.22.6 >>>>>> Using 'CFLAGS' from environment with value: '-O2 -pipe -Wall -fexcepti= ons -fPIC -m64 -mtune=3Dgeneric -fstack-clash-protection -fcf-protection -Wp,= -D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong' >>>>>> C compiler for the host machine: ccache cc (gcc 10.2.0 "cc (GCC) 10.2.= 0") >>>>>> C linker for the host machine: cc ld.bfd 2.35.1 >>>>>> Using 'CXXFLAGS' from environment with value: '-O2 -pipe -Wall -fexcep= tions -fPIC -m64 -mtune=3Dgeneric -fstack-clash-protection -fcf-protection -W= p,-D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong' >>>>>> C++ compiler for the host machine: ccache c++ (gcc 10.2.0 "c++ (GCC) 1= 0.2.0") >>>>>> C++ linker for the host machine: c++ ld.bfd 2.35.1 >>>>>> Using 'CFLAGS' from environment with value: '-O2 -pipe -Wall -fexcepti= ons -fPIC -m64 -mtune=3Dgeneric -fstack-clash-protection -fcf-protection -Wp,= -D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong' >>>>>> Using 'CXXFLAGS' from environment with value: '-O2 -pipe -Wall -fexcep= tions -fPIC -m64 -mtune=3Dgeneric -fstack-clash-protection -fcf-protection -W= p,-D_FORTIFY_SOURCE=3D2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong' >>>>>> Host machine cpu family: x86_64 >>>>>> Host machine cpu: x86_64 >>>>>> Configuring Version.h using configuration >>>>>> Compiler for C++ supports arguments -Wvla: YES >>>>>> Compiler for C++ supports arguments -Wdouble-promotion: YES >>>>>> Compiler for C++ supports arguments -fvisibility=3Dhidden: YES >>>>>> Compiler for C++ supports arguments -ffast-math: YES >>>>>> Compiler for C++ supports arguments -ftree-vectorize: YES >>>>>> Compiler for C++ supports arguments -fno-threadsafe-statics: YES >>>>>> Compiler for C++ supports arguments -fmerge-all-constants: YES >>>>>> Compiler for C++ supports arguments -Wmissing-declarations: YES >>>>>> Compiler for C++ supports arguments -Wshadow: YES >>>>>> Compiler for C++ supports arguments -Wpointer-arith: YES >>>>>> Compiler for C++ supports arguments -Wcast-qual: YES >>>>>> Compiler for C++ supports arguments -Wwrite-strings: YES >>>>>> Compiler for C++ supports arguments -Wsign-compare: YES >>>>>> Compiler for C++ supports arguments -Wcomma: NO >>>>>> Compiler for C++ supports arguments -Wextra-semi: YES >>>>>> Compiler for C++ supports arguments -Wheader-hygiene: NO >>>>>> Compiler for C++ supports arguments -Winconsistent-missing-destructor-= override: NO >>>>>> Compiler for C++ supports arguments -Wunreachable-code-break: NO >>>>>> Compiler for C++ supports arguments -Wunused: YES >>>>>> Compiler for C++ supports arguments -Wused-but-marked-unused: NO >>>>>> Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES >>>>>> Compiler for C supports arguments -Wvla: YES >>>>>> Compiler for C supports arguments -Wdouble-promotion: YES >>>>>> Compiler for C supports arguments -fvisibility=3Dhidden: YES >>>>>> Compiler for C supports arguments -ffast-math: YES >>>>>> Compiler for C supports arguments -ftree-vectorize: YES >>>>>> Compiler for C supports arguments -Wmissing-prototypes: YES >>>>>> Compiler for C supports arguments -Wshadow: YES >>>>>> Compiler for C supports arguments -Wpointer-arith: YES >>>>>> Compiler for C supports arguments -Wstrict-prototypes: YES >>>>>> Compiler for C supports arguments -Wcast-qual: YES >>>>>> Compiler for C supports arguments -Wwrite-strings: YES >>>>>> Compiler for C supports arguments -pedantic: YES >>>>>> Compiler for C++ supports link arguments -Wl,-z,relro: YES >>>>>> Compiler for C++ supports link arguments -Wl,-z,now: YES >>>>>> Checking for function "getpwnam_r" : YES >>>>>> Checking for function "getpwuid_r" : YES >>>>>> Checking for function "initgroups" : YES >>>>>> Checking for function "fnmatch" : YES >>>>>> Checking for function "strndup" : YES >>>>>> Checking for function "strcasestr" : YES >>>>>> Checking for function "syslog" : YES >>>>>> Found pkg-config: /usr/bin/pkg-config (0.29.2) >>>>>> Run-time dependency Boost found: YES 1.71.0 (/usr) >>>>>> Found CMake: /usr/bin/cmake (3.18.3) >>>>>> Run-time dependency liburing found: NO (tried pkgconfig and cmake) >>>>>> Configuring Features.h using configuration >>>>>> Run-time dependency threads found: YES >>>>>> Checking for function "pthread_setname_np" with dependency threads: YES >>>>>> Header has symbol "struct ucred" : YES >>>>>> Header has symbol "SO_PEERCRED" : YES >>>>>> Checking for function "getpeereid" : NO >>>>>> Run-time dependency dbus-1 found: YES 1.12.20 >>>>>> Dependency icu-i18n skipped: feature icu disabled >>>>>> Checking for function "iconv" : YES >>>>>> Dependency smbclient skipped: feature smbclient disabled >>>>>> Run-time dependency zlib found: YES 1.2.11 >>>>>> Run-time dependency alsa found: YES 1.0.27.1 >>>>>> Run-time dependency libchromaprint found: NO (tried pkgconfig and cmak= e) >>>>>> Run-time dependency libcurl found: YES 7.75.0 >>>>>> Run-time dependency expat found: YES 2.2.0 >>>>>> Run-time dependency libavformat found: YES 58.29.100 >>>>>> Run-time dependency libavcodec found: YES 58.54.100 >>>>>> Run-time dependency libavutil found: YES 56.31.100 >>>>>> Run-time dependency libavfilter found: YES 7.57.100 >>>>>> Run-time dependency libnfs found: NO (tried pkgconfig and cmake) >>>>>> Run-time dependency libpcre found: YES 8.44 >>>>>> Run-time dependency libpulse found: NO (tried pkgconfig and cmake) >>>>>> Library sndio found: NO >>>>>> Dependency sqlite3 skipped: feature sqlite disabled >>>>>> Run-time dependency libsystemd found: NO (tried pkgconfig and cmake) >>>>>> Run-time dependency libupnp found: YES 1.14.3 >>>>>> Run-time dependency yajl found: NO (tried pkgconfig and cmake) >>>>>> Run-time dependency id3tag found: NO (tried pkgconfig and cmake) >>>>>>=20 >>>>>> src/tag/meson.build:40:0: ERROR: Dependency "id3tag" not found, tried = pkgconfig and cmake >>>>>>=20 >>>>>> A full log can be found at /usr/src/mpd-0.22.6/builddir/meson-logs/mes= on-log.txt >>>>>> make: *** [mpd:81: /usr/src/log/mpd-0.22.6] Error 1 >>>>>>=20 >>>>>>=20 >>>>>> ----------------------------------------------------------------------= ---- >>>>>>=20 >>>>>>=20 >>>>>> ######################################################################= ######### >>>>>> # # >>>>>> # IPFire.org - A linux based firewall = # >>>>>> # Copyright (C) 2007-2018 IPFire Team = # >>>>>> # # >>>>>> # This program is free software: you can redistribute it and/or modify= # >>>>>> # it under the terms of the GNU General Public License as published by= # >>>>>> # the Free Software Foundation, either version 3 of the License, or = # >>>>>> # (at your option) any later version. = # >>>>>> # # >>>>>> # This program is distributed in the hope that it will be useful, = # >>>>>> # but WITHOUT ANY WARRANTY; without even the implied warranty of = # >>>>>> # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the = # >>>>>> # GNU General Public License for more details. = # >>>>>> # # >>>>>> # You should have received a copy of the GNU General Public License = # >>>>>> # along with this program. If not, see = . # >>>>>> # # >>>>>> ######################################################################= ######### >>>>>>=20 >>>>>> ######################################################################= ######### >>>>>> # Definitions >>>>>> ######################################################################= ######### >>>>>>=20 >>>>>> include Config >>>>>>=20 >>>>>> VER =3D 0.22.6 >>>>>>=20 >>>>>> THISAPP =3D mpd-$(VER) >>>>>> DL_FILE =3D $(THISAPP).tar.xz >>>>>> DL_FROM =3D $(URL_IPFIRE) >>>>>> DIR_APP =3D $(DIR_SRC)/${THISAPP} >>>>>> TARGET =3D $(DIR_INFO)/$(THISAPP) >>>>>> PROG =3D mpd >>>>>> PAK_VER =3D 21 >>>>>>=20 >>>>>> DEPS =3D alsa avahi faad2 ffmpeg flac lame libmad libshout libog= g libid3tag libvorbis opus soxr >>>>>>=20 >>>>>> ######################################################################= ######### >>>>>> # Top-level Rules >>>>>> ######################################################################= ######### >>>>>>=20 >>>>>> objects =3D $(DL_FILE) >>>>>>=20 >>>>>> $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) >>>>>>=20 >>>>>> $(DL_FILE)_MD5 =3D 774a6250870730f3d55eb1445ab751dd >>>>>>=20 >>>>>> install : $(TARGET) >>>>>>=20 >>>>>> check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>>>>>=20 >>>>>> download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>>=20 >>>>>> md5 : $(subst %,%_MD5,$(objects)) >>>>>>=20 >>>>>> dist: >>>>>> @$(PAK) >>>>>>=20 >>>>>> ######################################################################= ######### >>>>>> # Downloading, checking, md5sum >>>>>> ######################################################################= ######### >>>>>>=20 >>>>>> $(patsubst %,$(DIR_CHK)/%,$(objects)) : >>>>>> @$(CHECK) >>>>>>=20 >>>>>> $(patsubst %,$(DIR_DL)/%,$(objects)) : >>>>>> @$(LOAD) >>>>>>=20 >>>>>> $(subst %,%_MD5,$(objects)) : >>>>>> @$(MD5) >>>>>>=20 >>>>>> ######################################################################= ######### >>>>>> # Installation Details >>>>>> ######################################################################= ######### >>>>>>=20 >>>>>> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) >>>>>> @$(PREBUILD) >>>>>> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FIL= E) >>>>>> $(UPDATE_AUTOMAKE) >>>>>> cd $(DIR_APP) && meson --prefix=3D/usr \ >>>>>> --sysconfdir=3D/etc \ >>>>>> --libdir=3D/usr/lib \ >>>>>> -D ipv6=3Ddisabled \ >>>>>> -D sqlite=3Ddisabled \ >>>>>> -D smbclient=3Ddisabled \ >>>>>> -D id3tag=3Denabled \ >>>>>> -D vorbis=3Denabled \ >>>>>> -D expat=3Denabled \ >>>>>> -D ffmpeg=3Denabled \ >>>>>> -D flac=3Denabled \ >>>>>> -D lame=3Denabled \ >>>>>> -D upnp=3Denabled \ >>>>>> -D icu=3Ddisabled \ >>>>>> builddir/ >>>>>> cd $(DIR_APP) && ninja -C builddir/ >>>>>> cd $(DIR_APP) && ninja -C builddir/ install >>>>>>=20 >>>>>> #install initscripts >>>>>> $(call INSTALL_INITSCRIPT,mpd) >>>>>>=20 >>>>>> @rm -rf $(DIR_APP) >>>>>> touch /var/log/mpd.error.log >>>>>> touch /var/log/mpd.log >>>>>> @$(POSTBUILD) --===============7149411171162451837==--