probonopd / libhookexecv

Make fully relocateable Wine bundles by overriding the execv syscall to use a custom ld.so
14 stars 5 forks source link

[winetricks] Get Fusion360 to run #22

Open probonopd opened 5 years ago

probonopd commented 5 years ago
sudo apt-get install cabextract
git clone https://github.com/pastapojken/Fusion360WineInstaller
cd Fusion360WineInstaller/
wget https://github.com/probonopd/libhookexecv/releases/download/continuous/Wine_Windows_Program_Loader-3.20-x86_64.AppImage
ln -s Wine*-x86_64.AppImage winetricks
ln -s Wine*-x86_64.AppImage wine
ln -s Wine*-x86_64.AppImage winecfg
ln -s Wine*-x86_64.AppImage wineserver
export PATH=$(readlink -f .):$PATH
chmod +x wine*
bash -ex installer.sh 1

cc @philipzae @pastapojken

probonopd commented 5 years ago

I do see

1

but then I get

----------------------------------------------------------
Set virtual desktop if you want
----------------------------------------------------------
/tmp/.mount_winecfBaXeRd/bin/winecfg: 46: exec: /tmp/.mount_winecfBaXeRd/bin/wine: not found

----------------------------------------------------------
Wait for streamer.exe to be done downloading/installing...
Watch /home/me/Fusion360WineInstaller/drive_c/users/me/Local Settings/Application Data/Autodesk/webdeploy/
And wait until a "production" folder appears with 2 populated subfolders
----------------------------------------------------------
wine: Bad EXE format for Z:\home\me\Fusion360WineInstaller\installer\streamer.exe.
probonopd commented 5 years ago

winecfg has issues loading wine:

/tmp/.mount_winecfBaXeRd/bin/winecfg: 46: exec: /tmp/.mount_winecfBaXeRd/bin/wine: not found

bin/wine is there in the AppImage, but of course it cannot be "just executed" like this, since it is a 32-bit binary.

bin/wine: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.26, BuildID[sha1]=8b26c8c6685ea1ed987a21ef30b48823e844e858, stripped

/lib/ld-linux.so.2 does not exist, rather we would need to use the bundled private one.

Possibly libhookexecv needs to be changed to intercept and rewrite this call also, or the bin/winecfg script needs to be changed to use our privately bundled lib/ld-linux.so.2.

probonopd commented 5 years ago

Similarly regedit,

Executing wine regedit C:\windows\Temp\_vcrun2017\override-dll.reg
/tmp/.mount_wineYy8TON/bin/regedit: 46: exec: /tmp/.mount_wineYy8TON/bin/wine: not found
probonopd commented 5 years ago
me@host:~/Fusion360WineInstaller$ file ./installer/streamer.exe
./installer/streamer.exe: PE32+ executable (GUI) x86-64, for MS Windows

Oops, looks like we need a 64-bit WINE here?