www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Anyone used LLVM-D with Dub?

reply "Alan" <alanpotteiger gmail.com> writes:
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/globa
variable.d:function 
_D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined 
reference to 
'_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
/home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
_D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: undefined 
reference to 
'_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
/home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
_D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined 
reference to 
'_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
/home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.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.
Oct 01 2013
next sibling parent reply "Joshua Niehus" <jm.niehus gmail.com> writes:
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 ...
 [...snip..]
 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.

Sorry, I haven't tried it, but you're more likely to get positive responses on the vibe.d forum: http://forum.rejectedsoftware.com/
Oct 01 2013
parent 1100110 <0b1100110 gmail.com> writes:
On 10/02/2013 01:01 AM, Joshua Niehus 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 ...
 [...snip..]
 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.

Sorry, I haven't tried it, but you're more likely to get positive responses on the vibe.d forum: http://forum.rejectedsoftware.com/

It's been broken for a while for me. I tried to figure out what the issue was, but it was over my head...
Oct 02 2013
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Wednesday, 2 October 2013 at 06:01:38 UTC, Joshua Niehus 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 ...
 [...snip..]
 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.

Sorry, I haven't tried it, but you're more likely to get positive responses on the vibe.d forum: http://forum.rejectedsoftware.com/

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.
Oct 02 2013
prev sibling next sibling parent reply "Moritz Maxeiner" <moritz ucworks.org> writes:
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/globa
variable.d:function 
 _D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: 
 undefined reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.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).
Oct 02 2013
parent reply 1100110 <0b1100110 gmail.com> writes:
On 10/03/2013 01:20 PM, Moritz Maxeiner wrote:
 On Thursday, 3 October 2013 at 00:37:39 UTC, Alan wrote:
 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)

Now that code.dlang.org is reachable again I was able to reproduce your error with a "dub init" project that had llvm-d added to the dependencies. Interestingly enough, building llvm-d into a static library and linking a default app.d against that works, yet using the same modules in the same order and compiling them with that same app.d directly into an application triggers the issue you encountered. Quite frankly, I do not know why that is, because going over the relevant source files has not lead me to any incorrect code, which leaves me with only two possible explanations: 1) I've unknowningly done something in my code that isn't actually allowed and that for some reason gets ignored when compiling as a libarary. 2) A compiler bug that happens when trying to compile multiple modules at the same time. I do not know which one it is, but it may be time to ask one of the compiler devs about it, as it is possible you may indeed have found a compiler bug - and if it is not a bug they may be able to tell us what I (in that case) did wrong.

Don't you dare fix this when I'm almost done with my (shitty) llvm-ir code generator. I will be sad.
Oct 03 2013
parent 1100110 <0b1100110 gmail.com> writes:
On 10/03/2013 03:37 PM, Moritz Maxeiner wrote:
 On Thursday, 3 October 2013 at 18:46:02 UTC, 1100110 wrote:
 On 10/03/2013 01:20 PM, Moritz Maxeiner wrote:
 On Thursday, 3 October 2013 at 00:37:39 UTC, Alan wrote:
 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)

Now that code.dlang.org is reachable again I was able to reproduce your error with a "dub init" project that had llvm-d added to the dependencies. Interestingly enough, building llvm-d into a static library and linking a default app.d against that works, yet using the same modules in the same order and compiling them with that same app.d directly into an application triggers the issue you encountered. Quite frankly, I do not know why that is, because going over the relevant source files has not lead me to any incorrect code, which leaves me with only two possible explanations: 1) I've unknowningly done something in my code that isn't actually allowed and that for some reason gets ignored when compiling as a libarary. 2) A compiler bug that happens when trying to compile multiple modules at the same time. I do not know which one it is, but it may be time to ask one of the compiler devs about it, as it is possible you may indeed have found a compiler bug - and if it is not a bug they may be able to tell us what I (in that case) did wrong.

Don't you dare fix this when I'm almost done with my (shitty) llvm-ir code generator. I will be sad.

Why would you need to create a llvm-ir code generator? You can use llvm-d the way it's described in the repo, at least. Or deimos-llvm.

had issues with 'em. Decided it would be easier to write my own than to figure out my problems. shrugs. It's a learning excercise. I was mostly joking. =P
Oct 03 2013
prev sibling next sibling parent "Alan" <alanpotteiger gmail.com> writes:
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/globa
variable.d:function 
 _D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: 
 undefined reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.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)
Oct 02 2013
prev sibling next sibling parent "Moritz Maxeiner" <moritz ucworks.org> writes:
On Thursday, 3 October 2013 at 00:37:39 UTC, Alan wrote:
 On Wednesday, 2 October 2013 at 18:43:06 UTC, Moritz Maxeiner 
 wrote:
 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).

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)

Since it seems you overlooked it, I'll ask again: Could you please provide a minimal working example that reproduces your error? Simply telling me to add it to the dependencies doesn't cut it, because there are a lot of possible options for dub package.json files, that you may or may not have used, or I might use when trying to reproduce the error myself, resulting in differences so that I might not be able to reproduce your error. I'll try to reproduce the error myself, but since code.dlang.org (and with it, the documentation for dub package.json files I've always used) seems to be offline, that might take a while.
Oct 03 2013
prev sibling next sibling parent "Moritz Maxeiner" <moritz ucworks.org> writes:
On Thursday, 3 October 2013 at 00:37:39 UTC, Alan wrote:
 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)

Now that code.dlang.org is reachable again I was able to reproduce your error with a "dub init" project that had llvm-d added to the dependencies. Interestingly enough, building llvm-d into a static library and linking a default app.d against that works, yet using the same modules in the same order and compiling them with that same app.d directly into an application triggers the issue you encountered. Quite frankly, I do not know why that is, because going over the relevant source files has not lead me to any incorrect code, which leaves me with only two possible explanations: 1) I've unknowningly done something in my code that isn't actually allowed and that for some reason gets ignored when compiling as a libarary. 2) A compiler bug that happens when trying to compile multiple modules at the same time. I do not know which one it is, but it may be time to ask one of the compiler devs about it, as it is possible you may indeed have found a compiler bug - and if it is not a bug they may be able to tell us what I (in that case) did wrong.
Oct 03 2013
prev sibling next sibling parent "Moritz Maxeiner" <moritz ucworks.org> writes:
On Thursday, 3 October 2013 at 18:46:02 UTC, 1100110 wrote:
 On 10/03/2013 01:20 PM, Moritz Maxeiner wrote:
 On Thursday, 3 October 2013 at 00:37:39 UTC, Alan wrote:
 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)

Now that code.dlang.org is reachable again I was able to reproduce your error with a "dub init" project that had llvm-d added to the dependencies. Interestingly enough, building llvm-d into a static library and linking a default app.d against that works, yet using the same modules in the same order and compiling them with that same app.d directly into an application triggers the issue you encountered. Quite frankly, I do not know why that is, because going over the relevant source files has not lead me to any incorrect code, which leaves me with only two possible explanations: 1) I've unknowningly done something in my code that isn't actually allowed and that for some reason gets ignored when compiling as a libarary. 2) A compiler bug that happens when trying to compile multiple modules at the same time. I do not know which one it is, but it may be time to ask one of the compiler devs about it, as it is possible you may indeed have found a compiler bug - and if it is not a bug they may be able to tell us what I (in that case) did wrong.

Don't you dare fix this when I'm almost done with my (shitty) llvm-ir code generator. I will be sad.

Why would you need to create a llvm-ir code generator? You can use llvm-d the way it's described in the repo, at least. Or deimos-llvm.
Oct 03 2013
prev sibling next sibling parent "Moritz Maxeiner" <moritz ucworks.org> writes:
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/globa
variable.d:function 
 _D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: 
 undefined reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.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.

The errors are now fixed in llvm-d master. They were very silly typos I overlooked repeatedly. Shame on me.
Oct 03 2013
prev sibling parent "Alan" <alanpotteiger gmail.com> writes:
On Thursday, 3 October 2013 at 21:18:33 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/globa
variable.d:function 
 _D4llvm1d2ir8constant8Constant6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir11globalvalue11GlobalValue6__vtblZ: error: 
 undefined reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.d:function 
 _D4llvm1d2ir12llvmfunction8Function6__vtblZ: error: undefined 
 reference to 
 '_D4llvm1d2ir8constant8Constant27replaceUsesOfWithOnConstantMFC4llvm1d2ir5value5ValueC4llvm1d2ir5value5ValueC4llvm1d2ir3use3UseZv'
 /home/apott/projects/Hyphen/temp.o:../../.dub/packages/llvm-d-master/llvm/d/ir/globa
variable.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.

The errors are now fixed in llvm-d master. They were very silly typos I overlooked repeatedly. Shame on me.

Awesome! Thanks a lot everyone who responded, and thanks for fixing it mate!
Oct 03 2013