RFR: 8333326: Linux Alpine build fails after 8302744

David Holmes dholmes at openjdk.org
Sat Jun 1 06:00:03 UTC 2024


On Fri, 31 May 2024 10:29:29 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

> we run into a basename related build issue on Alpine Linux
> 
> basename related issue :
> /priv/jenkins/client-home/workspace/openjdk-jdk-dev-linux_alpine_x86_64-opt/jdk/test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp: In member function 'virtual void cgroupTest_read_numerical_key_value_success_cases_Test::TestBody()':
> /priv/jenkins/client-home/workspace/openjdk-jdk-dev-linux_alpine_x86_64-opt/jdk/test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp:139:19: error: 'basename' was not declared in this scope; did you mean 'rename'?
>   139 | const char* b = basename(test_file);
>       | ^~~~~~~~
>       | rename
> 
> 
> Additionally giving a 'const char*'  to basename results in a warning as error because basename interface gets a char* .

test/hotspot/gtest/runtime/test_cgroupSubsystem_linux.cpp line 39:

> 37: #ifdef MUSL_LIBC
> 38: #include <libgen.h> // for basename
> 39: #endif

Does glibc provide its own definition of `basename`? From what I can see on Linux `man -s 3 basename` shows:

SYNOPSIS
       #include <libgen.h>
..
       char *basename(char *path);

which seems to be the same as what you now have for MUSL-C. ???

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19497#discussion_r1623156061


More information about the hotspot-runtime-dev mailing list