Hi Michael,

On 07/10/2025 17:48, Michael Tremer wrote:
Hello Adolf,

Interesting question. I would assume that coreutils has a very extensive test 
suite that will catch any unintended changes in behaviour of any of the tools. 
I would also rule out that this is an intentional change. That might break a 
lot of stuff elsewhere.

I don’t quite understand why myMPD needs this trailing newline, but I would 
suggest to report upstream and see what they say about it.

Thanks for the suggestion. I did that and the developer there said he didn't 
understand why changes in coreutils would have caused the command used to 
respond differently.
However he also said that he thought the command could be constructed in a 
better way, which he did and I tested the patch and it worked. So a patch set 
for coreutils and mympd will be coming along.

Regards,

Adolf.



Best,
-Michael

On 6 Oct 2025, at 13:19, Adolf Belka <[email protected]> wrote:

Hi All,

For information. mympd fails to build when the latest version of coreutils 
(9.8) is used.

Looking at the failure message that occurs

-----------------------------------------

Oct  5 20:34:30: Building mympd make: Entering directory 
'/home/ahb/sandbox/ipfire-2-builder2/lfs'
make: Nothing to be done for 'download'.
make: Leaving directory '/home/ahb/sandbox/ipfire-2-builder2/lfs'
make: Entering directory '/usr/src/lfs'
myMPD-22.0.4.tar.gz checksum OK
====================================== Installing myMPD-22.0.4 ...
Install started; saving file list to /usr/src/lsalr ...
# Do not try to re-define _FORTIFY_SOURCE
cd /usr/src/myMPD-22.0.4 && sed -e "/D_FORTIFY_SOURCE/d" -i CMakeLists.txt
cd /usr/src/myMPD-22.0.4 && mkdir -p build
cd /usr/src/myMPD-22.0.4/build && cmake -Wno-dev \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 15.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /tools_x86_64/ccache/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
Cmake version: 4.1.1
Cmake src dir: /usr/src/myMPD-22.0.4
Cmake build dir: /usr/src/myMPD-22.0.4/build
Cmake build type: Release
Cmake generator: Unix Makefiles
Compiler: GNU 15.2.0
CMAKE_C_FLAGS: -O2 -g0 -pipe -Wall -fexceptions -fPIC -Wp,-U_FORTIFY_SOURCE 
-Wp,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong 
-fstack-clash-protection -m64 -mtune=generic -fcf-protection=full
CMAKE_EXE_LINKER_FLAGS:
Arch:
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2")
-- Found PCRE2: /usr/lib/libpcre2-8.so
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "3.5.1")
Searching for libid3tag
-- Found LIBID3TAG: /usr/lib/libid3tag.so
Searching for flac
-- Found FLAC: /usr/lib/libFLAC.so
Searching for lua
-- Found Lua: /usr/lib/liblua.so;/usr/lib/libm.so (found version "5.4.7")
Searching for libmygpio
-- Could NOT find LIBMYGPIO (missing: LIBMYGPIO_LIBRARY LIBMYGPIO_INCLUDE_DIR)
Compiling static version of libmygpio
Executables in: /usr/bin
Workdir: /var/lib/mympd
Cachedir: /var/cache/mympd
Embedding assets in binary
Creating assets in /usr/src/myMPD-22.0.4/build
Validating translation phrases
Creating i18n json
Minifying /usr/src/myMPD-22.0.4/build/htdocs/js/i18n.js
Creating version file
Minifying javascript
Creating mympd.js
Minifying htdocs/sw.js
Minifying /usr/src/myMPD-22.0.4/build/htdocs/js/mympd.js
Combining and compressing javascript
ERROR: dist/bootstrap-native/bootstrap-native.min.js don't end with 
newline character
CMake Error at CMakeLists.txt:198 (message):
  Creating assets failed


-- Configuring incomplete, errors occurred!
make: *** [mympd:87: /usr/src/log/myMPD-22.0.4] Error 1

-----------------------------------------

I found that the "Combining and compressing javascript comment is in the 
build.sh file in the top level of the mympd tarball.

In build.sh there is a section

-----------------------------------------
  echo "Combining and compressing javascript"
  echo "//${COPYRIGHT}" > "$MYMPD_BUILDDIR/htdocs/js/copyright.min.js"
  if [ "$MYMPD_MINIFY_JS" = "0" ]
  then
    JSFILES="dist/bootstrap-native/bootstrap-native.js 
dist/long-press-event/long-press-event.js"
  else
    JSFILES="dist/bootstrap-native/bootstrap-native.min.js 
dist/long-press-event/long-press-event.min.js"
  fi
  JSFILES="$JSFILES $MYMPD_BUILDDIR/htdocs/js/*.min.js"
  for F in $JSFILES
  do
    if tail -1 "$F" | perl -npe 'exit 1 if m/\n/; exit 0'
    then
      echo_error "$F don't end with newline character"
      exit 1
    fi
  done
-----------------------------------------

and this has the error message that is shown. The file mentioned just has a 
single line of the js code.

This section uses the tail command and that command is one that has had 25 
commits applied to it in coreutils-9.8

I am not sure if this error is due to a problem in mympd or if there are errors 
in mympd which are now being flagged up by the updated coreutils.

I have not been able to find any mention of this issue currently.

I also tested it with the latest version of mympd (22.1.0) but that also ended 
up with the same error message.

Regards,

Adolf.





Reply via email to