0

I have problem building Port Audio on windows machine. I am following this tutorial: http://portaudio.com/docs/v19-doxydocs/compile_windows_mingw.html

Running make after ./configure runs build process and finally outputs this message and that is where build process stop.

/bin/sh ./libtool --mode=link gcc  -shared -rpath /usr/local/lib -no-undefined -
export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa|PaAsio|PaOSS)_.*" -version-inf
o 2:0:0 -o lib/libportaudio.la src/common/pa_allocation.lo src/common/pa_convert
ers.lo src/common/pa_cpuload.lo src/common/pa_dither.lo src/common/pa_debugprint
.lo src/common/pa_front.lo src/common/pa_process.lo src/common/pa_stream.lo src/
common/pa_trace.lo src/hostapi/skeleton/pa_hostapi_skeleton.lo src/hostapi/wmme/
pa_win_wmme.lo src/os/win/pa_win_hostapis.lo src/os/win/pa_win_util.lo src/os/wi
n/pa_win_waveformat.lo -lwinmm

*** Warning: linker path does not have real file for library -lwinmm.
*** 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 I did check the linker path looking for a file starting
*** with libwinmm but no candidates were found. (...for file magic test)
*** The inter-library dependencies that have been dropped here will be
*** automatically added whenever a program is linked with this library
*** or is declared to -dlopen it.

*** Since this library must not contain undefined symbols,
*** because either the platform does not support them or
*** it was explicitly requested with -no-undefined,
*** libtool will only create a static version of it.
libtool: link: lib -OUT:lib/.libs/libportaudio.lib  src/common/pa_allocation.o s
rc/common/pa_converters.o src/common/pa_cpuload.o src/common/pa_dither.o src/com
mon/pa_debugprint.o src/common/pa_front.o src/common/pa_process.o src/common/pa_
stream.o src/common/pa_trace.o src/hostapi/skeleton/pa_hostapi_skeleton.o src/ho
stapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o s
rc/os/win/pa_win_waveformat.o
./libtool: line 1115: lib: command not found
make: *** [lib/libportaudio.la] Error 127

I am newbie in building libraries so i dont understand what is wrong here. Any help is appreciated.

Bojan Malinić
  • 137
  • 1
  • 2
  • 9
  • It looks like `libtool` and/or the Windows port of Port Audio expects to be using the Microsoft compiler tools. The `lib` command it can't find is the Microsoft tool for creating static libraries, the MinGW tool is called `ar` and takes different arguments. It's not as obvious what problem it's having with `-lwinmm`, as MinGW provides a `libwinmm.a`. Perhaps despite the message it was looking for the file `winmm.lib` following the Microsoft convention for naming libraries. – Ross Ridge Aug 09 '14 at 14:51
  • When using -l flag then library must be named with prefix "lib". – Bojan Malinić Aug 09 '14 at 15:04
  • Also in tutorial should be specified that build depends on microsoft "lib" tool – Bojan Malinić Aug 09 '14 at 15:14
  • 1
    Problem solved. To build you also need microsoft `lib` tool. Just download visual c++ 2008 and add `bin` folder to `PATH` environment variable so that msys can find it. Thanks to Ross Ridge for pointing out that `lib` tool. – Bojan Malinić Aug 09 '14 at 15:55
  • @bolevole MS lib tool should not be required. If it is, it's a bug. Please could you indicate which version of PortAudio you tried to build, and which version of MSYS/Mingw you are using? – Ross Bencina Aug 24 '14 at 17:02
  • Well my mistake, there is no bug, problem was in me trying to build library with TDM GCC rather than MinGW.I have build right now with MinGW and without lib tool. – Bojan Malinić Aug 25 '14 at 12:12

0 Answers0