Update Ubuntu i386 build instructions (#739)

* Re-add Ubuntu 16.x i386 build instructions
* Fix Ubuntu 18.x / Lubuntu 18.x / Debian 9 i386 build instructions
This commit is contained in:
abraunegg 2019-11-28 12:30:52 +11:00 committed by GitHub
parent 4fcab8ff56
commit b4d76435dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,17 +15,19 @@ sudo apt install libsqlite3-dev
sudo apt install pkg-config
curl -fsS https://dlang.org/install.sh | bash -s dmd
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo apt install libnotify-dev
```
### Dependencies: Ubuntu / Lubuntu / Debian - i386 / i686
**Note:** Ubuntu validated with `Linux ubuntu-1804-lts-i386 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:26:51 UTC 2018 i686 i686 i686 GNU/Linux` and LDC - the LLVM D compiler (1.12.0).
**Note:** Debian validated with `Linux debian-i386 4.9.0-8-686-pae #1 SMP Debian 4.9.130-2 (2018-10-27) i686 GNU/Linux` and LDC - the LLVM D compiler (1.12.0).
**Note:** Lubuntu validated with `Linux alex-lubuntu-i686 4.18.0-10-generic #11-Ubuntu SMP Thu Oct 11 15:07:11 UTC 2018 i686 i686 i686 GNU/Linux` and LDC - the LLVM D compiler (1.12.0).
### Dependencies: Ubuntu 16.x - i386 / i686
**Note:** Ubuntu 16.x validated with the DMD compiler on the following Ubuntu i386 / i686 platform:
```text
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
```
First install development dependencies as per below:
```text
@ -36,22 +38,60 @@ sudo apt install pkg-config
sudo apt install git
sudo apt install curl
```
Second, install the LDC compiler as per below:
```text
mkdir ldc && cd ldc
wget http://httpredir.debian.org/debian/pool/main/g/gcc-8/gcc-8-base_8.3.0-6_i386.deb
wget http://httpredir.debian.org/debian/pool/main/g/gcc-8/libgcc1_8.3.0-6_i386.deb
wget http://httpredir.debian.org/debian/pool/main/l/ldc/libphobos2-ldc-shared82_1.12.0-1_i386.deb
wget http://httpredir.debian.org/debian/pool/main/l/ldc/libphobos2-ldc-shared-dev_1.12.0-1_i386.deb
wget http://httpredir.debian.org/debian/pool/main/l/ldc/ldc_1.12.0-1_i386.deb
wget http://httpredir.debian.org/debian/pool/main/l/llvm-toolchain-6.0/libllvm6.0_6.0.1-10_i386.deb
wget http://httpredir.debian.org/debian/pool/main/n/ncurses/libtinfo6_6.1+20190803-1_i386.deb
sudo dpkg -i ./*.deb
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo apt install libnotify-dev
```
Second, install the DMD compiler as per below:
```text
curl -fsS https://dlang.org/install.sh | bash -s dmd
```
### Dependencies: Ubuntu 18.x / Lubuntu 18.x / Debian 9 - i386 / i686
**Important:** The DMD compiler cannot be used in its default configuration on Ubuntu 18.x / Lubuntu 18.x / Debian 9 i386 / i686 architectures due to an issue in the Ubuntu / Debian linking process. See [https://issues.dlang.org/show_bug.cgi?id=19116](https://issues.dlang.org/show_bug.cgi?id=19116) for further details.
**Note:** Ubuntu 18.x validated with the DMD compiler on the following Ubuntu i386 / i686 platform:
```text
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
```
**Note:** Lubuntu 18.x validated with the DMD compiler on the following Lubuntu i386 / i686 platform:
```text
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.10
DISTRIB_CODENAME=cosmic
DISTRIB_DESCRIPTION="Ubuntu 18.10"
```
**Note:** Debian 9 validated with the DMD compiler on the following Debian i386 / i686 platform:
```text
cat /etc/debian_version
9.11
```
First install development dependencies as per below:
```text
sudo apt install build-essential
sudo apt install libcurl4-openssl-dev
sudo apt install libsqlite3-dev
sudo apt install pkg-config
sudo apt install git
sudo apt install curl
```
For notifications the following is also necessary:
```text
sudo apt install libnotify-dev
```
Second, install the DMD compiler as per below:
```text
curl -fsS https://dlang.org/install.sh | bash -s dmd
```
Thirdly, reconfigure the default linker as per below:
```text
sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.gold" 20
sudo update-alternatives --install "/usr/bin/ld" "ld" "/usr/bin/ld.bfd" 10
```
### Dependencies: Fedora < Version 18 / CentOS / RHEL
```text
@ -60,7 +100,7 @@ sudo yum install libcurl-devel
sudo yum install sqlite-devel
curl -fsS https://dlang.org/install.sh | bash -s dmd
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo yum install libnotify-devel
```
@ -83,7 +123,7 @@ sudo dnf install libcurl-devel
sudo dnf install sqlite-devel
curl -fsS https://dlang.org/install.sh | bash -s dmd
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo dnf install libnotify-devel
```
@ -92,7 +132,7 @@ sudo dnf install libnotify-devel
```text
sudo pacman -S curl sqlite dmd
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo pacman -S libnotify
```
@ -106,7 +146,7 @@ sudo apt-get install pkg-config
wget https://github.com/ldc-developers/ldc/releases/download/v1.16.0/ldc2-1.16.0-linux-armhf.tar.xz
tar -xvf ldc2-1.16.0-linux-armhf.tar.xz
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo apt install libnotify-dev
```
@ -120,7 +160,7 @@ sudo apt-get install pkg-config
wget https://github.com/ldc-developers/ldc/releases/download/v1.16.0/ldc2-1.16.0-linux-aarch64.tar.xz
tar -xvf ldc2-1.16.0-linux-aarch64.tar.xz
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo apt install libnotify-dev
```
@ -132,7 +172,7 @@ sudo layman -a dlang
```
Add ebuild from contrib/gentoo to a local overlay to use.
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo emerge x11-libs/libnotify
```
@ -142,7 +182,7 @@ sudo emerge x11-libs/libnotify
sudo zypper addrepo --check --refresh --name "D" http://download.opensuse.org/repositories/devel:/languages:/D/openSUSE_Leap_15.0/devel:languages:D.repo
sudo zypper install git libcurl-devel sqlite3-devel D:dmd D:libphobos2-0_81 D:phobos-devel D:phobos-devel-static
```
For notifications the following is necessary:
For notifications the following is also necessary:
```text
sudo zypper install libnotify-devel
```
@ -187,15 +227,6 @@ as far as possible automatically, but can be overridden by passing
`--with-zsh-completion-dir=<DIR>` to `configure`.
### Building using a different compiler (for example [LDC](https://wiki.dlang.org/LDC))
#### Ubuntu / Lubuntu / Debian - i386 / i686
```text
git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure DC=ldc2
make clean; make
sudo make install
```
#### ARMHF Architecture
```text
git clone https://github.com/abraunegg/onedrive.git
@ -226,5 +257,3 @@ If you want to just delete the application key, but keep the items database:
```text
rm -f ~/.config/onedrive/refresh_token
```