[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