Windows 32bit and 64bit support on Linux with vst-bridge

Ok Abique I’ve got to this point and can’t go any further…sorry on Saturday…if it’s too much just leave it no worries :)

m@m-System-Product-Name:~/vst-bridge-master$ make
make -C maker
make[1]: Entering directory /home/m/vst-bridge-master/maker' make[1]:vst-bridge-maker’ is up to date.
make[1]: Leaving directory /home/m/vst-bridge-master/maker' make -C plugin make[1]: Entering directory/home/m/vst-bridge-master/plugin’
make[1]: vst-bridge-plugin-tpl.so' is up to date. make[1]: Leaving directory/home/m/vst-bridge-master/plugin’
make -C host
make[1]: Entering directory /home/m/vst-bridge-master/host' wineg++ -m32 -D_GNU_SOURCE -W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -g host.cc -lpthread -lshell32 -lws2_32 -o vst-bridge-host-32.exe host.cc:13:21: fatal error: windows.h: No such file or directory compilation terminated. winegcc: g++ failed make[1]: *** [vst-bridge-host-32.exe] Error 2 make[1]: Leaving directory/home/m/vst-bridge-master/host’
make: *** [all] Error 2
m@m-System-Product-Name:~/vst-bridge-master$

Looks like you are lacking some development packages for wine (windows.h).

Please check, if all dev packages for 32/64bit wine are installed and run again.

Ok thanks Catchphrase…appreciated!

I’ve posted the latest code / build error to Abique…got a bit further now Catchphrase after installing some wine devel thingy…I won’t keep posting code here - nothing worse than looking at pages of someone who can’t compile for toffee! :lol:/>/> :D/>/>

I’ve got wine.rt install as part of KXstudio (not wine 1.4) - I’ve also installed winert.dev - is that going to be ok do you think? I don’t really want to break it all as I’m just going with what’s here…KXstudio is good as it’s got wineasio sorted out…something I would rather not spend the whole weekend doing manually!

I could remove winert and put wine 1.4 on there but I don’t know - is that going to make a difference?

Hey, I use wine 1.7.10, and this is the one I recommand. Now wine with the rt patches, I did not find that it performs better, it did perform worse for me.

For your issue I think that you fixed it by installing the missing wine devel files, like libwine-devel or wine-devel? I’m not aware of how are packaged stuff for debian/…

I found archlinux to work very well and out of the box for music production.

Also it is usefull to post build logs etc…, it can help someone which share the same issues.

Thanks abique…no I haven’t fixed my problem yet.
I am using KXStudio which is Ubuntu with Kde …not quite Debian.

I could uninstall winert but I might end up breaking things…as a newbie I’m not sure whether I should be doing this ( will I break the KXStudio software?). It has wineasio e.t.c built in…

Anyway I’ll keep ploughing away…

Yeah keep winert if it works well for you! :wink:
Did you try to install wine’s devel packages?

The only one I can see is winert.dev which is installed…yeh - I can’t see any others in synaptic

if you cant find a package in your package manager just google for it… chances are youll find it in a format suitable for your system.

Thanks…trouble is I don’t know what I’m looking for :lol:

No, that’s fine. Doing it most of the day, and mostly spending time with code I wrote myself ;)/>

So, please provide the errors you’re reciving.

I am also on archlinux and using wine1.7, as abique, so I MILDLY GUESS HERE, that wine1.4 might not be sufficient, but I cannot tell without the actual error logs.

You are a brave man to face helping me with this !

At least I am getting more gobbledeegook than before which is an encouraging sign…it looks like it’s compiled quite a lot so far…
I might have a go at Arch Linux but I’m not really fussed…KXStudio is really good ( Suprisingly for KDE!) and I like it a lot. They have sorted out loads of things …anyway here’s my latest:

@m-System-Product-Name:~/vst-bridge-master$ make
make -C maker
make[1]: Entering directory /home/m/vst-bridge-master/maker' gcc -D_GNU_SOURCE -W -Wall -Wstrict-prototypes -pipe -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wmissing-declarations -Wnested-externs -Wmissing-prototypes -g maker.c -lmagic -o vst-bridge-maker make[1]: Leaving directory/home/m/vst-bridge-master/maker’
make -C plugin
make[1]: Entering directory /home/m/vst-bridge-master/plugin' g++ -D_GNU_SOURCE -W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -g -shared -fPIC plugin.cc -o vst-bridge-plugin-tpl.so In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from plugin.cc:33: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:28:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from plugin.cc:33: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:112:5: warning: "_WIN64" is not defined [-Wundef] ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:112:5: warning: "__LP64__" is not defined [-Wundef] ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:343:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from plugin.cc:33:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:21:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from plugin.cc:33:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:1134:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] plugin.cc: In function ‘void vst_bridge_handle_audio_master(vst_bridge_effect*, vst_bridge_request*)’: plugin.cc:167:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘int64_t {aka long long int}’ [-Wformat] plugin.cc: In function ‘VstIntPtr vst_bridge_call_effect_dispatcher2(AEffect*, VstInt32, VstInt32, VstIntPtr, void*, float)’: plugin.cc:540:27: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] plugin.cc:560:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] plugin.cc:562:33: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] plugin.cc:579:12: warning: declaration of ‘len’ shadows a previous local [-Wshadow] plugin.cc:316:11: warning: shadowed declaration is here [-Wshadow] plugin.cc:640:5: warning: format ‘%p’ expects argument of type ‘void*’, but argument 3 has type ‘pthread_t {aka long unsigned int}’ [-Wformat] plugin.cc:640:5: warning: format ‘%f’ expects a matching ‘double’ argument [-Wformat] plugin.cc:316:11: warning: unused variable ‘len’ [-Wunused-variable] make[1]: Leaving directory/home/m/vst-bridge-master/plugin’
make -C host
make[1]: Entering directory /home/m/vst-bridge-master/host' wineg++ -m32 -D_GNU_SOURCE -W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -g host.cc -lpthread -lshell32 -lws2_32 -o vst-bridge-host-32.exe In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from host.cc:21: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:28:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from host.cc:21: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:112:5: warning: "_WIN64" is not defined [-Wundef] ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:112:5: warning: "__LP64__" is not defined [-Wundef] ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:343:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from host.cc:21:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:21:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from host.cc:21:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:1134:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] host.cc:102:19: warning: extra tokens at end of #undef directive [enabled by default] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::time_info’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::hwnd’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::main_thread_id’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::lock’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::pending’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::plugin_data’ [-Wmissing-field-initializers] host.cc: In function ‘bool serve_request2(vst_bridge_request*)’: host.cc:252:36: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] host.cc:268:23: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] host.cc:290:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] host.cc:312:7: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘int64_t {aka long long int}’ [-Wformat] host.cc: In function ‘bool serve_request()’: host.cc:381:12: warning: unused variable ‘tag’ [-Wunused-variable] host.cc: In function ‘VstIntPtr host_audio_master2(AEffect*, VstInt32, VstInt32, VstIntPtr, void*, float)’: host.cc:406:11: warning: unused variable ‘len’ [-Wunused-variable] host.cc: At global scope: host.cc:399:23: warning: unused parameter ‘effect’ [-Wunused-parameter] host.cc:575:14: warning: unused parameter ‘arg’ [-Wunused-parameter] host.cc: In function ‘int main(int, char**)’: host.cc:657:58: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] host.cc:666:37: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] host.cc:683:9: warning: unused variable ‘ret’ [-Wunused-variable] host.cc: At global scope: host.cc:584:5: warning: unused parameter ‘argc’ [-Wunused-parameter] wineg++ -m64 -D_GNU_SOURCE -W -Wall -pipe -Wundef -Wshadow -Wpointer-arith -Wabi -g host.cc -lpthread -lshell32 -lws2_32 -o vst-bridge-host-64.exe In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from host.cc:21: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:28:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:17:0, from host.cc:21: ../vstsdk2.4/pluginterfaces/vst2.x/aeffect.h:343:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from host.cc:21:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:21:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] In file included from host.cc:21:0: ../vstsdk2.4/pluginterfaces/vst2.x/aeffectx.h:1134:5: warning: "TARGET_API_MAC_CARBON" is not defined [-Wundef] host.cc:102:19: warning: extra tokens at end of #undef directive [enabled by default] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::time_info’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::hwnd’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::main_thread_id’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::lock’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::pending’ [-Wmissing-field-initializers] host.cc:62:1: warning: missing initializer for member ‘vst_bridge_host::plugin_data’ [-Wmissing-field-initializers] host.cc: In function ‘bool serve_request2(vst_bridge_request*)’: host.cc:250:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] host.cc:252:36: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] host.cc:266:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] host.cc:268:23: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] host.cc:270:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] host.cc:290:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] host.cc:312:7: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘int64_t {aka long int}’ [-Wformat] host.cc: In function ‘bool serve_request()’: host.cc:381:12: warning: unused variable ‘tag’ [-Wunused-variable] host.cc: In function ‘VstIntPtr host_audio_master2(AEffect*, VstInt32, VstInt32, VstIntPtr, void*, float)’: host.cc:539:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 6 has type ‘VstIntPtr {aka long int}’ [-Wformat] host.cc:406:11: warning: unused variable ‘len’ [-Wunused-variable] host.cc: At global scope: host.cc:399:23: warning: unused parameter ‘effect’ [-Wunused-parameter] host.cc:575:14: warning: unused parameter ‘arg’ [-Wunused-parameter] host.cc: In function ‘int main(int, char**)’: host.cc:657:58: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] host.cc:666:37: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] host.cc:683:9: warning: unused variable ‘ret’ [-Wunused-variable] host.cc: At global scope: host.cc:584:5: warning: unused parameter ‘argc’ [-Wunused-parameter] /usr/bin/ld: Relocatable linking with relocations from format elf32-i386 (/usr/lib/i386-linux-gnu/wine/libwinecrt0.a(exe_entry.o)) to format elf64-x86-64 (vst-bridge-host-64.Y1mQ6j.o) is not supported winebuild: /usr/bin/ld failed with status 1 winegcc: winebuild failed make[1]: *** [vst-bridge-host-64.exe] Error 2 make[1]: Leaving directory/home/m/vst-bridge-master/host’
make: *** [all] Error 2
m@m-System-Product-Name:~/vst-bridge-master$

Okay.

I also get all the warnings as you do.

  
/usr/bin/ld: Relocatable linking with relocations from format elf32-i386 (/usr/lib/i386-linux-gnu/wine/libwinecrt0.a(exe_entry.o)) to format elf64-x86-64 (vst-bridge-host-64.Y1mQ6j.o) is not supported  
winebuild: /usr/bin/ld failed with status 1  
winegcc: winebuild failed  
  

This tells us, that ld is trying to link 32bit with 64bit code, which should not happen.
Did you run the configure script again after installing the dev-libs?

Also, please run it without sudo.

Ok thanks I’ll try that tonight…I did try to recompile after installing the winert.devel package…it has got further than it did before so we are progressing! :) At least I am learning along the way.

Perhaps you also need the winert 64bit devel libs…

before you try to recompile any program give the command “make clean” to clean out the failed compilation. also, after installing new lib files type “ldconfig” and it’ll make sure all the libs are properly linked.

Great thanks everyone - that’s really useful advice.
If I don’t see the wine64 libs in Synaptic ( I can’t recall seeing them ) then I assume I must look up the names of the files manually and install them with apt-get install?

some times because your computer is 32bit your linux distro thinks you have no use for 64bit respositories, so it will keep them out of your respo list. go and edit your respository list and see if any of the links are shaded out (that means they have a “#” infront of them). if thats the case, just delete the “#” and see if that will list the 64bit apps… if not, try http://www.apt-get.org/. and if that doesnt work, then try the command line apt app. im not sure about it in ubuntu, but in my distro the graphical interface doesnt list both 32 and 64bit packages but the command line version does (ran as root, of course)

Thanks Subvertive that is really helpful.
I am determined after all the help to get this working now :)/>
The thing is with installing libraries e.t.c - you never know what you might mess up on your system…and then you ask how do I get it back if this goes wrong…I guess you need a spare box on so you can muck around e.t.c

installing libs shouldnt be damaging to your system, and if they are, and have installed the libs from a package manager, most if not all package managers have an uninstall feature so you can delete the damaging libs. or you can install the libs locally ie. instead of installing the system wide, just install the libs to a users home directory, and if the libs work and dont cause damage, then install them system wide.