On Wednesday, 2 October 2013 at 02:22:42 UTC, Alan wrote:
Hello! I'm working on a project and I was going to use LLVM with the LLVM-D wrapper which has it's own Dub package and everything https://github.com/Calrama/llvm-d I've installed the package with Dub, added it to my packages/builds dependencies.
When I build however I get an error:
Linking...
/usr/bin/ld: error: /home/apott/projects/Hyphen/temp.o: multiple definition of '_D4llvm1d2ir10basicblock10BasicBlock16removeFromParentMFZv' /usr/bin/ld: /home/apott/projects/Hyphen/temp.o: previous definition here /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globalvariable.d:function _D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined reference to '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv' /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globalvariable.d:function _D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: undefined reference to '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv' /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globalvariable.d:function _D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined reference to '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv' /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globalvariable.d:function _D4llvm1d2ir9constants10UndefValue6__vtblZ: error: undefined reference to '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
collect2: error: ld returned 1 exit status
--- errorlevel 1
Error: Link command failed with exit code 1

I want to know if anyone here has any experience witht his by any chance? The source of the problem? Is it a bug? Thanks for any suggestions.

I don't have any experience with using dub's dependency settings for projects, but regarding llvm-d itself:

1) The D API itself is not ready for active use (that's what the C binding are currently in place for), but it does compile and link properly in my tests, which include: - Building with the provided VisualStudio solution file into a static libary on Windows. - Changing (locally) the "sourceLibrary" setting to "staticLibrary" in package.json and running "dub build", which provides a working static library for me with the current master.

For some reason, however, building ("dub build") with "sourceLibrary" leads to an assertion error I could not track down, as I was not able to make more sense out of the output produced by "dub build --vverbose" than that an exception had occured.

2) I can build and run all of llvm-d's samples the following way:

1. Clone the repo
2. cd into the local clone
3. Run the samples with rdmd, e.g. "rdmd samples/fibonacci.d".


Could you give me a minimal example I can use to reproduce the error you've encountered? Also, you can always open an issue at llvm-d's github repo, that's the easiest way to report problems about llvm-d (other than mailing me).


On Wednesday, 2 October 2013 at 10:04:19 UTC, 1100110 wrote:

It's been broken for a while for me.

I tried to figure out what the issue was, but it was over my head...

What exactly has been broken for you? As stated above, I can run all the examples fine, but if that is not the case for someone else, I need to know about it in order to try and fix it.

On Wednesday, 2 October 2013 at 10:23:55 UTC, Dicebot wrote:

I think in this case reporting to `llvm-d` author makes more sense.

AFAIK "calrama" is common nickname for Moritz Maxeiner, I will send him an e-mail linking this thread.

Thanks for mailing me, I would not have seen this thread here otherwise (I usually look at the first pages of "digitalmars.D" and "digitalmars.D.announce" every couple of days).

Reply via email to