skilion / onedrive

Free Client for OneDrive on Linux
GNU General Public License v3.0
4.01k stars 348 forks source link

error building under opensuse-tumbleweed #331

Closed jaraudea closed 6 years ago

jaraudea commented 6 years ago

Error building on opensuse tumbleweed with following deps: libcurl-devel: 7.59.0-1.1 sqlite3-devel: 3.23.0-207.1 dmd: 2.079.0-2.1 phobos-devel: 2.079.0-2.1 phobos-devel-static: 2.079.0-2.1

/usr/lib64/libphobos2.a(uri.o):(.data.rel.ro+0x10): undefined reference to '_D3std3uri12URIException7__ClassZ' /usr/lib64/libphobos2.a(interval.o):(.data.rel.ro+0x10): undefined reference to '_D4core4time12__ModuleInfoZ' /usr/lib64/libphobos2.a(bitop.o):(.data.rel.ro+0x10): undefined reference to '_D4core5cpuid12__ModuleInfoZ' /usr/lib64/libphobos2.a(bitop.o):(.data.rel.ro+0x18): undefined reference to '_D4core5cpuid12__ModuleInfoZ' /usr/lib64/libphobos2.a(spinlock.o):(.data.rel.ro+0x10): undefined reference to '_D4core6thread12__ModuleInfoZ' collect2: error: ld returned 1 exit status Error: linker exited with status 1 make: *** [Makefile:29: onedrive] Error 1

cbcoutinho commented 6 years ago

I just tested this as well and it seems to break even previous versions of onedrive (eg. 1.1.1) on Tumbleweed - maybe a regression in the dmd compiler or phobos?

madchap commented 6 years ago

Hey,

I happened to just do a build (make clean, make, sudo make install) against the lastest master as of now, noticed dmd had a minor update. It compiled without any issues for me. I am running opensuse snapshot 20180410.

cbcoutinho commented 6 years ago

I just tried to rebuild onedrive on Tumbleweed after the latest snapshot (distribution update this morning), and I'm still not able to build onedrive

$ dmd --version
DMD64 D Compiler v2.079.1
Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved written by Walter Bright

Here's the output of make clean && make > output.txt 2>&1 on the latest clone of master: https://pastebin.com/CVAceFGB

abraunegg commented 6 years ago

OK - it is defiantly a localized build environment issue.

What is the contents of your dmd.conf?

# cat /etc/dmd.conf
;
; dmd.conf file for dmd
;
; dmd will look for dmd.conf in the following sequence of directories:
;   - current working directory
;   - directory specified by the HOME environment variable
;   - directory dmd resides in
;   - /etc directory
;
; Names enclosed by %% are searched for in the existing environment and inserted
;
; The special name %@P% is replaced with the path to this file
;

[Environment32]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/i386-linux-gnu -L--export-dynamic

[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/x86_64-linux-gnu -L--export-dynamic -fPIC

You may need to manually add the include paths below to your build command

jaraudea commented 6 years ago

`dmd --version DMD64 D Compiler v2.079.1 Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved written by Walter Bright ajaramillo@localhost:~> cat /etc/dmd.conf ; ; dmd.conf file for dmd ; ; dmd will look for dmd.conf in the following sequence of directories: ; - current working directory ; - directory specified by the HOME environment variable ; - directory dmd resides in ; - /etc directory ; ; Names enclosed by %% are searched for in the existing environment and inserted ; ; The special name %@P% is replaced with the path to this file ;

[Environment32] DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib -L--export-dynamic -fPIC

[Environment64] DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib64 -L--export-dynamic -fPIC`

abraunegg commented 6 years ago

The search path's for DMD in your dmd.conf look incorrect. You need to know where these two items are on your system:

I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import

Then ensure that your build command is including them by ensuring your dmd.conf file replicates at least something like below using the actual paths where phobos & druntime/import are located:

[Environment32]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/i386-linux-gnu -L--export-dynamic

[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/x86_64-linux-gnu -L--export-dynamic -fPIC
cbcoutinho commented 6 years ago

As far as I can tell Tumbleweed has a different phobos-devel setup than expected. Here's a copy of my dmd.conf:

;
; dmd.conf file for dmd
;
; dmd will look for dmd.conf in the following sequence of directories:
;   - current working directory
;   - directory specified by the HOME environment variable
;   - directory dmd resides in
;   - /etc directory
;
; Names enclosed by %% are searched for in the existing environment and inserted
;
; The special name %@P% is replaced with the path to this file
;

[Environment32]
DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib -L--export-dynamic -fPIC

[Environment64]
DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib64 -L--export-dynamic -fPIC

Which doesn't contain an include statement to /usr/include/dmd/phobos. On my system, here's the directory layout of /usr/include/dlang/dmd:

$ tree /usr/include/dlang/dmd -d
/usr/include/dlang/dmd
├── core
│   ├── internal
│   ├── stdc
│   ├── stdcpp
│   ├── sync
│   └── sys
│       ├── darwin
│       │   ├── mach
│       │   ├── netinet
│       │   └── sys
│       ├── dragonflybsd
│       │   ├── netinet
│       │   └── sys
│       ├── freebsd
│       │   ├── netinet
│       │   └── sys
│       ├── linux
│       │   ├── netinet
│       │   └── sys
│       │       └── netinet
│       ├── openbsd
│       ├── osx
│       │   ├── mach
│       │   └── sys
│       ├── posix
│       │   ├── arpa
│       │   ├── net
│       │   ├── netinet
│       │   └── sys
│       ├── solaris
│       │   └── sys
│       └── windows
├── etc
│   ├── c
│   │   ├── odbc
│   │   └── zlib
│   └── linux
└── std
    ├── algorithm
    ├── c
    │   ├── freebsd
    │   ├── linux
    │   ├── osx
    │   └── windows
    ├── container
    ├── datetime
    ├── digest
    ├── experimental
    │   ├── allocator
    │   │   └── building_blocks
    │   └── logger
    ├── internal
    │   ├── digest
    │   ├── math
    │   ├── test
    │   └── windows
    ├── net
    ├── range
    ├── regex
    │   └── internal
    └── windows

61 directories

Also, for completeness, here are the files supplied by the phobos-devel package:

$ rpm -ql phobos-devel
/usr/include/dlang
/usr/include/dlang/dmd
/usr/include/dlang/dmd/core
/usr/include/dlang/dmd/core/atomic.d
/usr/include/dlang/dmd/core/attribute.d
/usr/include/dlang/dmd/core/bitop.d
/usr/include/dlang/dmd/core/checkedint.d
/usr/include/dlang/dmd/core/cpuid.d
/usr/include/dlang/dmd/core/demangle.d
/usr/include/dlang/dmd/core/exception.d
/usr/include/dlang/dmd/core/internal
/usr/include/dlang/dmd/core/internal/abort.d
/usr/include/dlang/dmd/core/internal/arrayop.d
/usr/include/dlang/dmd/core/internal/convert.d
/usr/include/dlang/dmd/core/internal/hash.d
/usr/include/dlang/dmd/core/internal/parseoptions.d
/usr/include/dlang/dmd/core/internal/spinlock.d
/usr/include/dlang/dmd/core/internal/string.d
/usr/include/dlang/dmd/core/internal/traits.d
/usr/include/dlang/dmd/core/math.d
/usr/include/dlang/dmd/core/memory.d
/usr/include/dlang/dmd/core/runtime.d
/usr/include/dlang/dmd/core/simd.d
/usr/include/dlang/dmd/core/stdc
/usr/include/dlang/dmd/core/stdc/assert_.d
/usr/include/dlang/dmd/core/stdc/complex.d
/usr/include/dlang/dmd/core/stdc/config.d
/usr/include/dlang/dmd/core/stdc/ctype.d
/usr/include/dlang/dmd/core/stdc/errno.d
/usr/include/dlang/dmd/core/stdc/fenv.d
/usr/include/dlang/dmd/core/stdc/float_.d
/usr/include/dlang/dmd/core/stdc/inttypes.d
/usr/include/dlang/dmd/core/stdc/limits.d
/usr/include/dlang/dmd/core/stdc/locale.d
/usr/include/dlang/dmd/core/stdc/math.d
/usr/include/dlang/dmd/core/stdc/signal.d
/usr/include/dlang/dmd/core/stdc/stdarg.d
/usr/include/dlang/dmd/core/stdc/stddef.d
/usr/include/dlang/dmd/core/stdc/stdint.d
/usr/include/dlang/dmd/core/stdc/stdio.d
/usr/include/dlang/dmd/core/stdc/stdlib.d
/usr/include/dlang/dmd/core/stdc/string.d
/usr/include/dlang/dmd/core/stdc/tgmath.d
/usr/include/dlang/dmd/core/stdc/time.d
/usr/include/dlang/dmd/core/stdc/wchar_.d
/usr/include/dlang/dmd/core/stdc/wctype.d
/usr/include/dlang/dmd/core/stdcpp
/usr/include/dlang/dmd/core/stdcpp/exception.d
/usr/include/dlang/dmd/core/stdcpp/typeinfo.d
/usr/include/dlang/dmd/core/sync
/usr/include/dlang/dmd/core/sync/barrier.di
/usr/include/dlang/dmd/core/sync/condition.di
/usr/include/dlang/dmd/core/sync/config.di
/usr/include/dlang/dmd/core/sync/exception.di
/usr/include/dlang/dmd/core/sync/mutex.di
/usr/include/dlang/dmd/core/sync/rwmutex.di
/usr/include/dlang/dmd/core/sync/semaphore.di
/usr/include/dlang/dmd/core/sys
/usr/include/dlang/dmd/core/sys/darwin
/usr/include/dlang/dmd/core/sys/darwin/execinfo.d
/usr/include/dlang/dmd/core/sys/darwin/mach
/usr/include/dlang/dmd/core/sys/darwin/mach/dyld.d
/usr/include/dlang/dmd/core/sys/darwin/mach/getsect.d
/usr/include/dlang/dmd/core/sys/darwin/mach/kern_return.d
/usr/include/dlang/dmd/core/sys/darwin/mach/loader.d
/usr/include/dlang/dmd/core/sys/darwin/mach/port.d
/usr/include/dlang/dmd/core/sys/darwin/mach/semaphore.d
/usr/include/dlang/dmd/core/sys/darwin/mach/thread_act.d
/usr/include/dlang/dmd/core/sys/darwin/netinet
/usr/include/dlang/dmd/core/sys/darwin/netinet/in_.d
/usr/include/dlang/dmd/core/sys/darwin/pthread.d
/usr/include/dlang/dmd/core/sys/darwin/sys
/usr/include/dlang/dmd/core/sys/darwin/sys/cdefs.d
/usr/include/dlang/dmd/core/sys/darwin/sys/event.d
/usr/include/dlang/dmd/core/sys/darwin/sys/mman.d
/usr/include/dlang/dmd/core/sys/dragonflybsd
/usr/include/dlang/dmd/core/sys/dragonflybsd/dlfcn.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/execinfo.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/netinet
/usr/include/dlang/dmd/core/sys/dragonflybsd/netinet/in_.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/pthread_np.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/_bitset.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/_cpuset.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/cdefs.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/elf.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/elf32.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/elf64.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/elf_common.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/event.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/link_elf.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/sys/mman.d
/usr/include/dlang/dmd/core/sys/dragonflybsd/time.d
/usr/include/dlang/dmd/core/sys/freebsd
/usr/include/dlang/dmd/core/sys/freebsd/dlfcn.d
/usr/include/dlang/dmd/core/sys/freebsd/execinfo.d
/usr/include/dlang/dmd/core/sys/freebsd/netinet
/usr/include/dlang/dmd/core/sys/freebsd/netinet/in_.d
/usr/include/dlang/dmd/core/sys/freebsd/pthread_np.d
/usr/include/dlang/dmd/core/sys/freebsd/sys
/usr/include/dlang/dmd/core/sys/freebsd/sys/_bitset.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/_cpuset.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/cdefs.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/elf.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/elf32.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/elf64.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/elf_common.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/event.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/link_elf.d
/usr/include/dlang/dmd/core/sys/freebsd/sys/mman.d
/usr/include/dlang/dmd/core/sys/freebsd/time.d
/usr/include/dlang/dmd/core/sys/linux
/usr/include/dlang/dmd/core/sys/linux/config.d
/usr/include/dlang/dmd/core/sys/linux/dlfcn.d
/usr/include/dlang/dmd/core/sys/linux/elf.d
/usr/include/dlang/dmd/core/sys/linux/epoll.d
/usr/include/dlang/dmd/core/sys/linux/errno.d
/usr/include/dlang/dmd/core/sys/linux/execinfo.d
/usr/include/dlang/dmd/core/sys/linux/fcntl.d
/usr/include/dlang/dmd/core/sys/linux/ifaddrs.d
/usr/include/dlang/dmd/core/sys/linux/link.d
/usr/include/dlang/dmd/core/sys/linux/netinet
/usr/include/dlang/dmd/core/sys/linux/netinet/in_.d
/usr/include/dlang/dmd/core/sys/linux/netinet/tcp.d
/usr/include/dlang/dmd/core/sys/linux/sched.d
/usr/include/dlang/dmd/core/sys/linux/sys
/usr/include/dlang/dmd/core/sys/linux/sys/auxv.d
/usr/include/dlang/dmd/core/sys/linux/sys/eventfd.d
/usr/include/dlang/dmd/core/sys/linux/sys/file.d
/usr/include/dlang/dmd/core/sys/linux/sys/inotify.d
/usr/include/dlang/dmd/core/sys/linux/sys/mman.d
/usr/include/dlang/dmd/core/sys/linux/sys/netinet
/usr/include/dlang/dmd/core/sys/linux/sys/netinet/tcp.d
/usr/include/dlang/dmd/core/sys/linux/sys/prctl.d
/usr/include/dlang/dmd/core/sys/linux/sys/signalfd.d
/usr/include/dlang/dmd/core/sys/linux/sys/socket.d
/usr/include/dlang/dmd/core/sys/linux/sys/sysinfo.d
/usr/include/dlang/dmd/core/sys/linux/sys/time.d
/usr/include/dlang/dmd/core/sys/linux/sys/xattr.d
/usr/include/dlang/dmd/core/sys/linux/termios.d
/usr/include/dlang/dmd/core/sys/linux/time.d
/usr/include/dlang/dmd/core/sys/linux/timerfd.d
/usr/include/dlang/dmd/core/sys/linux/tipc.d
/usr/include/dlang/dmd/core/sys/linux/unistd.d
/usr/include/dlang/dmd/core/sys/openbsd
/usr/include/dlang/dmd/core/sys/openbsd/dlfcn.d
/usr/include/dlang/dmd/core/sys/osx
/usr/include/dlang/dmd/core/sys/osx/execinfo.d
/usr/include/dlang/dmd/core/sys/osx/mach
/usr/include/dlang/dmd/core/sys/osx/mach/dyld.d
/usr/include/dlang/dmd/core/sys/osx/mach/getsect.d
/usr/include/dlang/dmd/core/sys/osx/mach/kern_return.d
/usr/include/dlang/dmd/core/sys/osx/mach/loader.d
/usr/include/dlang/dmd/core/sys/osx/mach/port.d
/usr/include/dlang/dmd/core/sys/osx/mach/semaphore.d
/usr/include/dlang/dmd/core/sys/osx/mach/thread_act.d
/usr/include/dlang/dmd/core/sys/osx/pthread.d
/usr/include/dlang/dmd/core/sys/osx/sys
/usr/include/dlang/dmd/core/sys/osx/sys/cdefs.d
/usr/include/dlang/dmd/core/sys/osx/sys/mman.d
/usr/include/dlang/dmd/core/sys/posix
/usr/include/dlang/dmd/core/sys/posix/arpa
/usr/include/dlang/dmd/core/sys/posix/arpa/inet.d
/usr/include/dlang/dmd/core/sys/posix/config.d
/usr/include/dlang/dmd/core/sys/posix/dirent.d
/usr/include/dlang/dmd/core/sys/posix/dlfcn.d
/usr/include/dlang/dmd/core/sys/posix/fcntl.d
/usr/include/dlang/dmd/core/sys/posix/grp.d
/usr/include/dlang/dmd/core/sys/posix/iconv.d
/usr/include/dlang/dmd/core/sys/posix/inttypes.d
/usr/include/dlang/dmd/core/sys/posix/libgen.d
/usr/include/dlang/dmd/core/sys/posix/net
/usr/include/dlang/dmd/core/sys/posix/net/if_.d
/usr/include/dlang/dmd/core/sys/posix/netdb.d
/usr/include/dlang/dmd/core/sys/posix/netinet
/usr/include/dlang/dmd/core/sys/posix/netinet/in_.d
/usr/include/dlang/dmd/core/sys/posix/netinet/tcp.d
/usr/include/dlang/dmd/core/sys/posix/poll.d
/usr/include/dlang/dmd/core/sys/posix/pthread.d
/usr/include/dlang/dmd/core/sys/posix/pwd.d
/usr/include/dlang/dmd/core/sys/posix/sched.d
/usr/include/dlang/dmd/core/sys/posix/semaphore.d
/usr/include/dlang/dmd/core/sys/posix/setjmp.d
/usr/include/dlang/dmd/core/sys/posix/signal.d
/usr/include/dlang/dmd/core/sys/posix/stdio.d
/usr/include/dlang/dmd/core/sys/posix/stdlib.d
/usr/include/dlang/dmd/core/sys/posix/sys
/usr/include/dlang/dmd/core/sys/posix/sys/filio.d
/usr/include/dlang/dmd/core/sys/posix/sys/ioccom.d
/usr/include/dlang/dmd/core/sys/posix/sys/ioctl.d
/usr/include/dlang/dmd/core/sys/posix/sys/ipc.d
/usr/include/dlang/dmd/core/sys/posix/sys/mman.d
/usr/include/dlang/dmd/core/sys/posix/sys/resource.d
/usr/include/dlang/dmd/core/sys/posix/sys/select.d
/usr/include/dlang/dmd/core/sys/posix/sys/shm.d
/usr/include/dlang/dmd/core/sys/posix/sys/socket.d
/usr/include/dlang/dmd/core/sys/posix/sys/stat.d
/usr/include/dlang/dmd/core/sys/posix/sys/statvfs.d
/usr/include/dlang/dmd/core/sys/posix/sys/time.d
/usr/include/dlang/dmd/core/sys/posix/sys/ttycom.d
/usr/include/dlang/dmd/core/sys/posix/sys/types.d
/usr/include/dlang/dmd/core/sys/posix/sys/uio.d
/usr/include/dlang/dmd/core/sys/posix/sys/un.d
/usr/include/dlang/dmd/core/sys/posix/sys/utsname.d
/usr/include/dlang/dmd/core/sys/posix/sys/wait.d
/usr/include/dlang/dmd/core/sys/posix/syslog.d
/usr/include/dlang/dmd/core/sys/posix/termios.d
/usr/include/dlang/dmd/core/sys/posix/time.d
/usr/include/dlang/dmd/core/sys/posix/ucontext.d
/usr/include/dlang/dmd/core/sys/posix/unistd.d
/usr/include/dlang/dmd/core/sys/posix/utime.d
/usr/include/dlang/dmd/core/sys/solaris
/usr/include/dlang/dmd/core/sys/solaris/dlfcn.d
/usr/include/dlang/dmd/core/sys/solaris/elf.d
/usr/include/dlang/dmd/core/sys/solaris/execinfo.d
/usr/include/dlang/dmd/core/sys/solaris/libelf.d
/usr/include/dlang/dmd/core/sys/solaris/link.d
/usr/include/dlang/dmd/core/sys/solaris/sys
/usr/include/dlang/dmd/core/sys/solaris/sys/elf.d
/usr/include/dlang/dmd/core/sys/solaris/sys/elf_386.d
/usr/include/dlang/dmd/core/sys/solaris/sys/elf_SPARC.d
/usr/include/dlang/dmd/core/sys/solaris/sys/elf_amd64.d
/usr/include/dlang/dmd/core/sys/solaris/sys/elf_notes.d
/usr/include/dlang/dmd/core/sys/solaris/sys/elftypes.d
/usr/include/dlang/dmd/core/sys/solaris/sys/link.d
/usr/include/dlang/dmd/core/sys/solaris/sys/priocntl.d
/usr/include/dlang/dmd/core/sys/solaris/sys/procset.d
/usr/include/dlang/dmd/core/sys/solaris/sys/types.d
/usr/include/dlang/dmd/core/sys/solaris/time.d
/usr/include/dlang/dmd/core/sys/windows
/usr/include/dlang/dmd/core/sys/windows/accctrl.d
/usr/include/dlang/dmd/core/sys/windows/aclapi.d
/usr/include/dlang/dmd/core/sys/windows/aclui.d
/usr/include/dlang/dmd/core/sys/windows/basetsd.d
/usr/include/dlang/dmd/core/sys/windows/basetyps.d
/usr/include/dlang/dmd/core/sys/windows/cderr.d
/usr/include/dlang/dmd/core/sys/windows/cguid.d
/usr/include/dlang/dmd/core/sys/windows/com.d
/usr/include/dlang/dmd/core/sys/windows/comcat.d
/usr/include/dlang/dmd/core/sys/windows/commctrl.d
/usr/include/dlang/dmd/core/sys/windows/commdlg.d
/usr/include/dlang/dmd/core/sys/windows/core.d
/usr/include/dlang/dmd/core/sys/windows/cpl.d
/usr/include/dlang/dmd/core/sys/windows/cplext.d
/usr/include/dlang/dmd/core/sys/windows/custcntl.d
/usr/include/dlang/dmd/core/sys/windows/dbghelp.d
/usr/include/dlang/dmd/core/sys/windows/dbghelp_types.d
/usr/include/dlang/dmd/core/sys/windows/dbt.d
/usr/include/dlang/dmd/core/sys/windows/dde.d
/usr/include/dlang/dmd/core/sys/windows/ddeml.d
/usr/include/dlang/dmd/core/sys/windows/dhcpcsdk.d
/usr/include/dlang/dmd/core/sys/windows/dlgs.d
/usr/include/dlang/dmd/core/sys/windows/dll.d
/usr/include/dlang/dmd/core/sys/windows/docobj.d
/usr/include/dlang/dmd/core/sys/windows/errorrep.d
/usr/include/dlang/dmd/core/sys/windows/exdisp.d
/usr/include/dlang/dmd/core/sys/windows/exdispid.d
/usr/include/dlang/dmd/core/sys/windows/httpext.d
/usr/include/dlang/dmd/core/sys/windows/idispids.d
/usr/include/dlang/dmd/core/sys/windows/imagehlp.d
/usr/include/dlang/dmd/core/sys/windows/imm.d
/usr/include/dlang/dmd/core/sys/windows/intshcut.d
/usr/include/dlang/dmd/core/sys/windows/ipexport.d
/usr/include/dlang/dmd/core/sys/windows/iphlpapi.d
/usr/include/dlang/dmd/core/sys/windows/ipifcons.d
/usr/include/dlang/dmd/core/sys/windows/iprtrmib.d
/usr/include/dlang/dmd/core/sys/windows/iptypes.d
/usr/include/dlang/dmd/core/sys/windows/isguids.d
/usr/include/dlang/dmd/core/sys/windows/lm.d
/usr/include/dlang/dmd/core/sys/windows/lmaccess.d
/usr/include/dlang/dmd/core/sys/windows/lmalert.d
/usr/include/dlang/dmd/core/sys/windows/lmapibuf.d
/usr/include/dlang/dmd/core/sys/windows/lmat.d
/usr/include/dlang/dmd/core/sys/windows/lmaudit.d
/usr/include/dlang/dmd/core/sys/windows/lmbrowsr.d
/usr/include/dlang/dmd/core/sys/windows/lmchdev.d
/usr/include/dlang/dmd/core/sys/windows/lmconfig.d
/usr/include/dlang/dmd/core/sys/windows/lmcons.d
/usr/include/dlang/dmd/core/sys/windows/lmerr.d
/usr/include/dlang/dmd/core/sys/windows/lmerrlog.d
/usr/include/dlang/dmd/core/sys/windows/lmmsg.d
/usr/include/dlang/dmd/core/sys/windows/lmremutl.d
/usr/include/dlang/dmd/core/sys/windows/lmrepl.d
/usr/include/dlang/dmd/core/sys/windows/lmserver.d
/usr/include/dlang/dmd/core/sys/windows/lmshare.d
/usr/include/dlang/dmd/core/sys/windows/lmsname.d
/usr/include/dlang/dmd/core/sys/windows/lmstats.d
/usr/include/dlang/dmd/core/sys/windows/lmsvc.d
/usr/include/dlang/dmd/core/sys/windows/lmuse.d
/usr/include/dlang/dmd/core/sys/windows/lmuseflg.d
/usr/include/dlang/dmd/core/sys/windows/lmwksta.d
/usr/include/dlang/dmd/core/sys/windows/lzexpand.d
/usr/include/dlang/dmd/core/sys/windows/mapi.d
/usr/include/dlang/dmd/core/sys/windows/mciavi.d
/usr/include/dlang/dmd/core/sys/windows/mcx.d
/usr/include/dlang/dmd/core/sys/windows/mgmtapi.d
/usr/include/dlang/dmd/core/sys/windows/mmsystem.d
/usr/include/dlang/dmd/core/sys/windows/msacm.d
/usr/include/dlang/dmd/core/sys/windows/mshtml.d
/usr/include/dlang/dmd/core/sys/windows/mswsock.d
/usr/include/dlang/dmd/core/sys/windows/nb30.d
/usr/include/dlang/dmd/core/sys/windows/nddeapi.d
/usr/include/dlang/dmd/core/sys/windows/nspapi.d
/usr/include/dlang/dmd/core/sys/windows/ntdef.d
/usr/include/dlang/dmd/core/sys/windows/ntdll.d
/usr/include/dlang/dmd/core/sys/windows/ntldap.d
/usr/include/dlang/dmd/core/sys/windows/ntsecapi.d
/usr/include/dlang/dmd/core/sys/windows/ntsecpkg.d
/usr/include/dlang/dmd/core/sys/windows/oaidl.d
/usr/include/dlang/dmd/core/sys/windows/objbase.d
/usr/include/dlang/dmd/core/sys/windows/objfwd.d
/usr/include/dlang/dmd/core/sys/windows/objidl.d
/usr/include/dlang/dmd/core/sys/windows/objsafe.d
/usr/include/dlang/dmd/core/sys/windows/ocidl.d
/usr/include/dlang/dmd/core/sys/windows/odbcinst.d
/usr/include/dlang/dmd/core/sys/windows/ole.d
/usr/include/dlang/dmd/core/sys/windows/ole2.d
/usr/include/dlang/dmd/core/sys/windows/ole2ver.d
/usr/include/dlang/dmd/core/sys/windows/oleacc.d
/usr/include/dlang/dmd/core/sys/windows/oleauto.d
/usr/include/dlang/dmd/core/sys/windows/olectl.d
/usr/include/dlang/dmd/core/sys/windows/olectlid.d
/usr/include/dlang/dmd/core/sys/windows/oledlg.d
/usr/include/dlang/dmd/core/sys/windows/oleidl.d
/usr/include/dlang/dmd/core/sys/windows/pbt.d
/usr/include/dlang/dmd/core/sys/windows/powrprof.d
/usr/include/dlang/dmd/core/sys/windows/prsht.d
/usr/include/dlang/dmd/core/sys/windows/psapi.d
/usr/include/dlang/dmd/core/sys/windows/rapi.d
/usr/include/dlang/dmd/core/sys/windows/ras.d
/usr/include/dlang/dmd/core/sys/windows/rasdlg.d
/usr/include/dlang/dmd/core/sys/windows/raserror.d
/usr/include/dlang/dmd/core/sys/windows/rassapi.d
/usr/include/dlang/dmd/core/sys/windows/reason.d
/usr/include/dlang/dmd/core/sys/windows/regstr.d
/usr/include/dlang/dmd/core/sys/windows/richedit.d
/usr/include/dlang/dmd/core/sys/windows/richole.d
/usr/include/dlang/dmd/core/sys/windows/rpc.d
/usr/include/dlang/dmd/core/sys/windows/rpcdce.d
/usr/include/dlang/dmd/core/sys/windows/rpcdce2.d
/usr/include/dlang/dmd/core/sys/windows/rpcdcep.d
/usr/include/dlang/dmd/core/sys/windows/rpcndr.d
/usr/include/dlang/dmd/core/sys/windows/rpcnsi.d
/usr/include/dlang/dmd/core/sys/windows/rpcnsip.d
/usr/include/dlang/dmd/core/sys/windows/rpcnterr.d
/usr/include/dlang/dmd/core/sys/windows/schannel.d
/usr/include/dlang/dmd/core/sys/windows/secext.d
/usr/include/dlang/dmd/core/sys/windows/security.d
/usr/include/dlang/dmd/core/sys/windows/servprov.d
/usr/include/dlang/dmd/core/sys/windows/setupapi.d
/usr/include/dlang/dmd/core/sys/windows/shellapi.d
/usr/include/dlang/dmd/core/sys/windows/shldisp.d
/usr/include/dlang/dmd/core/sys/windows/shlguid.d
/usr/include/dlang/dmd/core/sys/windows/shlobj.d
/usr/include/dlang/dmd/core/sys/windows/shlwapi.d
/usr/include/dlang/dmd/core/sys/windows/snmp.d
/usr/include/dlang/dmd/core/sys/windows/sql.d
/usr/include/dlang/dmd/core/sys/windows/sqlext.d
/usr/include/dlang/dmd/core/sys/windows/sqltypes.d
/usr/include/dlang/dmd/core/sys/windows/sqlucode.d
/usr/include/dlang/dmd/core/sys/windows/sspi.d
/usr/include/dlang/dmd/core/sys/windows/stacktrace.d
/usr/include/dlang/dmd/core/sys/windows/stat.d
/usr/include/dlang/dmd/core/sys/windows/subauth.d
/usr/include/dlang/dmd/core/sys/windows/threadaux.d
/usr/include/dlang/dmd/core/sys/windows/tlhelp32.d
/usr/include/dlang/dmd/core/sys/windows/tmschema.d
/usr/include/dlang/dmd/core/sys/windows/unknwn.d
/usr/include/dlang/dmd/core/sys/windows/uuid.d
/usr/include/dlang/dmd/core/sys/windows/vfw.d
/usr/include/dlang/dmd/core/sys/windows/w32api.d
/usr/include/dlang/dmd/core/sys/windows/winbase.d
/usr/include/dlang/dmd/core/sys/windows/winber.d
/usr/include/dlang/dmd/core/sys/windows/wincon.d
/usr/include/dlang/dmd/core/sys/windows/wincrypt.d
/usr/include/dlang/dmd/core/sys/windows/windef.d
/usr/include/dlang/dmd/core/sys/windows/windows.d
/usr/include/dlang/dmd/core/sys/windows/winerror.d
/usr/include/dlang/dmd/core/sys/windows/wingdi.d
/usr/include/dlang/dmd/core/sys/windows/winhttp.d
/usr/include/dlang/dmd/core/sys/windows/wininet.d
/usr/include/dlang/dmd/core/sys/windows/winioctl.d
/usr/include/dlang/dmd/core/sys/windows/winldap.d
/usr/include/dlang/dmd/core/sys/windows/winnetwk.d
/usr/include/dlang/dmd/core/sys/windows/winnls.d
/usr/include/dlang/dmd/core/sys/windows/winnt.d
/usr/include/dlang/dmd/core/sys/windows/winperf.d
/usr/include/dlang/dmd/core/sys/windows/winreg.d
/usr/include/dlang/dmd/core/sys/windows/winsock2.d
/usr/include/dlang/dmd/core/sys/windows/winspool.d
/usr/include/dlang/dmd/core/sys/windows/winsvc.d
/usr/include/dlang/dmd/core/sys/windows/winuser.d
/usr/include/dlang/dmd/core/sys/windows/winver.d
/usr/include/dlang/dmd/core/sys/windows/wtsapi32.d
/usr/include/dlang/dmd/core/sys/windows/wtypes.d
/usr/include/dlang/dmd/core/thread.d
/usr/include/dlang/dmd/core/time.d
/usr/include/dlang/dmd/core/vararg.d
/usr/include/dlang/dmd/etc
/usr/include/dlang/dmd/etc/c
/usr/include/dlang/dmd/etc/c/curl.d
/usr/include/dlang/dmd/etc/c/odbc
/usr/include/dlang/dmd/etc/c/odbc/sql.d
/usr/include/dlang/dmd/etc/c/odbc/sqlext.d
/usr/include/dlang/dmd/etc/c/odbc/sqltypes.d
/usr/include/dlang/dmd/etc/c/odbc/sqlucode.d
/usr/include/dlang/dmd/etc/c/sqlite3.d
/usr/include/dlang/dmd/etc/c/zlib
/usr/include/dlang/dmd/etc/c/zlib.d
/usr/include/dlang/dmd/etc/c/zlib/ChangeLog
/usr/include/dlang/dmd/etc/c/zlib/README
/usr/include/dlang/dmd/etc/c/zlib/adler32.c
/usr/include/dlang/dmd/etc/c/zlib/algorithm.txt
/usr/include/dlang/dmd/etc/c/zlib/compress.c
/usr/include/dlang/dmd/etc/c/zlib/crc32.c
/usr/include/dlang/dmd/etc/c/zlib/crc32.h
/usr/include/dlang/dmd/etc/c/zlib/deflate.c
/usr/include/dlang/dmd/etc/c/zlib/deflate.h
/usr/include/dlang/dmd/etc/c/zlib/example.c
/usr/include/dlang/dmd/etc/c/zlib/gzclose.c
/usr/include/dlang/dmd/etc/c/zlib/gzguts.h
/usr/include/dlang/dmd/etc/c/zlib/gzlib.c
/usr/include/dlang/dmd/etc/c/zlib/gzread.c
/usr/include/dlang/dmd/etc/c/zlib/gzwrite.c
/usr/include/dlang/dmd/etc/c/zlib/infback.c
/usr/include/dlang/dmd/etc/c/zlib/inffast.c
/usr/include/dlang/dmd/etc/c/zlib/inffast.h
/usr/include/dlang/dmd/etc/c/zlib/inffixed.h
/usr/include/dlang/dmd/etc/c/zlib/inflate.c
/usr/include/dlang/dmd/etc/c/zlib/inflate.h
/usr/include/dlang/dmd/etc/c/zlib/inftrees.c
/usr/include/dlang/dmd/etc/c/zlib/inftrees.h
/usr/include/dlang/dmd/etc/c/zlib/linux.mak
/usr/include/dlang/dmd/etc/c/zlib/minigzip.c
/usr/include/dlang/dmd/etc/c/zlib/osx.mak
/usr/include/dlang/dmd/etc/c/zlib/trees.c
/usr/include/dlang/dmd/etc/c/zlib/trees.h
/usr/include/dlang/dmd/etc/c/zlib/uncompr.c
/usr/include/dlang/dmd/etc/c/zlib/win32.mak
/usr/include/dlang/dmd/etc/c/zlib/win64.mak
/usr/include/dlang/dmd/etc/c/zlib/zconf.h
/usr/include/dlang/dmd/etc/c/zlib/zlib.3
/usr/include/dlang/dmd/etc/c/zlib/zlib.h
/usr/include/dlang/dmd/etc/c/zlib/zutil.c
/usr/include/dlang/dmd/etc/c/zlib/zutil.h
/usr/include/dlang/dmd/etc/linux
/usr/include/dlang/dmd/etc/linux/memoryerror.d
/usr/include/dlang/dmd/index.d
/usr/include/dlang/dmd/object.d
/usr/include/dlang/dmd/std
/usr/include/dlang/dmd/std/algorithm
/usr/include/dlang/dmd/std/algorithm/comparison.d
/usr/include/dlang/dmd/std/algorithm/internal.d
/usr/include/dlang/dmd/std/algorithm/iteration.d
/usr/include/dlang/dmd/std/algorithm/mutation.d
/usr/include/dlang/dmd/std/algorithm/package.d
/usr/include/dlang/dmd/std/algorithm/searching.d
/usr/include/dlang/dmd/std/algorithm/setops.d
/usr/include/dlang/dmd/std/algorithm/sorting.d
/usr/include/dlang/dmd/std/array.d
/usr/include/dlang/dmd/std/ascii.d
/usr/include/dlang/dmd/std/base64.d
/usr/include/dlang/dmd/std/bigint.d
/usr/include/dlang/dmd/std/bitmanip.d
/usr/include/dlang/dmd/std/c
/usr/include/dlang/dmd/std/c/fenv.d
/usr/include/dlang/dmd/std/c/freebsd
/usr/include/dlang/dmd/std/c/freebsd/socket.d
/usr/include/dlang/dmd/std/c/linux
/usr/include/dlang/dmd/std/c/linux/linux.d
/usr/include/dlang/dmd/std/c/linux/linuxextern.d
/usr/include/dlang/dmd/std/c/linux/pthread.d
/usr/include/dlang/dmd/std/c/linux/socket.d
/usr/include/dlang/dmd/std/c/linux/termios.d
/usr/include/dlang/dmd/std/c/linux/tipc.d
/usr/include/dlang/dmd/std/c/locale.d
/usr/include/dlang/dmd/std/c/math.d
/usr/include/dlang/dmd/std/c/osx
/usr/include/dlang/dmd/std/c/osx/socket.d
/usr/include/dlang/dmd/std/c/process.d
/usr/include/dlang/dmd/std/c/stdarg.d
/usr/include/dlang/dmd/std/c/stddef.d
/usr/include/dlang/dmd/std/c/stdio.d
/usr/include/dlang/dmd/std/c/stdlib.d
/usr/include/dlang/dmd/std/c/string.d
/usr/include/dlang/dmd/std/c/time.d
/usr/include/dlang/dmd/std/c/wcharh.d
/usr/include/dlang/dmd/std/c/windows
/usr/include/dlang/dmd/std/c/windows/com.d
/usr/include/dlang/dmd/std/c/windows/stat.d
/usr/include/dlang/dmd/std/c/windows/windows.d
/usr/include/dlang/dmd/std/c/windows/winsock.d
/usr/include/dlang/dmd/std/compiler.d
/usr/include/dlang/dmd/std/complex.d
/usr/include/dlang/dmd/std/concurrency.d
/usr/include/dlang/dmd/std/container
/usr/include/dlang/dmd/std/container/array.d
/usr/include/dlang/dmd/std/container/binaryheap.d
/usr/include/dlang/dmd/std/container/dlist.d
/usr/include/dlang/dmd/std/container/package.d
/usr/include/dlang/dmd/std/container/rbtree.d
/usr/include/dlang/dmd/std/container/slist.d
/usr/include/dlang/dmd/std/container/util.d
/usr/include/dlang/dmd/std/conv.d
/usr/include/dlang/dmd/std/csv.d
/usr/include/dlang/dmd/std/datetime
/usr/include/dlang/dmd/std/datetime/date.d
/usr/include/dlang/dmd/std/datetime/interval.d
/usr/include/dlang/dmd/std/datetime/package.d
/usr/include/dlang/dmd/std/datetime/stopwatch.d
/usr/include/dlang/dmd/std/datetime/systime.d
/usr/include/dlang/dmd/std/datetime/timezone.d
/usr/include/dlang/dmd/std/demangle.d
/usr/include/dlang/dmd/std/digest
/usr/include/dlang/dmd/std/digest/crc.d
/usr/include/dlang/dmd/std/digest/digest.d
/usr/include/dlang/dmd/std/digest/hmac.d
/usr/include/dlang/dmd/std/digest/md.d
/usr/include/dlang/dmd/std/digest/murmurhash.d
/usr/include/dlang/dmd/std/digest/package.d
/usr/include/dlang/dmd/std/digest/ripemd.d
/usr/include/dlang/dmd/std/digest/sha.d
/usr/include/dlang/dmd/std/encoding.d
/usr/include/dlang/dmd/std/exception.d
/usr/include/dlang/dmd/std/experimental
/usr/include/dlang/dmd/std/experimental/all.d
/usr/include/dlang/dmd/std/experimental/allocator
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/affix_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/allocator_list.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/ascending_page_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/bitmapped_block.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/bucketizer.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/fallback_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/free_list.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/free_tree.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/kernighan_ritchie.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/null_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/package.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/quantizer.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/region.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/scoped_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/segregator.d
/usr/include/dlang/dmd/std/experimental/allocator/building_blocks/stats_collector.d
/usr/include/dlang/dmd/std/experimental/allocator/common.d
/usr/include/dlang/dmd/std/experimental/allocator/gc_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/mallocator.d
/usr/include/dlang/dmd/std/experimental/allocator/mmap_allocator.d
/usr/include/dlang/dmd/std/experimental/allocator/package.d
/usr/include/dlang/dmd/std/experimental/allocator/showcase.d
/usr/include/dlang/dmd/std/experimental/allocator/typed.d
/usr/include/dlang/dmd/std/experimental/checkedint.d
/usr/include/dlang/dmd/std/experimental/logger
/usr/include/dlang/dmd/std/experimental/logger/core.d
/usr/include/dlang/dmd/std/experimental/logger/filelogger.d
/usr/include/dlang/dmd/std/experimental/logger/multilogger.d
/usr/include/dlang/dmd/std/experimental/logger/nulllogger.d
/usr/include/dlang/dmd/std/experimental/logger/package.d
/usr/include/dlang/dmd/std/experimental/note.md
/usr/include/dlang/dmd/std/experimental/typecons.d
/usr/include/dlang/dmd/std/file.d
/usr/include/dlang/dmd/std/format.d
/usr/include/dlang/dmd/std/functional.d
/usr/include/dlang/dmd/std/getopt.d
/usr/include/dlang/dmd/std/internal
/usr/include/dlang/dmd/std/internal/cstring.d
/usr/include/dlang/dmd/std/internal/digest
/usr/include/dlang/dmd/std/internal/digest/sha_SSSE3.d
/usr/include/dlang/dmd/std/internal/math
/usr/include/dlang/dmd/std/internal/math/biguintcore.d
/usr/include/dlang/dmd/std/internal/math/biguintnoasm.d
/usr/include/dlang/dmd/std/internal/math/biguintx86.d
/usr/include/dlang/dmd/std/internal/math/errorfunction.d
/usr/include/dlang/dmd/std/internal/math/gammafunction.d
/usr/include/dlang/dmd/std/internal/scopebuffer.d
/usr/include/dlang/dmd/std/internal/test
/usr/include/dlang/dmd/std/internal/test/dummyrange.d
/usr/include/dlang/dmd/std/internal/test/range.d
/usr/include/dlang/dmd/std/internal/test/uda.d
/usr/include/dlang/dmd/std/internal/unicode_comp.d
/usr/include/dlang/dmd/std/internal/unicode_decomp.d
/usr/include/dlang/dmd/std/internal/unicode_grapheme.d
/usr/include/dlang/dmd/std/internal/unicode_norm.d
/usr/include/dlang/dmd/std/internal/unicode_tables.d
/usr/include/dlang/dmd/std/internal/windows
/usr/include/dlang/dmd/std/internal/windows/advapi32.d
/usr/include/dlang/dmd/std/json.d
/usr/include/dlang/dmd/std/math.d
/usr/include/dlang/dmd/std/mathspecial.d
/usr/include/dlang/dmd/std/meta.d
/usr/include/dlang/dmd/std/mmfile.d
/usr/include/dlang/dmd/std/net
/usr/include/dlang/dmd/std/net/curl.d
/usr/include/dlang/dmd/std/net/isemail.d
/usr/include/dlang/dmd/std/numeric.d
/usr/include/dlang/dmd/std/outbuffer.d
/usr/include/dlang/dmd/std/parallelism.d
/usr/include/dlang/dmd/std/path.d
/usr/include/dlang/dmd/std/process.d
/usr/include/dlang/dmd/std/random.d
/usr/include/dlang/dmd/std/range
/usr/include/dlang/dmd/std/range/interfaces.d
/usr/include/dlang/dmd/std/range/package.d
/usr/include/dlang/dmd/std/range/primitives.d
/usr/include/dlang/dmd/std/regex
/usr/include/dlang/dmd/std/regex/internal
/usr/include/dlang/dmd/std/regex/internal/backtracking.d
/usr/include/dlang/dmd/std/regex/internal/generator.d
/usr/include/dlang/dmd/std/regex/internal/ir.d
/usr/include/dlang/dmd/std/regex/internal/kickstart.d
/usr/include/dlang/dmd/std/regex/internal/parser.d
/usr/include/dlang/dmd/std/regex/internal/tests.d
/usr/include/dlang/dmd/std/regex/internal/tests2.d
/usr/include/dlang/dmd/std/regex/internal/thompson.d
/usr/include/dlang/dmd/std/regex/package.d
/usr/include/dlang/dmd/std/signals.d
/usr/include/dlang/dmd/std/socket.d
/usr/include/dlang/dmd/std/stdint.d
/usr/include/dlang/dmd/std/stdio.d
/usr/include/dlang/dmd/std/string.d
/usr/include/dlang/dmd/std/system.d
/usr/include/dlang/dmd/std/traits.d
/usr/include/dlang/dmd/std/typecons.d
/usr/include/dlang/dmd/std/typetuple.d
/usr/include/dlang/dmd/std/uni.d
/usr/include/dlang/dmd/std/uri.d
/usr/include/dlang/dmd/std/utf.d
/usr/include/dlang/dmd/std/uuid.d
/usr/include/dlang/dmd/std/variant.d
/usr/include/dlang/dmd/std/windows
/usr/include/dlang/dmd/std/windows/charset.d
/usr/include/dlang/dmd/std/windows/registry.d
/usr/include/dlang/dmd/std/windows/syserror.d
/usr/include/dlang/dmd/std/xml.d
/usr/include/dlang/dmd/std/zip.d
/usr/include/dlang/dmd/std/zlib.d
/usr/include/dlang/dmd/unittest.d
/usr/lib64/libphobos2.so
abraunegg commented 6 years ago

To build (OK - under admittedly CentOS 7) - the only things that needed to be installed were:

yum -y install libcurl-devel
yum -y install sqlite-devel

Then, downloaded DMD from the applicable site:

wget http://downloads.dlang.org/releases/2.x/2.079.1/dmd-2.079.1-0.fedora.x86_64.rpm

Then install that via yum:

yum -y install ./dmd-2.079.1-0.fedora.x86_64.rpm

Any dependencies needed by dmd get pulled in correctly when installing dmd using yum in this fashion.

If you can clean your build system up & perhaps follow similar process to above under OpenSuSE and then see what your outcome is.

cbcoutinho commented 6 years ago

Just to add to this issue, I just tested my OpenSUSE Leap 42.3 machine, and onedrive seems to build just fine. When I get some more time later this week I'm going to start looking at the build scripts of those two packages.

I also noticed that dmd et al are included in the main repository on Tumbleweed, but not on Leap - for Leap I had to add the devel:languages:D repository, which works. I don't know where Tumbleweed is getting it's version of dmd from, possibly Factory or devel:languages:D?

@jaraudea: which repository is your version of dmd coming from?

For reference:

  1. devel:languages:D/dmd: https://build.opensuse.org/package/show/devel:languages:D/dmd
  2. openSUSE:Factory/dmd: https://build.opensuse.org/package/show/openSUSE:Factory/dmd
abraunegg commented 6 years ago

OK - so this is platform issue & not a bug with onedrive.

jaraudea commented 6 years ago

@cbcoutinho Information for package dmd:

Repository : devel:languages:D
Name : dmd
Version : 2.079.1-35.2
Arch : x86_64
Vendor : obs://build.opensuse.org/devel:languages:D Installed Size : 6.5 MiB
Installed : Yes

ghost commented 6 years ago

Leaving a comment to say I'm running into the same issue on Tumbleweed, kernel version 4.16.3. dmd.conf looks exactly the same as above users, and have tried installing through yast directly, the .rpm from the DMD site (https://dlang.org/download.html#dmd), 1 click installs from https://software.opensuse.org/package/dmd and https://software.opensuse.org/download.html?project=devel%3Alanguages%3AD&package=dmd . Unfortunately it doesn't seem to be playing nice.

cbcoutinho commented 6 years ago

@abraunegg yes I agree that this is an OpenSUSE Tumbleweed issue and not a Onedrive issue, but I'm also not a D programmer so I'm not really sure what the issue could be or where to start. I'd appreciate it if we keep this issue open until we figure out where the issue lies and 'migrate' the discussion over there

I find it strange that @jaraudea had success with the devel:languages:D repo, whereas @mfzha didn't. Maybe that's not the issue?

I'm going to try again with the various repos later this weekend. Maybe getting in touch with the OpenSUSE dmd maintainers is an idea? Will report back.

abraunegg commented 6 years ago

@cbcoutinho

What happens if you manually change your dmd.conf to replicate this - obviously with the include paths tweaked so that match where those items are actually found on OpenSUSE Tumbleweed ?

# cat /etc/dmd.conf
;
; dmd.conf file for dmd
;
; dmd will look for dmd.conf in the following sequence of directories:
;   - current working directory
;   - directory specified by the HOME environment variable
;   - directory dmd resides in
;   - /etc directory
;
; Names enclosed by %% are searched for in the existing environment and inserted
;
; The special name %@P% is replaced with the path to this file
;

[Environment32]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/i386-linux-gnu -L--export-dynamic

[Environment64]
DFLAGS=-I/usr/include/dmd/phobos -I/usr/include/dmd/druntime/import -L-L/usr/lib/x86_64-linux-gnu -L--export-dynamic -fPIC
ghost commented 6 years ago

@cbcoutinho I don't think @jaraudea has actually had success with the devel:languages:D repo - correct me if I'm wrong.

I built dmd and phobos manually using instructions from the wiki here - https://wiki.dlang.org/Building_under_Posix

and then using the suggestion by @abraunegg, changed dmd.conf to specify the generated files from the build. Still not working - perhaps someone else can give that a shot and look into it?

abraunegg commented 6 years ago

What if you remove all dmd / phobos installation files as installed by the SuSE repositories and install the SuSE package from here:

https://dlang.org/download.html

Is there any difference?

ghost commented 6 years ago

@abraunegg Interesting. So I've tried that before, installing the openSUSE x86-64 version which didn't work, even after removing all dmd and phobos installation files through YaST (that is, dmd, libphobos2-0_79, and phobos-devel). Trying that again, and installing using the given script curl -fsS https://dlang.org/install.sh | bash -s dmd has allowed make and sudo make install to run fine. Then journalctl --user-unit onedrive -f confirms the service is running fine.

Testing with my laptop, upload and downloads are working as intended.

abraunegg commented 6 years ago

Glad you have a successful build going now.

What is the contents of your dmd.conf & any relevant local system variables?

It sounds like the SuSE packages are broken, however I am also unsure why your installing phobos parts as well via YaST - unless dmd is pulling these in as a dependancy.

ghost commented 6 years ago

dmd.conf has exact same outline as before:

[Environment32]
DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib -L--export-dynamic -fPIC

[Environment64]
DFLAGS=-I/usr/include/dlang/dmd -L-L/usr/lib64 -L--export-dynamic -fPIC
abraunegg commented 6 years ago

OK .. very weird .. I suspect some sort of local system variable / path is not being set when using the YaST packages but the curl install fixes that ..

jaraudea commented 6 years ago

Works for me with dmd install script, just have in mind that you have to activate that before to install onedrive. going to close the issue

cbcoutinho commented 6 years ago

I installed the 64bit version of dmd from the dlang website using the opensuse rpm - Along with dmd itself, it installed a bunch of 32bit libraries (e.g. gcc, libcurl, etc.). Now building onedrive works without a problem.

Trying to switch back to the opensuse default version of dmd still fails, so I'll stick with the devel:languages:D repo

abraunegg commented 4 years ago

@cbcoutinho Unsure if you switched over to my client version yet, however SuSE now includes my version of the client in the official SuSE repositories - refer to: https://software.opensuse.org/package/onedrive for details