CyberShadow / Digger

A tool to build D and bisect old D versions
Other
57 stars 9 forks source link

Can't compile digger 3.0.0-alpha-7+commit.9.g14ae16f #76

Closed Robert-M-Muench closed 5 years ago

Robert-M-Muench commented 5 years ago

I'm getting used to that building Digger is somehow always a pain for me... I have a new one:

| => rdmd -debug --build-only digger
install.d(705): Deprecation: alias `std.digest.digest.toHexString` is deprecated - import std.digest instead of std.digest.digest. std.digest.digest will be removed in 2.084
Undefined symbols for architecture x86_64:
  "__D4core8internal4hash9bytesHashFNaNbNiPxvmmZm", referenced from:
      __D4core8internal4hash__T6hashOfTAyaZQmFNaNbNiKQomZm in digger.o
      __D4core8internal4hash__T6hashOfTAxaZQmFNaNbNiKQomZm in digger.o
      __D4core8internal4hash__T6hashOfTAS3std5regexQBl2ir__T5GroupTmZQjZQBpFNaNbQBpmZm in digger.o
  "__D4core8internal6string7dstrcmpFNaNbNiNeMxAaMxQeZi", referenced from:
      __D6object__T5__cmpTaZQjFNaNbNiNexAaxQdZi in digger.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1

This undefined symbol looks like it's a standard DMD one... my current DMD version was build with digger:

| => which dmd
dmd is /usr/local/bin/dmd
dmd is /usr/local/bin/dmd
dmd is /usr/local/bin/dmd
________________________________________________________________________________
| /Users/Shared/develop/d-language/Digger @ imac-pro-559 (robby)
| => dmd --version
DMD64 D Compiler v2.082.0-rc.1-190-g497f07b34-dirty
Copyright (C) 1999-2018 by The D Language Foundation, All Rights Reserved written by Walter Bright

Any idea what's missing now again?

CyberShadow commented 5 years ago

Please post the error message.

Robert-M-Muench commented 5 years ago

Just done, sorry somehow github submitted the new issue...

CyberShadow commented 5 years ago

3.0.0-alpha-7+commit.9.g14ae16f

There is no commit 14ae16f in the tree: https://github.com/CyberShadow/Digger/commits/14ae16f

Current master (f80a1196e98ea3bf46b22bc694dd353fd62b775b) builds fine for me on Linux (dver -d 2.082.0 rdmd -debug --build-only digger).

Robert-M-Muench commented 5 years ago

I'm confused... how can I get such a commit when it's not in there?

| => git pull
Already up to date.
| => git submodule update --recursive
| =>
CyberShadow commented 5 years ago

Run git rev-parse HEAD to get the commit you are at.

Robert-M-Muench commented 5 years ago
| => git rev-parse HEAD
14ae16f3886b17d06b9a9f63aa551b38fc878b2e
CyberShadow commented 5 years ago

No such commit: https://github.com/CyberShadow/Digger/commit/14ae16f3886b17d06b9a9f63aa551b38fc878b2e

You probably have some local changes in your copy of the repository. Inspect the log, or just clone a fresh copy from GitHub.

Robert-M-Muench commented 5 years ago

Ok, so somehow some local changes slipped in. I reverted back but still no luck:

| => git rev-parse HEAD
f80a1196e98ea3bf46b22bc694dd353fd62b775b
________________________________________________________________________________
| /Users/Shared/develop/d-language/Digger @ imac-pro-559 (robby)
| => rdmd -debug --build-only digger
install.d(705): Deprecation: alias `std.digest.digest.toHexString` is deprecated - import std.digest instead of std.digest.digest. std.digest.digest will be removed in 2.084
Undefined symbols for architecture x86_64:
  "__D4core8internal4hash9bytesHashFNaNbNiPxvmmZm", referenced from:
      __D4core8internal4hash__T6hashOfTAyaZQmFNaNbNiKQomZm in digger.o
      __D4core8internal4hash__T6hashOfTAxaZQmFNaNbNiKQomZm in digger.o
      __D4core8internal4hash__T6hashOfTAS3std5regexQBl2ir__T5GroupTmZQjZQBpFNaNbQBpmZm in digger.o
  "__D4core8internal6string7dstrcmpFNaNbNiNeMxAaMxQeZi", referenced from:
      __D6object__T5__cmpTaZQjFNaNbNiNexAaxQdZi in digger.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: linker exited with status 1
Robert-M-Muench commented 5 years ago

BTW: I'm on OSX...

Robert-M-Muench commented 5 years ago

Same problem on a fresh copy from github...

CyberShadow commented 5 years ago

Commit. f80a1196e98ea3bf46b22bc694dd353fd62b775b builds successfully with DMD 2.082.0 on the OSX 10.12 machine I have access to.

If you think this is a problem with Digger, please post complete, from-scratch instructions that I can follow to reproduce it.

Robert-M-Muench commented 5 years ago

Ok, so... it seems that DMD installations can become quite a mess.

I had an old official DMD left over around... I uninstalled this one. I installed DUB via MacPorts. And now things run.