Package Details: esound 0.2.41-4

Git Clone URL: https://aur.archlinux.org/esound.git (read-only, click to copy)
Package Base: esound
Description: Enlightened Sound Daemon
Upstream URL: http://www.tux.org/~ricdude/EsounD.html
Licenses: LGPL
Conflicts: esd
Provides: esd
Submitter: ilpianista
Maintainer: bidulock
Last Packager: bidulock
Votes: 209
Popularity: 0.009840
First Submitted: 2011-08-16 11:25 (UTC)
Last Updated: 2015-07-09 05:41 (UTC)

Latest Comments

mpento commented on 2024-09-14 18:51 (UTC)

@vitaliikuzhdin I needed this to build XMMS and ran into the same issue as you have.

clean_exit() is prototyped in esd.c, which is not available to clients.c. I ended up creating two diff patch files, the first removes the clean_exit() prototype from esd.c, the second adds the clean_exit() prototype to esd-server.h.

Since both esd.c and clients.c include esd-server.h, this satisfies the requirement and allows for a successful build.

The caveat here is that I am probably doing this wrong. :-) However, I will provide my solution here, and anyone who knows how to fix this problem correctly please feel free to enlighten me.

file #1: esd.c.patch


--- esd.c.base  2024-09-14 14:05:43.689220498 -0400
+++ esd.c   2024-09-14 14:06:03.852553078 -0400
@@ -67,7 +67,6 @@
 /* esd.c - prototypes */
 void set_audio_buffer( void *buf, esd_format_t format, int magl, int magr,
        int freq, int speed, int length, long offset );
-void clean_exit( int signum );
 void reset_signal( int signum );
 void reset_daemon( int signum );
 void reconnect_driver( int signum );

file #2: esd-server.h.patch


-- esd-server.h.base    2024-09-14 14:05:52.995886818 -0400
+++ esd-server.h    2024-09-14 14:06:39.455885082 -0400
@@ -114,6 +114,7 @@

 /*******************************************************************/
 /* server function prototypes */
+void clean_exit( int signum );

 /* esd.c - global variables */
 extern int esd_is_owned;

finally, add to PKGBUILD:


build() {
  cd "$srcdir/$pkgname-$pkgver"

  # patches to address missing prototype in clients.c
  patch esd.c ../../esd.c.patch
  patch esd-server.h ../../esd-server.h.patch

I hope this is helpful.

vitaliikuzhdin commented on 2024-09-10 17:28 (UTC) (edited on 2024-09-10 17:28 (UTC) by vitaliikuzhdin)

gcc -DHAVE_CONFIG_H -I.  -DSYSCONFDIR=\"/etc\" -DSERVERDIR=\"/usr/bin\"    -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection         -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -lm -MT clients.o -MD -MP -MF .deps/clients.Tpo -c -o clients.o clients.c
clients.c: In function ‘esd_comm_loop’:
clients.c:282:13: error: implicit declaration of function ‘clean_exit’; did you mean ‘on_exit’? [-Wimplicit-function-declaration]
  282 |             clean_exit(0);
      |             ^~~~~~~~~~
      |             on_exit
make[2]: *** [Makefile:680: clients.o] Error 1
make[2]: Leaving directory '/home/vitalii/.cache/yay/esound/src/esound-0.2.41'
make[1]: *** [Makefile:833: all-recursive] Error 1
make[1]: Leaving directory '/home/vitalii/.cache/yay/esound/src/esound-0.2.41'
make: *** [Makefile:451: all] Error 2

micwoj92 commented on 2021-02-07 14:37 (UTC)

when accessing homepage I'm getting error The requested page "/~ricdude/EsounD.html" could not be found.

speps commented on 2014-01-25 13:09 (UTC)

Updated to 0.2.41-4 - Migrated to systemd @johni thanks for support @digitalirony https://wiki.archlinux.org/index.php/Arch_User_Repository#Prerequisites

digitalirony commented on 2013-11-18 20:57 (UTC)

add pkg-config as dependency please.

johni commented on 2012-09-07 21:48 (UTC)

I just migrated to systemd, and wrote this quick unit file for starting esound on boot: http://pastebin.com/2beiM2kE Feel free to add to the build if you like. It would be called "esd.service", and should go in /usr/lib/systemd/system

speps commented on 2012-04-15 12:39 (UTC)

@g2oo7fy Well, mainly because 0.2.8 is not the latest stable version. Also, as you can easily check 41 > 8. Simply, the ESound original page is just heavily outdated. Cheers

speps commented on 2011-12-10 19:28 (UTC)

@netfun81 Hi, thanks for reporting. This happens for a missing "-lm" link flag. Fixed in 0.2.41-3. Let me know if you encounter other issues. Cheers

<deleted-account> commented on 2011-12-10 19:07 (UTC)

I need esound for music in a game. Tried installing from AUR esound 0.2.41 and also manually compiling downloaded from gnome site. It configures ok and during "make" it stops with these errors: /usr/bin/ld: esd.o: undefined reference to symbol 'sinf@@GLIBC_2.0' /usr/bin/ld: note: 'sinf@@GLIBC_2.0' is defined in DSO /lib/libm.so.6 so try adding it to the linker command line /lib/libm.so.6: could not read symbols: Invalid operation collect2: ld returned 1 exit status make[2]: *** [esd] Error 1 make[2]: Leaving directory `/home/kclin/Downloads/esound-0.2.41' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/kclin/Downloads/esound-0.2.41' make: *** [all] Error 2 Arch is up to date with all packages. Any thoughts? I have tried older versions of esound to no avail.