diff --git a/internal/config/config.go b/internal/config/config.go index 33b8ba4d..971a5f4c 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -128,7 +128,12 @@ func GetDefault() (*Config, error) { } func getLdConfigPath() string { - return NormalizeLDConfigPath("@/sbin/ldconfig") + filePath := "/sbin/ldconfig" + fileInfo, err := os.Lstat(filePath) + if err != nil || fileInfo.Mode()&os.ModeSymlink != 0 { + filePath = "@/sbin/ldconfig" + } + return NormalizeLDConfigPath(filePath) } func getUserGroup() string { diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 0873ebd2..94c4a1ee 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -308,8 +308,9 @@ func TestGetConfig(t *testing.T) { // We first handle the ldconfig path since this is currently system-dependent. if tc.inspectLdconfig { ldconfig := cfg.NVIDIAContainerCLIConfig.Ldconfig - require.True(t, strings.HasPrefix(ldconfig, "@/sbin/ldconfig")) - remaining := strings.TrimPrefix(ldconfig, "@/sbin/ldconfig") + relLdconfig := getLdConfigPath() + require.True(t, strings.HasPrefix(ldconfig, relLdconfig)) + remaining := strings.TrimPrefix(ldconfig, relLdconfig) require.True(t, remaining == ".real" || remaining == "") cfg.NVIDIAContainerCLIConfig.Ldconfig = "WAS_CHECKED"