From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: Can't find libid3tag when updating mpd Date: Mon, 12 Apr 2021 13:11:04 +0200 Message-ID: In-Reply-To: <0DB88ADD-E25D-471F-9776-9D6638C5DDF2@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8506983753473276933==" List-Id: --===============8506983753473276933== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi On 12/04/2021 11:44, Michael Tremer wrote: > Hello, >=20 > Okay this works, but it is very concerning that libid3tag has not been upda= ted in such a long time. Yes, I felt the same when I found out how old it was. There are some alternatives such as id3lib which appear to be actively worked= on. What I don't know is if it will work with the mpd player in IPFire. I could experiment to find out if it works but someone would need to be able = 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 w= ould 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. Let me know if I should have a go at trying to build id3lib and use it with m= pd. Regards, Adolf. >=20 > I generally do not want to ship any software that is no longer maintained u= pstream because we will just accumulate more and more work that we will have = to do ourselves or simply let it all rod. >=20 > Best, > -Michael >=20 >> On 9 Apr 2021, at 16:53, Adolf Belka wrote: >> >> Hi All, >> >> On 09/04/2021 13:40, Adolf Belka wrote: >>> Hi >>> >>> On 09/04/2021 12:45, Michael Tremer wrote: >>>> Hello, >>>> >>>> Oh the wonders of all these hipster build systems... >>> Yep >>>> >>>>> On 8 Apr 2021, at 13:25, Adolf Belka wrote: >>>>> >>>>> Hi All, >>>>> >>>>> I am trying to update mpd. They no longer use autotools but now use mes= on. I updated the lfs file to use meson with the same options that were previ= ously run with autotools. >>>>> >>>>> 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 autotools= version. >>>>> >>>>> The log I get is attached below followed by the lfs file I am using. >>>>> >>>>> If I remove the id3tag line then everything else in mpd builds successf= ully. If I run ./make.sh shell and extract the source into /tmp and then do t= he meson build I get the same result. I tried pkg-config --modversion libid3t= ag and it came back blank so pkg-config couldn't find it. >>>> >>>> Did you try updating libid3tag? >>> I did look at it but the current available version is libid3tag-0.15.1b f= rom 2004 which is what is currently in IPFire. >>> >> I found a solution. As the libid3tag package is 17 years old it does not h= ave any pkgconfig file available. Arch Linux solved this by creating their ow= n and I used theirs with some fine tuning for IPFire and installed it as part= of the lfs build and it worked. The meson build of mpd now finds libid3tag a= nd successfully builds. I just need to sort out the rootfiles now and rerun t= he build and I should have a working update build to submit as a patch. >> >> Regards, >> >> Adolf. >> >>> Regards >>> Adolf >>>> >>>>> If I extract the file in my desktop system and run the meson build it s= uccessfully completes also for the id3tag. libid3tag is installed on my arch = linux desktop system. >>>>> >>>>> It seems like the build is failing to find the IPFire libid3tag library= file successfully. Is there some additional entry of flag that I need to set= for the libid3tag files to be found? >>>>> >>>>> >>>>> -----------------------------------------------------------------------= --- >>>>> >>>>> >>>>> 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 -fexceptio= ns -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 -fexcept= ions -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 c++ (gcc 10.2.0 "c++ (GCC) 10= .2.0") >>>>> C++ linker for the host machine: c++ ld.bfd 2.35.1 >>>>> Using 'CFLAGS' from environment with value: '-O2 -pipe -Wall -fexceptio= ns -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 -fexcept= ions -fPIC -m64 -mtune=3Dgeneric -fstack-clash-protection -fcf-protection -Wp= ,-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-o= verride: 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 cmake) >>>>> 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) >>>>> >>>>> src/tag/meson.build:40:0: ERROR: Dependency "id3tag" not found, tried p= kgconfig and cmake >>>>> >>>>> A full log can be found at /usr/src/mpd-0.22.6/builddir/meson-logs/meso= n-log.txt >>>>> make: *** [mpd:81: /usr/src/log/mpd-0.22.6] Error 1 >>>>> >>>>> >>>>> -----------------------------------------------------------------------= --- >>>>> >>>>> >>>>> #######################################################################= ######## >>>>> # # >>>>> # 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 .= # >>>>> # # >>>>> #######################################################################= ######## >>>>> >>>>> #######################################################################= ######## >>>>> # Definitions >>>>> #######################################################################= ######## >>>>> >>>>> include Config >>>>> >>>>> VER =3D 0.22.6 >>>>> >>>>> 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 >>>>> >>>>> DEPS =3D alsa avahi faad2 ffmpeg flac lame libmad libshout libogg= libid3tag libvorbis opus soxr >>>>> >>>>> #######################################################################= ######## >>>>> # Top-level Rules >>>>> #######################################################################= ######## >>>>> >>>>> objects =3D $(DL_FILE) >>>>> >>>>> $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) >>>>> >>>>> $(DL_FILE)_MD5 =3D 774a6250870730f3d55eb1445ab751dd >>>>> >>>>> install : $(TARGET) >>>>> >>>>> check : $(patsubst %,$(DIR_CHK)/%,$(objects)) >>>>> >>>>> download :$(patsubst %,$(DIR_DL)/%,$(objects)) >>>>> >>>>> md5 : $(subst %,%_MD5,$(objects)) >>>>> >>>>> dist: >>>>> @$(PAK) >>>>> >>>>> #######################################################################= ######## >>>>> # Downloading, checking, md5sum >>>>> #######################################################################= ######## >>>>> >>>>> $(patsubst %,$(DIR_CHK)/%,$(objects)) : >>>>> @$(CHECK) >>>>> >>>>> $(patsubst %,$(DIR_DL)/%,$(objects)) : >>>>> @$(LOAD) >>>>> >>>>> $(subst %,%_MD5,$(objects)) : >>>>> @$(MD5) >>>>> >>>>> #######################################################################= ######## >>>>> # Installation Details >>>>> #######################################################################= ######## >>>>> >>>>> $(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 >>>>> >>>>> #install initscripts >>>>> $(call INSTALL_INITSCRIPT,mpd) >>>>> >>>>> @rm -rf $(DIR_APP) >>>>> touch /var/log/mpd.error.log >>>>> touch /var/log/mpd.log >>>>> @$(POSTBUILD) >=20 --===============8506983753473276933==--