airwave
airwave copied to clipboard
Compilation issue
Linking phase fails for airwave-host-32 when compiling on 64-bit host:
[ 31%] Linking CXX executable airwave-host-32
ld: Relocatable linking with relocations from format elf64-x86-64 (/usr/lib/x86_64-linux-gnu/wine/libwinecrt0.a(exe_entry.o)) to format elf32-i386 (airwave-host-32.UvL9Pj.o) is not supported
winebuild: ld failed with status 1
winegcc: /usr/lib/wine/winebuild failed
src/host/CMakeFiles/airwave-host-32.dir/build.make:250: recipe for target 'src/host/airwave-host-32' failed
make[2]: *** [src/host/airwave-host-32] Error 2
CMakeFiles/Makefile2:142: recipe for target 'src/host/CMakeFiles/airwave-host-32.dir/all' failed
make[1]: *** [src/host/CMakeFiles/airwave-host-32.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Some other issue I found that I was able to workaround:
- Compilation failed with the suggested directory name
VST3\ SDK
. Fixed this by usingVST3_SDK
directory name instead. - Even after that compilation did not work. I had to copy VST3_SDK under the root of my local airwave GIT tree.
- Instructions do not advice to run
copy_vst2_to_vst3_sdk.sh
but it is clearly required. - Wine location has been changed. See https://launchpad.net/~wine/+archive/ubuntu/wine-builds. Wine 1.7 does not exist there. Is Wine 1.6 sufficient?
PS. Friendly suggestion: use snap and/or FlatPak for packaging. Would be a better fit for this project than deb because of a proprietary dependency.
Same problem on gentoo. (I assume you use ubuntu according to your link). I believe the problem is that it is trying to link 64 bit to 32 bit wine libs. Probably a solution is to set the LDFLAGS correctly to the new location of wine. (something like /usr/lib/$(WINETARGET), /usr/lib32/$(WINETARGET), /usr/lib64/$(WINETARGET)). Since I'm not a programmer, I would need help to patch the source/Makefile. At least I didn't find any LDFLAGS in the Makefile generated by cmake. You have an idea?
Edit: I found by manually setting symlinks /usr/lib32/libwine.so -> wine-vanilla-2.0.3/libwine.so /usr/lib32/libwine.so.1 -> wine-vanilla-2.0.3/libwine.so.1 /usr/lib32/libwine.so.1.0 -> wine-vanilla-2.0.3/libwine.so.1.0 /usr/lib32/wine -> wine-vanilla-2.0.3/wine/ /usr/lib64/libwine.so -> wine-vanilla-2.0.3/libwine.so /usr/lib64/libwine.so.1 -> wine-vanilla-2.0.3/libwine.so.1 /usr/lib64/libwine.so.1.0 -> wine-vanilla-2.0.3/libwine.so.1.0 /usr/lib64/wine -> wine-vanilla-2.0.3/wine/ the build works.