Hello everyone,

building util-linux with ptxdist [1] here.  After switching to meson
build [2], compiling util-linux fails with OSELAS.Toolchain-2020.08.0
which contains gcc-10.2.1 and glibc-2.32.  Building for architecture
arm-v5te-linux-gnueabi here, console output below.

Autotools build was fine.  Build with a more recent toolchain
(OSELAS.Toolchain-2023.07, gcc 13.2.1, glibc 2.37) is successful.

From looking at the linker options I suspect -lutil missing?
According to manpage that's a BSD function present in glibc.
I suspect a change in glibc 2.34 integrating libutil in core glibc,
which makes it work with recent version 2.37.  So this is probably a
flaw in meson build not setting the necessary linker options for glibc
up to 2.33?  Could anyone point me how to fix this or does anyone by
chance already have a patch for this?  (Disclaimer: I have zero
experience with meson.)

    % p -v -j1 compile util-linux
    
    --------------------------
    target: util-linux.compile
    --------------------------
    
    ptxdist: executing: 
PATH=/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-cross/usr/bin:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-cross/usr/sbin:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-host/usr/lib/wrapper:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-host/usr/bin:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-host/usr/sbin:/home/adahl/Work/bsp/thorsis/ncl/tmp/selected_toolchain:/usr/local/lib/ptxdist-2024.05.0/bin:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-host/usr/bin:/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-host/usr/sbin:/home/adahl/Work/bsp/thorsis/ncl/tmp/selected_toolchain:/usr/local/lib/ptxdist-2024.04.0/bin:/home/adahl/bin:/home/adahl/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/games
 HTTPS_PROXY=PTXDIST-UNALLOWED-DOWNLOAD HTTP_PROXY=PTXDIST-UNALLOWED-DOWNLOAD 
https_proxy=PTXDIST-UNALLOWED-DOWNLOAD http_proxy=PTXDIST-UNALLOWED-DOWNLOAD 
PKGCONFIG_WHITELIST_HOST='' PKGCONFIG_WHITELIST_TARGET='' 
PKGCONFIG_WHITELIST_SRC='util-linux' 
SYSROOT='/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/sysroot-target' V=1 
VERBOSE=1 LC_ALL='C.utf8' KBUILD_BUILD_TIMESTAMP=2020-08-01T00:00:00+00:00 
KBUILD_BUILD_USER=ptxdist KBUILD_BUILD_HOST=ptxdist  ninja -C 
/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/build-target/util-linux-2.40.2-build
 -v  -j1 
    
    ninja: Entering directory 
`/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/build-target/util-linux-2.40.2-build'
    [1/75] arm-v5te-linux-gnueabi-gcc  -o test_pty 
test_pty.p/lib_pty-session.c.o test_pty.p/lib_monotonic.c.o -Wl,--as-needed 
-Wl,--no-undefined -Wl,--start-group lib/libcommon.a -lm -lrt -Wl,--end-group
    FAILED: test_pty 
    arm-v5te-linux-gnueabi-gcc  -o test_pty test_pty.p/lib_pty-session.c.o 
test_pty.p/lib_monotonic.c.o -Wl,--as-needed -Wl,--no-undefined 
-Wl,--start-group lib/libcommon.a -lm -lrt -Wl,--end-group
    
/opt/OSELAS.Toolchain-2020.08.0/arm-v5te-linux-gnueabi/gcc-10.2.1-glibc-2.32-binutils-2.35-kernel-5.8-sanitized/lib/gcc/arm-v5te-linux-gnueabi/10.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
 test_pty.p/lib_pty-session.c.o: in function `ul_pty_setup':
    
platform-ncl/build-target/util-linux-2.40.2-build/../util-linux-2.40.2/lib/pty-session.c:198:
 undefined reference to `openpty'
    
/opt/OSELAS.Toolchain-2020.08.0/arm-v5te-linux-gnueabi/gcc-10.2.1-glibc-2.32-binutils-2.35-kernel-5.8-sanitized/lib/gcc/arm-v5te-linux-gnueabi/10.2.1/../../../../arm-v5te-linux-gnueabi/bin/ld:
 
platform-ncl/build-target/util-linux-2.40.2-build/../util-linux-2.40.2/lib/pty-session.c:188:
 undefined reference to `openpty'
    collect2: error: ld returned 1 exit status
    ninja: build stopped: subcommand failed.
    make: *** 
[/usr/local/lib/ptxdist-2024.05.0/rules/post/ptxd_make_world_compile.make:20: 
/home/adahl/Work/bsp/thorsis/ncl/tmp/platform-ncl/state/util-linux.compile] 
Error 1

Greets
Alex

[1] https://www.ptxdist.org/
[2] 
https://git.pengutronix.de/cgit/ptxdist/commit/?id=18c9c0f89c4148f3007b9fcc7833d99af60084dc

Reply via email to