I think it's not finding the right libs to link with. Try changing /usr/lib to /usr/lib/x86_64-linux-gnu, and -L/usr/lib/wine to /usr/lib/x86_64-linux-gnu/wine in the wineasio_dll_LDFLAGS variable. This is somewhat a pain as it seems that most distros do it differently to each other...:(
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
/usr/bin/ld: i386 architecture of input file `/usr/lib/i386-linux-gnu/wine/libuuid.a(uuid.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: Relocatable linking with relocations from format elf32-i386 (/usr/lib/i386-linux-gnu/wine/libwinecrt0.a(dll_entry.o)) to format elf64-x86-64 (wineasio.YL4x7I.o) is not supported
winebuild: /usr/bin/ld failed with status 1
winegcc: winebuild failed
make: *** [wineasio.dll.so] Erreur 2
Last edit: krubenast 2013-11-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is no /usr/lib64/wine just /usr/lib/x86_64-linux-gnu/. Actually the package wine on Debian amd64 seems just to install wine 32bits needing multiarch support for i386 being activated. I think that's the reason why the wine libs are all in /usr/lib/i386-linux-gnu/wine/. Also libwine-dev is necessary installed like a i386 package.
Maybe i'm wrong but reading this :
"/usr/bin/ld: cannot find -ljack
collect2: error: ld returned 1 exit status
Isn't ld provided by the package binutils ? It's what seems to be :
apt-file search /usr/bin/ld
binutils: /usr/bin/ld
So i'm wondering if i don't need the i386 version of binutils to build wineasio as everything in wine is i386 anyway. And it's impossible to install it without deinstalling binutils amd64, that means breaking the system because of the dependencies. So i would need to make a 32 bits chroot to build a 32 bits wineasio. And i'm sceptic about the possibility to build a 64 bits version.
For now i managed to install wineasio 0.9.0 32bits from a RPM using alien. I installed Reaper and it seems to work fine. But i don't like to give up about the 0.9.2 version, so maybe i'll try a chroot in the future or i'll wait to find a 0.9.2 RPM.
Thanks again for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ah, now we are getting somewhere :) If you only have 32bit wine installed, then trying to build and use 64bit wineasio will fail. With only 32bit wine installed on a 64bit distro, what you need is the 32bit wineasio driver, 64bit jack and the additional 32bit libjack component, something like lib32-jack or so depending on the distro. And in case of debian, the dev packages of wine and jack.
I don't think your binutils enters into the equation at all, the problem is simply that it can't find the 64bit wine component when trying to link to them, which is completely normal as you haven't installed them.
What you have to do is edit Makefile (note not Makefile64), and point it to /usr/lib/i386-linux-gnu/ and /usr/lib/i386-linux-gnu/wine/. Then run make clean && make. That ought to build the driver. Finally to install it, just do "sudo cp wineasio.dll.so /usr/lib/i386-linux-gnu/wine/". That should be it. And since you already have an older version of wineasio up and running in your wineprefix, there is no need to run regsvr32 wineasio.dll as it's already in the register.
Last edit: Joakim Hernberg 2013-11-06
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Installing a 32 bits version of gcc would be impossible due to dependencies. So i made the 32bits chroot i was thinking about, That is pretty easy actually using debootstrap on Debian.
And it worked very well and fast, the compilation is done. I replaced the previous wineasio.dll.so with the 0.9.2 version and everything seems to work fine. I'm going to install it with wine and Reaper on my other Debian computer, i'm pretty confident that it will work fine too. thanks again. Regards.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good. Of course I forgot to that you'd have other problems building 32bit software on a "pure" 64bit system. Happy you got it working, it's kind of hard trying to offer support for a distro which you don't know how it works.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm trying to build wineasio on Debian Wheezy amd64. I downloaded asio.h from Steinberg website's asio SDK.
I'm getting this error :
Please, what did i miss ?
Ok I had to change #!/bin/sh to #!/bin/bash at the begining of the script.
But i'm getting this error later :
Last edit: krubenast 2013-11-05
I think it's not finding the right libs to link with. Try changing /usr/lib to /usr/lib/x86_64-linux-gnu, and -L/usr/lib/wine to /usr/lib/x86_64-linux-gnu/wine in the wineasio_dll_LDFLAGS variable. This is somewhat a pain as it seems that most distros do it differently to each other...:(
Thanks a lot for your help. It still doesn't work.
There is nothing about wine in /usr/lib/x86_64-linux-gnu. But there is in /usr/lib/i386-linux-gnu/wine/
So i tried replacing like this :
But still this error :
Last edit: krubenast 2013-11-05
Try /usr/lib64/wine instead? If that doesn't work you have to find out where the 64bit wine libs are, that is the path you need to add to Makefile64.
There is no /usr/lib64/wine just /usr/lib/x86_64-linux-gnu/. Actually the package wine on Debian amd64 seems just to install wine 32bits needing multiarch support for i386 being activated. I think that's the reason why the wine libs are all in /usr/lib/i386-linux-gnu/wine/. Also libwine-dev is necessary installed like a i386 package.
Maybe i'm wrong but reading this :
Isn't ld provided by the package binutils ? It's what seems to be :
So i'm wondering if i don't need the i386 version of binutils to build wineasio as everything in wine is i386 anyway. And it's impossible to install it without deinstalling binutils amd64, that means breaking the system because of the dependencies. So i would need to make a 32 bits chroot to build a 32 bits wineasio. And i'm sceptic about the possibility to build a 64 bits version.
For now i managed to install wineasio 0.9.0 32bits from a RPM using alien. I installed Reaper and it seems to work fine. But i don't like to give up about the 0.9.2 version, so maybe i'll try a chroot in the future or i'll wait to find a 0.9.2 RPM.
Thanks again for your help.
Ah, now we are getting somewhere :) If you only have 32bit wine installed, then trying to build and use 64bit wineasio will fail. With only 32bit wine installed on a 64bit distro, what you need is the 32bit wineasio driver, 64bit jack and the additional 32bit libjack component, something like lib32-jack or so depending on the distro. And in case of debian, the dev packages of wine and jack.
I don't think your binutils enters into the equation at all, the problem is simply that it can't find the 64bit wine component when trying to link to them, which is completely normal as you haven't installed them.
What you have to do is edit Makefile (note not Makefile64), and point it to /usr/lib/i386-linux-gnu/ and /usr/lib/i386-linux-gnu/wine/. Then run make clean && make. That ought to build the driver. Finally to install it, just do "sudo cp wineasio.dll.so /usr/lib/i386-linux-gnu/wine/". That should be it. And since you already have an older version of wineasio up and running in your wineprefix, there is no need to run regsvr32 wineasio.dll as it's already in the register.
Last edit: Joakim Hernberg 2013-11-06
Yes, i forgot to change the Makefile indeed. But it didn't change anything :
So i thought that if the problem was not binutils it was probably libjack-dev, so i fought a bit to install it in 32bits version.
Then :
Installing a 32 bits version of gcc would be impossible due to dependencies. So i made the 32bits chroot i was thinking about, That is pretty easy actually using debootstrap on Debian.
And it worked very well and fast, the compilation is done. I replaced the previous wineasio.dll.so with the 0.9.2 version and everything seems to work fine. I'm going to install it with wine and Reaper on my other Debian computer, i'm pretty confident that it will work fine too. thanks again. Regards.
Good. Of course I forgot to that you'd have other problems building 32bit software on a "pure" 64bit system. Happy you got it working, it's kind of hard trying to offer support for a distro which you don't know how it works.