The sound distributed version control system

#253 Build dependencies as of 1.1.0-alpha.31 for Ubuntu 20.04.1 LTS

Opened by alagopus on January 11, 2021
alagopus on January 11, 2021

Prepare:

    # apt install libzstd-dev libxxhash-dev

Build:

    $ cargo install pijul --version 1.0.0-alpha.31
    . . .
    Finished release [optimized] target(s) in 3m 56s
    Replacing /home/krennecke/.cargo/bin/pijul
    Replaced package `pijul v0.12.2` with `pijul v1.0.0-alpha.31` (executable `pijul`)

    $ pijul --version
    pijul 1.0.0-alpha.31
pmeunier on January 12, 2021

Hi! Thanks for the report. It seems everything worked, is there anything we need to do?

alagopus on January 12, 2021

If the dependencies remain until after the alpha phase it would be nice to document them in a install/build section.

alagopus on January 12, 2021

Cloning the pijul/pijul repository over ssh did not work with the compiled result. I had not tried this with 0.12 before so I don’t know if this is new. It seems to get stuck after “Cloning channel”:

$ pijul clone alagopus@nest.pijul.com:pijul/pijul
✓ Cloning channel
. . . no further activity, CPU idle . . .

Conversely, cloning the manual works:

$ pijul clone alagopus@nest.pijul.com:pijul/manual
✓ Cloning channel
✓ Downloading changes    44/44
✓ Outputting repository

Also, cloning pijul/pijul over HTTPS works as well:

$ pijul clone https://nest.pijul.com/pijul/pijul
✓ Updating remote changelist
✓ Applying changes      263/263
✓ Downloading changes   263/263
✓ Outputting repository
pmeunier on January 12, 2021

If the dependencies remain until after the alpha phase it would be nice to document them in a install/build section.

We have them in the manual: https://pijul.org/manual/installing.html

If you want to add something, feel free to open a discussion in https://nest.pijul.com/pijul/manual

I had not tried this with 0.12 before so I don’t know if this is new

Everything is new here, 1.0 is a rewrite from scratch. I can’t reproduce your SSH issue, how long did you wait? Also, the servers are in France, are you far away?

alagopus on January 12, 2021

Thank you for the pointer – I should have read that first. I’ll re-compile after installing the libraries for debian which I skipped.

Pulling from Germany, with 100MBit downstream.

In the meantime I created two repos on nest:

  • pijul-test with full history, this also gets stuck cloning through ssh.
  • pijul-flat without history, this clones OK but it shows a difference (probably user error)

Re-compile was not necessary:

# apt install make libsodium-dev libclang-dev pkg-config libssl-dev libxxhash-dev libzstd-dev clang
Reading package lists... Done
Building dependency tree
Reading state information... Done
libsodium-dev is already the newest version (1.0.18-1).
libzstd-dev is already the newest version (1.4.4+dfsg-3).
make is already the newest version (4.2.1-1.2).
pkg-config is already the newest version (0.29.1-0ubuntu4).
clang is already the newest version (1:10.0-50~exp1).
libclang-dev is already the newest version (1:10.0-50~exp1).
libxxhash-dev is already the newest version (0.7.3-1).
libssl-dev is already the newest version (1.1.1f-1ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Waiting one minute:

$ time pijul clone alagopus@nest.pijul.com:alagopus/pijul-test
✓ Cloning channel
^C
real	1m18,572s
user	0m0,464s
sys	0m0,478s
pmeunier on January 12, 2021

Re-compile was not necessary:

That’s what I would expect. The dependencies are really required, they don’t trigger extra features, so if the build succeeds, you’re good.

For the other issue, here’s what I get in ~10s:

$ pijul clone pmeunier@nest.pijul.com:alagopus/pijul-test
✓ Cloning channel
✓ Downloading changes   263/263
✓ Outputting repository

The output of RUST_LOG="thrussh=debug,pijul=debug" pijul clone alagopus@nest.pijul.com:alagopus/pijul-test would help debug that issue. It is designed to not contain any secrets, but it may contain identifying information such as your IP address, public key fingerprint, etc. If you don’t want that to become public, you can send it to pe@pijul.org

pmeunier on January 12, 2021

Thanks for the log! I don’t quite know what is happening. Can you reproduce with the version from a fresh clone (over HTTPS, of course)?

tankf33der on January 12, 2021

https://envs.sh/Wm.txt

I can reproduce on Ubuntu 20.04.01 LTS under VirtualBox 6.1 (Bridged Adapter) , I did it several times, hang always in the same place.