On Tue, 22 Jun 1999, eric a. Farris wrote: > i downloaded the source for mpg123-0.59r and am attempting to compile it > with esd support (make linux-esd). the compile begins smoothly, then > stops with the following error: > > audio_esd.o: In function `audio_open': > audio_esd.o(.text+0x17e): undefined reference to `esdserver' > collect2: ld returned 1 exit status > make[2]: *** [mpg123] Error 1 > > i have the esd library packages installed (libesd0 and libesd-dev)
It looks like the variable "esdserver" is supposed to be defined elsewhere to be a char * to some sort of string identifying the host to connect to. But someone must've forgotten to define this! It works if you change the problem reference to NULL, but as near as i can tell that will only allow you to use the esd server running on your local machine (as opposed to forwarding the esd connection to another esd server (which i can't figure out how to do anyway)). A patch is attached, cd to the mpg123 source directory and "patch -p0 < patch.diff". With the patch it compiles and runs properly on my machine, YMMV.
--- audio_esd.c Tue Jun 22 14:07:30 1999 +++ audio_esd.c Tue Jun 22 14:07:01 1999 @@ -75,7 +75,7 @@ else if (ai->rate > esd_rate) return -1; - ai->fn = esd_play_stream_fallback(format, ai->rate, esdserver, "mpg123"); + ai->fn = esd_play_stream_fallback(format, ai->rate, NULL, "mpg123"); return (ai->fn); }