kakra / wine-proton

Proton'ized Wine, served hot, extra spicy: Please read README.md as a starting point
https://github.com/kakra/wine-proton/blob/rebase/proton_3.16/README.md
Other
35 stars 1 forks source link

git submodule update --init throws "server does not allow request for unadvertised object" error #7

Closed wvstolzing closed 5 years ago

wvstolzing commented 5 years ago

I had no problem cloning the wine-proton repo yesterday, and runninggit submodule update --init inside the folder. (Then I tried to collect all the 32 bit dependencies on Fedora 29, etc.)

Today, however, git submodule update --init gives the following error:

Cloning into '/home/username/src/git/wine-proton/vendor/dxvk'...
Cloning into '/home/username/src/git/wine-proton/vendor/spirv-headers'...
Cloning into '/home/username/src/git/wine-proton/vendor/faudio'...
Cloning into '/home/username/src/git/wine-proton/vendor/vkd3d'...
Cloning into '/home/username/src/git/wine-proton/vendor/vulkan-headers'...

error: Server does not allow request for unadvertised object e1996fcfc230ab51b8fb7b34aa230e077b08b8b7

Fetched in submodule path 'vendor/dxvk', but it did not contain e1996fcfc230ab51b8fb7b34aa230e077b08b8b7. Direct fetching of that commit failed.

git show on that hash number gives a fatal: bad object error. All the folders inside vendor/ are empty.

I'm a total ignoramus; so in my fathomless wisdom, I tried going into each folder under vendor/, and running git checkout HEAD -- this restored the contents inside those folders. (To exactly what version, I wouldn't know; because I'm an ignoramus.)

Back on the root folder, I ran pushd vendor/vkd3d && ./autogen.sh && popd (no errors); and then make configure (no errors); and then make dxvk-dist.tar.xz, as instructed.

The build then leads to the following error:

Done installing wine libraries!
Bundling vendor libraries...
Adding the FAudio ingredient...
Creating FAudio distribution...
Stirring some vkd3d into wine...
Creating vkd3d distribution...
Spicing up with DXVK...
make[3]: *** No rule to make target 'dist.tar.xz'.  Stop.
make[2]: *** [makefile:153: vendor/dxvk/dist.tar.xz] Error 2
make[1]: *** [makefile:156: bundle-dxvkdist] Error 2
make: *** [makefile:176: dxvk-dist.tar.xz] Error 2

Indeed there's no makefile inside vendor/dxvk. I suppose that's meant to be generated, but it somehow isn't. I have meson and build-ninja installed. Running ./configure before make dxvk-dist.tar.xz doesn't help.

kakra commented 5 years ago

Oh ... I'll check that. Meanwhile, vendor/{dxvk,faudio,vkd3d} have a branch rebase/wine-proton which contains my changes. The master should follow upstream master. I corrected some mistakes in that area yesterday, let me check today, I probably just need to push the missing commit-id again.

kakra commented 5 years ago

This should work now, I tagged the previous commits needed so they won't become purged away by subsequently pushed rebases. The submodules are not strictly progressing forward in history but are rebased, too. I should really make some plumbing scripts around this on my side but your side should just work now.

kakra commented 5 years ago

Back on the root folder, I ran pushd vendor/vkd3d && ./autogen.sh && popd (no errors); and then make configure (no errors); and then make dxvk-dist.tar.xz, as instructed.

This step on vkd3d isn't needed, my makefiles take care of this - given they've been checked out (see above, fixed now).

Indeed there's no makefile inside vendor/dxvk. I suppose that's meant to be generated, but it somehow isn't. I have meson and build-ninja installed. Running ./configure before make dxvk-dist.tar.xz doesn't help.

Same here, it should have a makefile straight from my clone of vendor/dxvk.

You probably need to git submodule init --force or something similar, or just clean everything and checkout again.