Skip to content

Conversation

alios
Copy link

@alios alios commented Jul 14, 2025

Problem

ecasound is configured by search a given list of prefix for essential files to derive CPPFLAGS, LIBS and INCLUDE_DIR as there is no pkg-config support for it.

A comment from configure.ac deocuments this

dnl Checking for libecasoundc. It does not provide pkg-config and installs
dnl on some systems to non-standard path /usr/include/libecasoundc

But on systems where things are installed in non default prefixes (f.e. nixos where everyhing is stored under /nix) this does not work.

Sollution

ecasound comes with a tool libecasoundc-config which beaves exactly like pkg-config but as its own tool and not as a .pc file.

This PR changes the configure.ac and replaces the scripted search by utilizing that tool.

Note

Have only tested this under linux x64 on nixos.

@alios
Copy link
Author

alios commented Jul 14, 2025

The CI fails, but it looks like it is unrelated to my patch. It fails in the Step "Installing apt packages", with:

/bin/bash: line 1: apt-key: command not found
curl: (23) Failure writing output to destination, passed 1369 returned 1367

Exited with code exit status 127

This is also mentioned here: #413 (comment)

Copy link
Member

@mgeier mgeier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR, and sorry for my late response!

I have fixed the CI failures, can you please rebase your PR?

Comment on lines +580 to +586
AC_MSG_CHECKING([for ecasoundc.h via libecasoundc-config])
AC_CHECK_HEADER([ecasoundc.h], [have_ecasound=yes], [have_ecasound=no])
AC_MSG_CHECKING([for eca-control-interface.h via libecasoundc-config])
AC_CHECK_HEADER([eca-control-interface.h], , [have_ecasound=no])
AC_MSG_CHECKING([for Ecasound library via libecasoundc-config])
AC_SEARCH_LIBS([eci_init], [ecasoundc], , [have_ecasound=no])
AC_MSG_RESULT([$have_ecasound])
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are those checks still necessary? Wouldn't libecasoundc-config fail if those files aren't there?

Suggested change
AC_MSG_CHECKING([for ecasoundc.h via libecasoundc-config])
AC_CHECK_HEADER([ecasoundc.h], [have_ecasound=yes], [have_ecasound=no])
AC_MSG_CHECKING([for eca-control-interface.h via libecasoundc-config])
AC_CHECK_HEADER([eca-control-interface.h], , [have_ecasound=no])
AC_MSG_CHECKING([for Ecasound library via libecasoundc-config])
AC_SEARCH_LIBS([eci_init], [ecasoundc], , [have_ecasound=no])
AC_MSG_RESULT([$have_ecasound])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants