Failed to recurse into submodule path 'qemu'

bung69

Member
Nov 15, 2021
22
5
8
38
Hi,

i am Trying to compile QEMU with nvdimm support.

previously compiled custom versions of PVE QEMU however this time i am having a problem recursivly cloneing the proxmox qemu repo.

when running:

Bash:
git clone --recursive git://git.proxmox.com/git/pve-qemu.git


Bash:
Resolving deltas: 100% (20568/20568), done.
Cloning into '/root/pve-qemu/qemu/roms/edk2/UnitTestFrameworkPkg/Library/SubhookLib/subhook'...
remote: Repository not found.
fatal: repository 'https://github.com/Zeex/subhook.git/' not found
fatal: clone of 'https://github.com/Zeex/subhook.git' into submodule path '/root/pve-qemu/qemu/roms/edk2/UnitTestFrameworkPkg/Library/SubhookLib/subhook' failed
Failed to clone 'UnitTestFrameworkPkg/Library/SubhookLib/subhook'. Retry scheduled
Cloning into '/root/pve-qemu/qemu/roms/edk2/UnitTestFrameworkPkg/Library/SubhookLib/subhook'...
remote: Repository not found.
fatal: repository 'https://github.com/Zeex/subhook.git/' not found
fatal: clone of 'https://github.com/Zeex/subhook.git' into submodule path '/root/pve-qemu/qemu/roms/edk2/UnitTestFrameworkPkg/Library/SubhookLib/subhook' failed
Failed to clone 'UnitTestFrameworkPkg/Library/SubhookLib/subhook' a second time, aborting
fatal: Failed to recurse into submodule path 'qemu/roms/edk2'
Submodule path 'qemu/roms/ipxe': checked out '4bd064de239dab2426b31c9789a1f4d78087dc63'
Submodule path 'qemu/roms/openbios': checked out 'af97fd7af5e7c18f591a7b987291d3db4ffb28b5'
Submodule path 'qemu/roms/opensbi': checked out 'a2b255b88918715173942f2c5e1f97ac9e90c877'
Submodule path 'qemu/roms/qboot': checked out '8ca302e86d685fa05b16e2b208888243da319941'
Submodule path 'qemu/roms/qemu-palcode': checked out '99d9b4dcf27d7fbcbadab71bdc88ef6531baf6bf'
Submodule path 'qemu/roms/seabios': checked out 'a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8'
Submodule path 'qemu/roms/seabios-hppa': checked out '03774edaad3bfae090ac96ca5450353c641637d1'
Submodule path 'qemu/roms/skiboot': checked out '24a7eb35966d93455520bc2debdd7954314b638b'
Submodule path 'qemu/roms/u-boot': checked out '840658b093976390e9537724f802281c9c8439f5'
Submodule path 'qemu/roms/u-boot-sam460ex': checked out '60b3916f33e617a815973c5a6df77055b2e3a588'
Submodule path 'qemu/roms/vbootrom': checked out '0c37a43527f0ee2b9584e7fb2fdc805e902635ac'
Submodule path 'qemu/tests/lcitool/libvirt-ci': checked out '77c800186f34b21be7660750577cc5582a914deb'
fatal: Failed to recurse into submodule path 'qemu'

does anyone know what i am doing wrong?

thanks
 
the problem is on the other end, not your machine - one of the (nested) git submodules became unavailable because the repository owner made their account private.. I don't think we actually need that submodule, so you can maybe clone the rest and skip that one?
 
Is there any solution for this issue now?
When I try to git clone git://git.proxmox.com/git/pve-qemu.git with submodules, I run into the problem described by @bung69, as edk2 submodule (https://gitlab.com/qemu-project/edk2.git) refers to non-existing Zeex (https://github.com/Zeex/subhook.git) repo. When I clone edk2 repo manually, the .gitmodule points to correct repo. Is it something I can fix myself when cloning qemu-pve? I don't know if it's problem with submodule dependencies are not updated or I am doing something wrong.
 
yes, just point the submodule at a working mirror
 
I am building qemu-pve as jenkins job, where jenkins git plugin takes care of fetching all repository dependencies recursively. It relies on submodule paths configured in .gitmodules files, and I can not manually replace invalid submodule path to something new, as whole checkout process seems an atomic operation, where I can not manually edit anything during checkout process.
Will this invalid path eventually be corrected in upstream, so the whole pve-qemu repository can be cloned in one operation again?
 
Hi did you have to build QEMU to get NVDIMM support in the end? We have some NVDIMM to put in Dell R640 and when playing couldn't get them to show correctly as they showed unmanaged.