Hi,
I'm trying to compile LMMS on Lubuntu 14.04 for Windows,
I followed -> https://github.com/LMMS/lmms/wiki/Compiling-lmms-(Windows)
But when I get to step "Package"
I type :
make package
And when it's complete, I get :
I installed all dependencies, I'm not the only one to have this issue, it also happened to @Umcaruje
I hope I provided all needed infos, if you need more, just ask and I'll reply ASAP.
Thanks by advance for your help.
try:
sudo apt-get install libasound2-dev
Actually, this is building with mingw, which doesn't provide alsa, and alsa is disabled in the cmake configuration. I'm not sure what is wrong, but I'm expiriencing this same issue.
AFAIK, lmms.exe is build from the src/CMakeLists.txt which explicitly links against ALSA if it's found and stores it in a variable called LMMS_REQUIRED_LIBS.
I agree with @Umcaruje, this should be empty but from examining the build process I believe the issue should happen if running make or make package. Does it also occur when running just make?
If you take ${ASOUND_LIBRARY} out of LMMS_REQUIRED_LIBS does it succeed? If so, there may be something fishy going on with FindAlsa.cmake (or something residual from a previous build, perhaps).
@zonkmachine Thanks, but already installed.
@tresf : I think I got it to work thanks to your help
I proceeded like this :
In src/CMakeLists.txt I took ${ASOUND_LIBRARY} out of LMMS_REQUIRED_LIBS but this doesn't work yet.
Then, in CMakeCache.txt I remove all instances of asound
Finally after a make package no more error :)
And .exe successfullt created !
Thanks for your quick reply LMMS team ! Now I guess there is some thing to change so the CMakeCache.txt would not contain any asound when compiling for Windows
Ok, so the actual issue seems to be with portaudio, as asound seems to be its required library(This is from the CMakeCache.txt):

Anyways, after editing the mingw script to build with -DWANT_PORTAUDIO=OFF, lmms built successfully and generated a package with no problems.
The problem may be in the call to pkg-config, because the mingw32-x-portaudio required libraries are, according to portaudio-2.0.pc:
Libs: -L${libdir} -lportaudio -lwinmm -lm -ldsound -lole32 -lwinmm -lm -lsetupapi -lole32 -lwinmm -lm -lole32 -lwinmm -lm -lole32
Closed by #3369
Closed by #3369
Hmm... I don't think so. I'm running into this again with Ubuntu 12.04. Even with #3369 merged in the error still occurs.
After reading @jasp00's comments, I did a comparison of the Ubuntu 12.04 pkg-config files in Linux versus Mingw.
Notice the Linux version mentions -lasound where's Mingw version does not. Any other ideas?
diff /opt/mingw32/lib/pkgconfig/portaudio-2.0.pc /usr/lib/x86_64-linux-gnu/pkgconfig/portaudio-2.0.pc
1c1
< prefix=/opt/mingw32
---
> prefix=/usr
3c3
< libdir=${exec_prefix}/lib
---
> libdir=${prefix}/lib/x86_64-linux-gnu
11,12c11,12
< Libs: -L${libdir} -lportaudio -lwinmm -lm -ldsound -lole32 -lwinmm -lm -lsetupapi -lole32 -lwinmm -lm -lole32 -lwinmm -lm -lole32
< Cflags: -I${includedir} -mthreads
---
> Libs: -L${libdir} -lportaudio -lasound -lm -lpthread
> Cflags: -I${includedir} -pthread
I can also confirm that -DWANT_PORTAUDIO=OFF corrects the problem, or alternately:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5750da4..ef96704 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,12 +82,14 @@ ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_WIN32)
SET(WANT_ALSA OFF)
SET(WANT_JACK OFF)
+ SET(WANT_PORTAUDIO OFF)
SET(WANT_PULSEAUDIO OFF)
SET(WANT_SOUNDIO OFF)
SET(WANT_WINMM ON)
SET(LMMS_HAVE_WINMM TRUE)
SET(STATUS_ALSA "<not supported on this platform>")
SET(STATUS_JACK "<not supported on this platform>")
+ SET(STATUS_PORTAUDIO "<has unmet dependencies>")
SET(STATUS_PULSEAUDIO "<not supported on this platform>")
SET(STATUS_SOUNDIO "<disabled in this release>")
SET(STATUS_WINMM "OK")
Most helpful comment
try:
sudo apt-get install libasound2-dev