Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Possible problem with 32 bit / 64 bit with Wine


spectromas

Question

I am trying to use Windows vsts in Renoise (native linux version) through Wine, using the airwave vst bridge. If I use 32 bit version of Renoise everything works perfectly but with the 64 bit version it doesn't work at all, the plugins cannot be loaded in Renoise. I have managed to get someone else to try to replicate the problem and they could not, it seems renoise is perfectly capable to load these plugins on other systems.

 

So this has lead me to believe I am missing something on my system because 32 bit works and 64 bit doesn't.

 

This is my wine version:

1.7.29^t{tbz2}(X alsa fontconfig gecko jpeg mono mp3 ncurses nls opengl perl png prelink realtime run-exes ssl threads truetype xml)
"ABI_X86="32 64 -x32" ELIBC="glibc"

My wine prefix is 64 bit but I have tried creating a 32 bit one and it makes no difference.

 

This is the page for the bridge - https://github.com/phantom-code/airwave

 

 

 

As far as I can see I have all the requirements for it: 

 

- WINE, supporting XEMBED protocol (versions greater than 1.7.19 were tested, but earlier versions also may work).
- Qt4 for building the GUI utility application.
- Multilib-enabled toolchain for building 32-bit binaries on the x86_64.
- CMake >= 2.8 for building.
- GIT for getting the project source code.

 

I have wine, as noted above. I have Qt4. I have CMake and I have GIT. The only thing I'm not sure of is the multilib-enabled toolchain. I'm not sure what this is or whether what I have is multilib enabled or not. 

 

GCC has multilib USE flag enabled. 

Binutils: 2.24-r3 (cxx nls zlib -multislot -multitarget -static-libs -test -vanilla)

Glibc: 2.19(2.2)^s (multilib -debug -gd -hardened -nscd -profile -selinux -suid -systemtap -vanilla CROSSCOMPILE_OPTS="-headers-only")

 

Anything else?

 

I don't see any errors when building airwave but perhaps I'm missing something:

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE="Release"
-- VSTSDK_PATH is set to /home/alex/.git_repos/airwave/vstsdk2.4
-- VST SDK headers are found in /home/alex/.git_repos/airwave/vstsdk2.4/pluginterfaces/vst2.x
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE 
-- Found LibDL: /usr/lib64/libdl.so 
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.6")
-- libmagic version: 5.21
-- Found LibMagic: /usr/lib64/libmagic.so 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alex/.git_repos/airwave/build
make                                                 
Scanning dependencies of target airwave-host-32
Scanning dependencies of target airwave-host-64
[  1%] [  3%] Building CXX object host/CMakeFiles/airwave-host-32.dir/__/common/dataport.cpp.o
Building CXX object host/CMakeFiles/airwave-host-64.dir/__/common/dataport.cpp.o
[  5%] [  7%] Building CXX object host/CMakeFiles/airwave-host-32.dir/__/common/eventsignal.cpp.o
Building CXX object host/CMakeFiles/airwave-host-64.dir/__/common/eventsignal.cpp.o
[  8%] Building CXX object host/CMakeFiles/airwave-host-64.dir/__/common/logger.cpp.o
[ 10%] Building CXX object host/CMakeFiles/airwave-host-32.dir/__/common/logger.cpp.o
[ 12%] Building CXX object host/CMakeFiles/airwave-host-64.dir/host.cpp.o
[ 14%] Building CXX object host/CMakeFiles/airwave-host-32.dir/host.cpp.o
[ 15%] Building CXX object host/CMakeFiles/airwave-host-64.dir/slaveunit.cpp.o
[ 17%] Building CXX object host/CMakeFiles/airwave-host-32.dir/slaveunit.cpp.o
Linking CXX executable airwave-host-64
Linking CXX executable airwave-host-32
[ 21%] Built target airwave-host-64
Scanning dependencies of target airwave-plugin-32
[ 22%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/__/common/dataport.cpp.o
[ 26%] Built target airwave-host-32
[ 28%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/__/common/eventsignal.cpp.o
[ 29%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/__/common/linkmanager.cpp.o
[ 31%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/__/common/logger.cpp.o
[ 33%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/masterunit.cpp.o
/home/alex/.git_repos/airwave/plugin/masterunit.cpp: In member function ?intptr_t Airwave::MasterUnit::dispatch(Airwave::DataPort*, int32_t, int32_t, intptr_t, void*, float)?:
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:331:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
                                                ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:331:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
         ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:364:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
                                                ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:364:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
         ^
[ 35%] Building CXX object plugin/CMakeFiles/airwave-plugin-32.dir/plugin.cpp.o
Scanning dependencies of target airwave-plugin-64
[ 36%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/__/common/dataport.cpp.o
[ 38%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/__/common/eventsignal.cpp.o
Linking CXX shared library airwave-plugin-32.so
[ 42%] Built target airwave-plugin-32
[ 43%] Automatic moc for target qtsingleapplication
[ 43%] Built target qtsingleapplication_automoc
[ 45%] Automatic moc for target airwave-utility
[ 45%] Built target airwave-utility_automoc
[ 56%] Built target qtsingleapplication
Scanning dependencies of target airwave-utility
[ 57%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/__/common/linkmanager.cpp.o
[ 59%] Building CXX object utility/CMakeFiles/airwave-utility.dir/__/common/logger.cpp.o
[ 61%] Building CXX object utility/CMakeFiles/airwave-utility.dir/__/common/linkmanager.cpp.o
[ 63%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/__/common/logger.cpp.o
[ 64%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/masterunit.cpp.o
[ 66%] Building CXX object utility/CMakeFiles/airwave-utility.dir/forms/mainform.cpp.o
/home/alex/.git_repos/airwave/plugin/masterunit.cpp: In member function ?intptr_t Airwave::MasterUnit::dispatch(Airwave::DataPort*, int32_t, int32_t, intptr_t, void*, float)?:
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:331:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
                                                ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:331:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
         ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:364:48: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
                                                ^
/home/alex/.git_repos/airwave/plugin/masterunit.cpp:364:9: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
   rect_ = *reinterpret_cast<ERect*>(frame->data);
         ^
[ 68%] Building CXX object plugin/CMakeFiles/airwave-plugin-64.dir/plugin.cpp.o
Linking CXX shared library airwave-plugin-64.so
[ 71%] Built target airwave-plugin-64
[ 73%] Building CXX object utility/CMakeFiles/airwave-utility.dir/widgets/logview.cpp.o
Linking CXX executable airwave-utility
[100%] Built target airwave-utility
sudo make install                                 
Password:
Linking CXX executable airwave-host-32
[ 12%] Built target airwave-host-32
Linking CXX executable airwave-host-64
[ 24%] Built target airwave-host-64
[ 38%] Built target airwave-plugin-32
[ 52%] Built target airwave-plugin-64
[ 54%] Automatic moc for target qtsingleapplication
[ 54%] Built target qtsingleapplication_automoc
[ 64%] Built target qtsingleapplication
[ 66%] Automatic moc for target airwave-utility
[ 66%] Built target airwave-utility_automoc
[100%] Built target airwave-utility
Linking CXX shared library CMakeFiles/CMakeRelink.dir/airwave-plugin-32.so
Linking CXX shared library CMakeFiles/CMakeRelink.dir/airwave-plugin-64.so
Linking CXX executable CMakeFiles/CMakeRelink.dir/airwave-utility
Install the project...
-- Install configuration: "Release"
-- Installing: /usr/local/bin/airwave-host-64.exe
-- Installing: /usr/local/bin/airwave-host-64.exe.so
-- Installing: /usr/local/bin/airwave-host-32.exe
-- Installing: /usr/local/bin/airwave-host-32.exe.so
-- Installing: /usr/local/share/airwave/airwave-plugin-64.so
-- Installing: /usr/local/share/airwave/airwave-plugin-32.so
-- Installing: /usr/local/bin/airwave-utility
-- Up-to-date: /usr/local/share/icons/hicolor/48x48/apps/airwave-utility.png
-- Up-to-date: /usr/local/share/applications/airwave-utility.desktop

I can't figure out what might be missing on my system to stop this from working. Any kind of help would be greatly appreciated.

 

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...