sdlang-d can not link after updating to dmd 2.066

Uranuz via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Aug 29 08:00:29 PDT 2014


On Thursday, 28 August 2014 at 10:16:15 UTC, Puming wrote:
> I updated dub to 0.9.22 and still got the same error...
>
> THis is the output of `dub build --force`:
>
> --- output ---
>
> ## Warning for package sdlang-d ##
>
> The following compiler flags have been specified in the package 
> description
> file. They are handled by DUB and direct use in packages is 
> discouraged.
> Alternatively, you can set the DFLAGS environment variable to 
> pass custom flags
> to the compiler, or use one of the suggestions below:
>
> -wi: Use the "buildRequirements" field to control warning 
> behavior
>
>
> ## Warning for package sdlang-d, configuration unittest ##
>
> The following compiler flags have been specified in the package 
> description
> file. They are handled by DUB and direct use in packages is 
> discouraged.
> Alternatively, you can set the DFLAGS environment variable to 
> pass custom flags
> to the compiler, or use one of the suggestions below:
>
> -debug: Call dub with --build=debug
> -unittest: Call dub with --build=unittest
>
>
> ## Warning for package sdlang-d ##
>
> The following compiler flags have been specified in the package 
> description
> file. They are handled by DUB and direct use in packages is 
> discouraged.
> Alternatively, you can set the DFLAGS environment variable to 
> pass custom flags
> to the compiler, or use one of the suggestions below:
>
> -wi: Use the "buildRequirements" field to control warning 
> behavior
>
>
> ## Warning for package sdlang-d, configuration unittest ##
>
> The following compiler flags have been specified in the package 
> description
> file. They are handled by DUB and direct use in packages is 
> discouraged.
> Alternatively, you can set the DFLAGS environment variable to 
> pass custom flags
> to the compiler, or use one of the suggestions below:
>
> -debug: Call dub with --build=debug
> -unittest: Call dub with --build=unittest
>
> Building sdlang-d 0.8.4 configuration "library", build type 
> debug.
> Running dmd...
> Building haha ~master configuration "application", build type 
> debug.
> Compiling using dmd...
> Linking...
> Undefined symbols for architecture x86_64:
>   
> "_D7sdlang_3ast3Tag103__T11MemberRangeTC7sdlang_3ast3TagVAyaa7_616c6c54616773VAyaa11_746167496e646963696573VAyaa5_5f74616773Z11MemberRange11__invariantMxFZv", 
> referenced from:
>       
> _D7sdlang_3ast3Tag103__T11MemberRangeTC7sdlang_3ast3TagVAyaa7_616c6c54616773VAyaa11_746167496e646963696573VAyaa5_5f74616773Z11MemberRange30__T13opBinaryRightVAyaa2_696eZ13opBinaryRightMFAyaZb 
> in haha.o
> ld: symbol(s) not found for architecture x86_64
> clang: error: linker command failed with exit code 1 (use -v to 
> see invocation)
> --- errorlevel 1
> FAIL 
> .dub/build/application-debug-posix.osx-x86_64-dmd-561BEB9B9938BB39E9AD2177AB127CD0/ 
> haha executable
> Error executing command build: dmd failed with exit code 1.
>
> -- end ---
>
>
> On Wednesday, 27 August 2014 at 16:35:18 UTC, Israel wrote:
>>
>> It looks fine here, OSX 10.9.4
>>
>> "sdlang-d": ">=0.8.4"
>>
>> Im using DUB RC2 though

I get strange link errors when using scoped imports sometimes. 
It's often in the case when scoped import placed at the same 
nesting level as ising some symbol from imported module. I don't 
know exactly what happens here, but most of cases that I faced is 
about it. Other possibility is connected with calling abstract 
methods in classes.


More information about the Digitalmars-d-learn mailing list