fpw / avitab

X-Plane plugin that displays a tablet to aid VR usage
GNU Affero General Public License v3.0
300 stars 59 forks source link

git submodule update --init throws errors with removed, but still cached submodule library folders #144

Closed cyberang3l closed 1 year ago

cyberang3l commented 1 year ago
$ git submodule update --init --recursive
Submodule 'lib/QuickJS' (https://github.com/ldarren/QuickJS/) registered for path 'lib/QuickJS'
Submodule 'lib/XSDK' (https://github.com/fpw/XSDK) registered for path 'lib/XSDK'
fatal: No url found for submodule path 'lib/cairo' in .gitmodules

These folders are:

Seems like a git rm --cached lib/cairo fixes the problem

fpw commented 1 year ago

Thanks for the PR, these were leftovers from earlier experiments.

mjh65 commented 1 year ago

I'm still seeing issues with these 3 submodules when cloning the repo (or my fork):

% git clone https://github.com/fpw/avitab.git % cd avitab % git submodule -ce4856e3856a4a420ef3e5da74098a987beea90e lib/QuickJS -c9ddc21e3244a398b45f3f9d07d7ae8653485cb2 lib/XSDK fatal: no submodule mapping found in .gitmodules for path 'lib/cairo'

I'm puzzled, because the commit that fixed the PR is in the master branch history.

fpw commented 1 year ago

Could that be an issue on the fork? I just tried this from scratch and it worked:

$ git clone --recursive  https://github.com/fpw/avitab.git
Cloning into 'avitab'...
remote: Enumerating objects: 7200, done.
remote: Counting objects: 100% (644/644), done.
remote: Compressing objects: 100% (147/147), done.
remote: Total 7200 (delta 542), reused 529 (delta 497), pack-reused 6556
Receiving objects: 100% (7200/7200), 4.63 MiB | 21.00 MiB/s, done.
Resolving deltas: 100% (5762/5762), done.
Submodule 'lib/QuickJS' (https://github.com/ldarren/QuickJS/) registered for path 'lib/QuickJS'
Submodule 'lib/XSDK' (https://github.com/fpw/XSDK) registered for path 'lib/XSDK'
Submodule 'lib/curl' (https://github.com/curl/curl) registered for path 'lib/curl'
Submodule 'lib/detex' (https://github.com/hglm/detex) registered for path 'lib/detex'
Submodule 'lib/filesystem' (https://github.com/gulrak/filesystem.git) registered for path 'lib/filesystem'
Submodule 'lib/json' (https://github.com/nlohmann/json) registered for path 'lib/json'
Submodule 'lib/libgeotiff' (https://github.com/OSGeo/libgeotiff) registered for path 'lib/libgeotiff'
Submodule 'lib/libtiff' (https://github.com/vadz/libtiff) registered for path 'lib/libtiff'
Submodule 'lib/lvgl' (https://github.com/littlevgl/lvgl.git) registered for path 'lib/lvgl'
Submodule 'lib/mbedtls' (https://github.com/ARMmbed/mbedtls) registered for path 'lib/mbedtls'
Submodule 'lib/mupdf' (https://github.com/ArtifexSoftware/mupdf) registered for path 'lib/mupdf'
Submodule 'lib/proj' (https://github.com/OSGeo/proj.4) registered for path 'lib/proj'
Submodule 'lib/stb' (https://github.com/nothings/stb) registered for path 'lib/stb'folko@rme-vision:~$ git clone --recursive  https://github.com/fpw/avitab.git
Cloning into 'avitab'...
...
Submodule path 'lib/mupdf/thirdparty/curl': checked out '6394b3a31f969c02c846c22cc0dcc29fe2af2d70'
Submodule path 'lib/mupdf/thirdparty/freeglut': checked out '21f059e4b1489d3fab3f94a65ebebc0f80886237'
Submodule path 'lib/mupdf/thirdparty/freetype': checked out '53073ed7966e0fe648a96861a640fad0a4ef7aee'
Submodule path 'lib/mupdf/thirdparty/harfbuzz': checked out '54d332dd9b0263821376161cdffb60ffb3c7847f'
Submodule path 'lib/mupdf/thirdparty/jbig2dec': checked out '3be4a40ddad5ef1cdaffd4bbab4be490f466d018'
Submodule path 'lib/mupdf/thirdparty/lcms2': checked out '05db680de2d7178be21450bc0cc909460c7d4aeb'
Submodule path 'lib/mupdf/thirdparty/libjpeg': checked out '9a532f2d544f218c8a237ebb56d09e24161c196c'
Submodule path 'lib/mupdf/thirdparty/mujs': checked out '00d4606c3baf813b7b1c176823b2729bf51002a2'
Submodule path 'lib/mupdf/thirdparty/openjpeg': checked out '0c286d07292f780b2a154e9b47c2a675decf2045'
Submodule path 'lib/mupdf/thirdparty/zlib': checked out 'dea93d29387877a582fb57139378af312acd5400'
Submodule path 'lib/proj': checked out '98ba73123dafe1fb56e4a9c6aef4555023d020e3'
Submodule path 'lib/stb': checked out '59e9702be5bfc0061e756c7beab7dcd3d363400d'
mjh65 commented 1 year ago

I don't think the problem is with my repo fork, since I get the same problems with the origin fpw/avitab.

Could you try the following 3 commands (in an empty directory): % git clone --recursive https://github.com/fpw/avitab.git % cd avitab % git submodule status

Ignoring the output from the first 2 commands, I get this in response to the third command.

ce4856e3856a4a420ef3e5da74098a987beea90e lib/QuickJS (ce4856e) c9ddc21e3244a398b45f3f9d07d7ae8653485cb2 lib/XSDK (v3.0.1-3-gc9ddc21) fatal: no submodule mapping found in .gitmodules for path 'lib/cairo'

Maybe this is a git bug? Or is there some kind of global git cache on my PC which is interfering with my attempt to clone a completely clean repo.

fpw commented 1 year ago

Ah, I'm getting the same error on the third command even though the first one was successful. But it doesn't seem to matter as it only affects the cairo directory. It's not referenced anywhere, so you should be able to build everything just fine even though the cairo directory is empty. I'll still try to get this fixed, thanks for making me aware!

mjh65 commented 1 year ago

Yes, it's not really affecting the build. I ran into the problem when reviving an old git clone that was last used before the recent XP SDK updates. I tried to run 'git submodule update' which aborted fatally, although fortunately the XSDK submodule had been updated before it exited.

I've done a little bit of web searching, and I think that perhaps the obsolete submodules need to be 'deinit'ed in addition to being 'rm'ed?

fpw commented 1 year ago

Should be fixed now, running your suggested experiment on the latest master is successful now.

mjh65 commented 1 year ago

Yes, is fixed now. I'll sync my fork. Thanks!