Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't build; submodule references non-existent commit #57

Open
bmcorser opened this issue Sep 9, 2016 · 4 comments
Open

Can't build; submodule references non-existent commit #57

bmcorser opened this issue Sep 9, 2016 · 4 comments

Comments

@bmcorser
Copy link

bmcorser commented Sep 9, 2016

»»» Configuring Q³
»»» WARNING: This project is not actively under development
»»» WARNING: This script will build an old Rust version to run Q³
»»» Platform: OSX
»»» Build directory: /Users/ben/play/q3/build
»»» Source directory: /Users/ben/play/q3
»»» Updating submodules
error: no such remote ref 19c3f951efa151292a0d6e07ece41e5528e58863
Fetched in submodule path 'lib/rust-opengles', but it did not contain 19c3f951efa151292a0d6e07ece41e5528e58863. Direct fetching of that commit failed.
@ghost
Copy link

ghost commented Dec 1, 2017

I get a slightly different error message, if it helps

»»» Configuring Q³
»»» WARNING: This project is not actively under development
»»» WARNING: This script will build an old Rust version to run Q³
»»» Platform: Linux
»»» Build directory: /home/budkin/Documents/q3/build
»»» Source directory: /home/budkin/Documents/q3
»»» Updating submodules
error: Server does not allow request for unadvertised object 19c3f951efa151292a0d6e07ece41e5528e58863
Fetched in submodule path 'lib/rust-opengles', but it did not contain 19c3f951efa151292a0d6e07ece41e5528e58863. Direct fetching of that commit failed.

@Limeth
Copy link

Limeth commented Dec 4, 2017

Getting a similar error:

»»» Configuring Q³
»»» WARNING: This project is not actively under development
»»» WARNING: This script will build an old Rust version to run Q³
»»» Platform: Linux
»»» Build directory: /home/limeth/workspace/rust/q3/build
»»» Source directory: /home/limeth/workspace/rust/q3
»»» Updating submodules
fatal: reference is not a tree: 19c3f951efa151292a0d6e07ece41e5528e58863
fatal: reference is not a tree: 975d27a098fbf1a1e5a36779dae68e8afdcb8604
Unable to checkout '19c3f951efa151292a0d6e07ece41e5528e58863' in submodule path 'lib/rust-opengles'
Unable to checkout '975d27a098fbf1a1e5a36779dae68e8afdcb8604' in submodule path 'lib/stb-image'

@jeaye
Copy link
Owner

jeaye commented Dec 4, 2017

Looks to me like these guys have done a git rebase, so those hashes no longer exist. That's the only way, which comes to mind, that a working and frozen git repo would stop resolving hashes.

@jeaye
Copy link
Owner

jeaye commented Dec 4, 2017

Those missing commits are here:

servo/rust-opengles@19c3f95
servo/rust-stb-image@975d27a

Surprisingly both by me. I've repointed them both to master for those repos, but I get warnings when compiling the old Rust compiler on GCC 7.2.0. This would likely require patching either the old Rust code or the build system (to use -Werror=none and -w).

You can more easily debug with this:

diff --git a/configure b/configure
index 25bcaae..7b643ea 100755
--- a/configure
+++ b/configure
@@ -13,7 +13,7 @@
 # and keep the output at bay.
 if [ $# -ne 1 -o "$1" != "quiet" ];
 then
-  $0 "quiet" > /dev/null
+  $0 "quiet" #> /dev/null
   exit $?
 fi

This is what I'm seeing now:

/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp: In function ‘tinfl_status tinfl_decompress(tinfl_decompressor*, const mz_uint8*, size_t*, mz_uint8*, mz_uint8*, size_t*, mz_uint32)’:
/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp:578:9: error: this ‘for’ clause does not guard... [-Werror=misleading-indentation]
         for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
         ^~~
/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp:578:47: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’
         for ( i = 0; i <= 143; ++i) *p++ = 8; for ( ; i <= 255; ++i) *p++ = 9; for ( ; i <= 279; ++i) *p++ = 7; for ( ; i <= 287; ++i) *p++ = 8;
                                               ^~~
(cd /home/jeaye/projects/tmp/q3/lib/rust/src/libuv/ && /usr/bin/python2.7 ./gyp_uv.py -f make -Dtarget_arch=x64 -D ninja -DOS=linux -Goutput_dir=/home/jeaye/projects/tmp/q3/build/rust/x86_64-unknown-linux-gnu/rt/libuv --generator-output /home/jeaye/projects/tmp/q3/build/rust/x86_64-unknown-linux-gnu/rt/libuv)
/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp: In function ‘void tdefl_find_match(tdefl_compressor*, mz_uint, mz_uint, mz_uint, mz_uint*, mz_uint*)’:
/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp:1396:5: error: this ‘if’ clause does not guard... [-Werror=misleading-indentation]
     if (!dist) break; p = s; q = d->m_dict + probe_pos; for (probe_len = 0; probe_len < max_match_len; probe_len++) if (*p++ != *q++) break;
     ^~
/home/jeaye/projects/tmp/q3/lib/rust/src/rt/miniz.cpp:1396:23: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
     if (!dist) break; p = s; q = d->m_dict + probe_pos; for (probe_len = 0; probe_len < max_match_len; probe_len++) if (*p++ != *q++) break;
                       ^
compile: x86_64-unknown-linux-gnu/rt/uv_support/rust_uv.o

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants