[pulseaudio-discuss] Having a bit of trouble compiling on Cygwin

Vadim Troshchinskiy vtroshchinskiy at qindel.com
Mon Jul 10 14:52:43 UTC 2017


Hello,

I'm attempting to build the latest source on Cygwin and having a bit of 
trouble:

After a few minor fixes to get things to compile, it builds, but this happens:

$ src/pulseaudio.exe -F src/default.pa
W: [(null)] caps.c: Normally all extra capabilities would be dropped now, but 
that's impossible because PulseAudio was built without capabilities support.
N: [(null)] daemon-conf.c: Detected that we are run from the build tree, 
fixing search path.
E: [(null)] ltdl-bind-now.c: Failed to open module libFLAC.dll: No such file 
or directory
E: [(null)] ltdl-bind-now.c: Failed to open module libgsm.dll: No such file or 
directory
E: [(null)] ltdl-bind-now.c: Failed to open module libFLAC.dll: No such file 
or directory
E: [(null)] ltdl-bind-now.c: Failed to open module libgsm.dll: No such file or 
directory

It seems like it should be looking for cyggsm.dll and so on. I have tried to 
work around that by symlinking files, but then this happens:

$ src/pulseaudio.exe -F src/default.pa
W: [(null)] caps.c: Normally all extra capabilities would be dropped now, but 
that's impossible because PulseAudio was built without capabilities support.
N: [(null)] daemon-conf.c: Detected that we are run from the build tree, 
fixing search path.
E: [(null)] ltdl-bind-now.c: Failed to open module libwinmm.dll: No such file 
or directory

There is no libwinmm.dll on Cygwin, only a static library, /usr/lib/w32api/
libwinmm.a.

Attempting to force static linking didn't work:

$ /bin/sh ../libtool  --tag=CC   --mode=link gcc -std=gnu11   -g -O2 -Wall -W 
-Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-
optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security 
-Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -
Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-
decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -
Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-
math -fno-common -fdiagnostics-show-option -fdiagnostics-color=auto     -
module -disable-static -avoid-version -Wl,--no-undefined -no-undefined -o 
module-waveout.la -rpath /usr/local/lib/pulse-10.0/modules modules/
module_waveout_la-module-waveout.lo  -lintl libpulsecore-10.0.la 
libpulsecommon-10.0.la libpulse.la /usr/lib/w32api/libwinmm.a
 
*** Warning: Trying to link with static lib archive /usr/lib/w32api/
libwinmm.a.
*** I have the capability to make that library automatically link in when
*** you link to this library.  But I can only do this if you have a
*** shared version of the library, which you do not appear to have
*** because the file extensions .a of this argument makes me believe
*** that it is just a static archive that I should not use here.
libtool: link: rm -fr  .libs/module-waveout.dll .libs/module-waveout.dll.a 
.libs/module-waveout.la .libs/module-waveout.lai
libtool: link: gcc -shared  modules/.libs/module_waveout_la-module-waveout.o   
-L/home/Qindel/pulseaudio/pulseaudio-orig/src/.libs ./.libs/
libpulsecore-10.0.dll.a -L/usr/lib /usr/lib/libltdl.dll.a /home/Qindel/
pulseaudio/pulseaudio-orig/src/.libs/libpulse.dll.a -lspeexdsp ./.libs/
libpulsecommon-10.0.dll.a ./.libs/libpulse.dll.a /home/Qindel/pulseaudio/
pulseaudio-orig/src/.libs/libpulsecommon-10.0.dll.a -lintl /usr/lib/
libsndfile.dll.a -lgsm -lFLAC /usr/lib/libvorbisenc.dll.a /usr/lib/
libvorbis.dll.a /usr/lib/libogg.dll.a  -g -O2 -ffast-math -Wl,--no-undefined   
-o .libs/module-waveout.dll -Wl,--enable-auto-image-base -Xlinker --out-implib 
-Xlinker .libs/module-waveout.dll.a
modules/.libs/module_waveout_la-module-waveout.o: In function `do_write':
/home/Qindel/pulseaudio/pulseaudio-orig/src/modules/module-waveout.c:173: 
undefined reference to `_imp__waveOutPrepareHeader at 12'
/home/Qindel/pulseaudio/pulseaudio-orig/src/modules/module-waveout.c:177: 
undefined reference to `_imp__waveOutWrite at 12'
modules/.libs/module_waveout_la-module-waveout.o: In function `do_read':
/home/Qindel/pulseaudio/pulseaudio-orig/src/modules/module-waveout.c:234: 
undefined reference to `_imp__waveInPrepareHeader at 12'
/home/Qindel/pulseaudio/pulseaudio-orig/src/modules/module-waveout.c:238: 
undefined reference to `_imp__waveInAddBuffer at 12'
/home/Qindel/pulseaudio/pulseaudio-orig/src/modules/module-waveout.c:217: 
undefined reference to `_imp__waveInUnprepareHeader at 12'
modules/.libs/module_waveout_la-module-waveout.o: In function `do_write':
...


And at this point I got stuck. I can see there are Windows binaries, so there 
has to be a way to get things to work properly. Some help would be greatly 
appreciated.

Thanks in advance.



More information about the pulseaudio-discuss mailing list