Closed jacklovell closed 5 years ago
@jacklovell
On my test Ubuntu system, after install ldc
:
root@ubuntu-x64-18:~# apt install ldc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libllvm6.0 libphobos2-ldc-shared-dev libphobos2-ldc-shared81
The following NEW packages will be installed:
ldc libllvm6.0 libphobos2-ldc-shared-dev libphobos2-ldc-shared81
0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
Need to get 32.1 MB of archives.
After this operation, 167 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu cosmic/universe amd64 libllvm6.0 amd64 1:6.0.1-9 [14.7 MB]
Get:2 http://archive.ubuntu.com/ubuntu cosmic/universe amd64 libphobos2-ldc-shared81 amd64 1:1.11.0-2 [8,399 kB]
Get:3 http://archive.ubuntu.com/ubuntu cosmic/universe amd64 libphobos2-ldc-shared-dev amd64 1:1.11.0-2 [6,028 kB]
Get:4 http://archive.ubuntu.com/ubuntu cosmic/universe amd64 ldc amd64 1:1.11.0-2 [2,912 kB]
Fetched 32.1 MB in 2min 40s (200 kB/s)
Selecting previously unselected package libllvm6.0:amd64.
(Reading database ... 105900 files and directories currently installed.)
Preparing to unpack .../libllvm6.0_1%3a6.0.1-9_amd64.deb ...
Unpacking libllvm6.0:amd64 (1:6.0.1-9) ...
Selecting previously unselected package libphobos2-ldc-shared81:amd64.
Preparing to unpack .../libphobos2-ldc-shared81_1%3a1.11.0-2_amd64.deb ...
Unpacking libphobos2-ldc-shared81:amd64 (1:1.11.0-2) ...
Selecting previously unselected package libphobos2-ldc-shared-dev.
Preparing to unpack .../libphobos2-ldc-shared-dev_1%3a1.11.0-2_amd64.deb ...
Unpacking libphobos2-ldc-shared-dev (1:1.11.0-2) ...
Selecting previously unselected package ldc.
Preparing to unpack .../ldc_1%3a1.11.0-2_amd64.deb ...
Unpacking ldc (1:1.11.0-2) ...
Setting up libllvm6.0:amd64 (1:6.0.1-9) ...
Setting up libphobos2-ldc-shared81:amd64 (1:1.11.0-2) ...
Setting up libphobos2-ldc-shared-dev (1:1.11.0-2) ...
Processing triggers for libc-bin (2.28-0ubuntu1) ...
Processing triggers for man-db (2.8.4-2) ...
Setting up ldc (1:1.11.0-2) ...
root@ubuntu-x64-18:~#
root@ubuntu-x64-18:~# ldc2 --version
LDC - the LLVM D compiler (1.11.0):
based on DMD v2.081.2 and LLVM 6.0.1
built with LDC - the LLVM D compiler (0.17.6)
Default target: x86_64-pc-linux-gnu
Host CPU: penryn
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
mips - Mips
mips64 - Mips64 [experimental]
mips64el - Mips64el [experimental]
mipsel - Mipsel
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
When building with ldmd2
:
root@ubuntu-x64-18:~/code/onedrive# ldmd2 --version
LDC - the LLVM D compiler (1.11.0):
based on DMD v2.081.2 and LLVM 6.0.1
built with LDC - the LLVM D compiler (0.17.6)
Default target: x86_64-pc-linux-gnu
Host CPU: penryn
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
mips - Mips
mips64 - Mips64 [experimental]
mips64el - Mips64el [experimental]
mipsel - Mipsel
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
root@ubuntu-x64-18:~/code/onedrive# make DC=ldmd2
ldmd2 -w -g -ofonedrive -O -L-lcurl -L-lsqlite3 -L-ldl -J. src/config.d src/itemdb.d src/log.d src/main.d src/monitor.d src/onedrive.d src/qxor.d src/selective.d src/sqlite.d src/sync.d src/upload.d src/util.d src/progress.d
sed "s|@PREFIX@|/usr/local|g" systemd.units/onedrive.service.in > onedrive.service
sed "s|@PREFIX@|/usr/local|g" systemd.units/onedrive@.service.in > onedrive@.service
sed "s|@DOCDIR@|/usr/local/share/doc/onedrive|g" onedrive.1.in > onedrive.1
When building with ldc2
:
root@ubuntu-x64-18:~/code/onedrive# ldc2 --version
LDC - the LLVM D compiler (1.11.0):
based on DMD v2.081.2 and LLVM 6.0.1
built with LDC - the LLVM D compiler (0.17.6)
Default target: x86_64-pc-linux-gnu
Host CPU: penryn
http://dlang.org - http://wiki.dlang.org/LDC
Registered Targets:
aarch64 - AArch64 (little endian)
aarch64_be - AArch64 (big endian)
amdgcn - AMD GCN GPUs
arm - ARM
arm64 - ARM64 (little endian)
armeb - ARM (big endian)
avr - Atmel AVR Microcontroller
bpf - BPF (host endian)
bpfeb - BPF (big endian)
bpfel - BPF (little endian)
hexagon - Hexagon
lanai - Lanai
mips - Mips
mips64 - Mips64 [experimental]
mips64el - Mips64el [experimental]
mipsel - Mipsel
msp430 - MSP430 [experimental]
nvptx - NVIDIA PTX 32-bit
nvptx64 - NVIDIA PTX 64-bit
ppc32 - PowerPC 32
ppc64 - PowerPC 64
ppc64le - PowerPC 64 LE
r600 - AMD GPUs HD2XXX-HD6XXX
sparc - Sparc
sparcel - Sparc LE
sparcv9 - Sparc V9
systemz - SystemZ
thumb - Thumb
thumbeb - Thumb (big endian)
wasm32 - WebAssembly 32-bit
wasm64 - WebAssembly 64-bit
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
xcore - XCore
root@ubuntu-x64-18:~/code/onedrive# make DC=ldc2
ldc2 -w -g -ofonedrive -O -L-lcurl -L-lsqlite3 -L-ldl -J. src/config.d src/itemdb.d src/log.d src/main.d src/monitor.d src/onedrive.d src/qxor.d src/selective.d src/sqlite.d src/sync.d src/upload.d src/util.d src/progress.d
sed "s|@PREFIX@|/usr/local|g" systemd.units/onedrive.service.in > onedrive.service
sed "s|@PREFIX@|/usr/local|g" systemd.units/onedrive@.service.in > onedrive@.service
sed "s|@DOCDIR@|/usr/local/share/doc/onedrive|g" onedrive.1.in > onedrive.1
Can you please revalidate how & where you are getting the ldc packages from?
You appear to have a newer version of LDC than I do. Mine comes from the Ubuntu 18.04 repository:
jlovell@jlovell-thinkpad:~/Software/onedrive$ apt show ldc
Package: ldc
Version: 1:1.8.0-1
Priority: extra
Section: universe/devel
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian D Language Group <pkg-d-devel@lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 14.2 MB
Provides: d-compiler, d-v2-compiler
Depends: libphobos2-ldc-shared-dev (= 1:1.8.0-1), libc6 (>= 2.14), libgcc1 (>= 1:3.3), libllvm5.0 (>= 1:5.0~svn298832-1~), libstdc++6 (>= 5.2), zlib1g (>= 1:1.2.0)
Homepage: https://github.com/ldc-developers/ldc
Download-Size: 2,826 kB
APT-Manual-Installed: yes
APT-Sources: http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Description: LLVM D Compiler
LDC is a compiler for the D programming Language. It is based on the
latest DMD frontend and uses LLVM as backend.
.
This is the actual ldc compiler
Perhaps there were some additions to LDC between Ubuntu 18.04 (bionic, mine) and 18.10 (cosmic, yours) which are required for building. I note also that LDC 1.8.0 is based on DMD v2.078.3 and LLVM 5.0.1, whereas LDC 1.11.0 is based on DMD v2.081.2 and LLVM 6.0.1.
Is there a minimum version requirement for DMD/LDC? The Readme seems to suggest that LDC 1.8.0 should work, at least on Debian i686.
@jacklovell The readme needs to be updated in that regards - you need you compile with a DMD version >= 2.081.1 or LDC >= 1.11.0
Debian i686 is a compiler edge case where the normal DMD compiler fails to operate properly, the DMD packages are not properly packaged, thus you need to use another repository to compile.
Updated readme - https://github.com/abraunegg/onedrive/commit/b15948ed6a22c3897a0fe378d4541f3263271e35
Closing issue as this is a compiler compatibility issue due to old compiler version.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Bug Report Details
Describe the bug When attempting to build the latest master (493520a) with
make DC=ldmd2
, I get the following error:Application and Operating System Details:
uname -a
& provide your OS & version (CentOS 6.x, Ubuntu 18.x etc)Linux jlovell-ThinkPad-X1-Carbon-5th 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
. Linux Mint 19.1, based on Ubuntu 18.04.DMD or LDC compiler version
dmd --version
orldmd2 --version
onedrive --display-config
N/Acurl --version
N/ATo Reproduce Steps to reproduce the behavior if not causing an application crash:
make DC=ldmd2
(also appears when using ldc2)Additional context This is on a fresh install of Linux Mint 19.1.
Bug Report Checklist