On Wednesday, 2 October 2013 at 18:43:06 UTC, Moritz Maxeiner wrote:
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).

I just put the package in the dependencies and import it in my code then it does that, haven't even used any functions yet. (When building of course)

Reply via email to