/setup

Setup a new machine without sudo!

Primary LanguageShell

Setup a New Machine without sudo!

Download, compile and install commonly used software to a custom path.

Term of Usage

  • Star the repo before clone
  • File issue if it does not work
  • Unstar if you feel it is unmaintained

Usage

# configure setup path, you can put them into your `.bashrc` or `.zshrc`
export ZZROOT=$HOME/app
export PATH=$ZZROOT/bin:$PATH
export LD_LIBRARY_PATH=$ZZROOT/lib:$ZZROOT/lib64:$LD_LIBRARY_PATH

# e.g. install git
sh zzgit.sh

jlinstall

jlinstall is another way to install softwares. It uses pre-built binaries so that no compilation is needed. The default install path of jlinstall is JLROOT=$ZZROOT/jl.

export ZZROOT=$HOME/app
export JLROOT=$ZZROOT/jl
export PATH=$ZZROOT/bin:$JLROOT/bin:$PATH
export LD_LIBRARY_PATH=$ZZROOT/lib:$ZZROOT/lib64:$JLROOT/lib:$JLROOT/lib64:$LD_LIBRARY_PATH

NOTE: If the download speed of the machine is too slow, you can put the git.tar.gz (using git as an example) into $ZZROOT/downloads before running the script. For the download link, check the DOWNLOADURL variable in its script; for the exact name of the software, check the NAME variable.

NOTE2: If you compile from source, please make sure that they are compiled using the same gcc version!

Supported Softwares

Verified on Ubuntu 18.04

Updated: Dec 31, 2019

libs

tools

zz scripts & customized tools

zz configures

misc

faq

  • Q: My boost segfaluts :(
    A: Make sure they the boost are comipiled and linked using the same gcc/g++ version

  • Q: Cert verify failed: BADCERT_NOT_TRUSTED :(
    A: Try export SSL_CERT_DIR=/etc/ssl/certs

  • Q: warning: templates not found in /workspace/destdir/share/git-core/templates :(
    A: Add the following to $HOME/.gitconfig

[init]
        templatedir = $HOME/app/share/git-core/templates
  • Q: fatal: unable to find remote helper for 'https' :(
    A: Add the following to $HOME/.zshrc (or .bashrc of course)
export GIT_EXEC_PATH=$ZZROOT/libexec/git-core
export GIT_SSL_CAINFO=/etc/ssl/certs/ca-bundle.crt
  • Q: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications. :(
    A: Add the following to $HOME/.zshrc (or .bashrc of course)
export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/
  • Q: import pyvips segfault :(
    A: Make sure gstreamer-orc <0.4.30, imagemagick <7.0.9.
conda install -c conda-forge imagemagick=7.0.8
conda install -c conda-forge gstreamer-orc=0.4.29
  • Q: GitError(Code:ECERTIFICATE, Class:SSL, the SSL certificate is invalid: 0x08 - The certificate is not correctly signed by the trusted CA) :(
    A: Run the following
julia> import LibGit2
julia> LibGit2.set_ssl_cert_locations("/etc/ssl/certs/ca-certificates.crt")
  • Q: dotnet error :(
    A: Add the following to $HOME/.zshrc (or .bashrc of course)
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
export MSBuildSDKsPath=$DOTNET_ROOT/sdk/3.1.102/Sdks