Thread overview
DStep 0.2.1
Jan 16, 2016
Jacob Carlborg
Jan 16, 2016
Russel Winder
Jan 16, 2016
Russel Winder
Jan 16, 2016
Jacob Carlborg
Jan 17, 2016
anon
Jan 17, 2016
Jacob Carlborg
Jan 18, 2016
anon
January 16, 2016
I've just created a new release of DStep, 0.2.1 [1]. Binaries are available for OS X, Linux 64bit and FreeBSD 64bit. No 32bit versions this time, unfortunately.

For those not familiar with DStep:

DStep is a tool for translating C and Objective-C headers to D modules.

Changelog:

Version 0.2.1
  New/Changed Features
    * Clang internal header files are now included in the executable
    * A script for testing multiple versions of libclang has been added
    * DStep outputs spaces instead of tabs for indentation
    * Update Clang bindings to 3.7.0
    * Run tests on Travis-CI

    Objective-C
      * Selectors are translated to `@selector("foo")`
      * `id` is translated to `ObjcObject`

  Bugs Fixed
    * Issue #42: Compile failure with DMD v2.0.68
    * Issue #37: Regression: clang 3.5 causes struct members to be defined again
    * Issue #26: dstep dumps core on a simple header

[1] https://github.com/jacob-carlborg/dstep/releases/tag/v0.2.1

-- 
/Jacob Carlborg
January 16, 2016
On Sat, 2016-01-16 at 18:02 +0100, Jacob Carlborg via Digitalmars-d- announce wrote:
> I've just created a new release of DStep, 0.2.1 [1]. Binaries are available for OS X, Linux 64bit and FreeBSD 64bit. No 32bit versions this time, unfortunately.

I tried the Debian build on Fedora Rawhide, I have opened Issue 44.

https://github.com/jacob-carlborg/dstep/issues/44


-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 16, 2016
On Sat, 2016-01-16 at 18:27 +0000, Russel Winder wrote:
> On Sat, 2016-01-16 at 18:02 +0100, Jacob Carlborg via Digitalmars-d- announce wrote:
> > I've just created a new release of DStep, 0.2.1 [1]. Binaries are
> > available for OS X, Linux 64bit and FreeBSD 64bit. No 32bit
> > versions
> > this time, unfortunately.
> 
> I tried the Debian build on Fedora Rawhide, I have opened Issue 44.
> 
> https://github.com/jacob-carlborg/dstep/issues/44
> 

Trying the Debian build on Debian Sid, I still have the libclang.so problem, I have shown the list of things there are below. Creating a hack symbolic link I got it to work.

I may well now use this for the whole of the Linux DVB Driver and libdvbv5.



|> find /usr -name "*libclang*"
/usr/share/doc/libclang-common-3.6-dev
/usr/share/doc/libclang-common-3.7-dev
/usr/share/doc/libclang1-3.7
/usr/share/doc/libclang1-3.6
find: ‘/usr/share/doc/google-chrome-stable’: Permission denied
/usr/share/lintian/overrides/libclang1-3.7
/usr/share/lintian/overrides/libclang1-3.6
/usr/lib/x86_64-linux-gnu/libclang-3.6.so.1
/usr/lib/x86_64-linux-gnu/libclang-3.7.so.1
/usr/lib/llvm-3.6/lib/libclang-3.6.so.1
/usr/lib/llvm-3.6/lib/libclang.so.1
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.tsan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.asan_cxx-
x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.asan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.ubsan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.ubsan_cxx-
x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.builtins-
x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.lsan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.dfsan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.msan-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.san-x86_64.a
/usr/lib/llvm-3.6/lib/clang/3.6.2/lib/linux/libclang_rt.profile-
x86_64.a
/usr/lib/llvm-3.7/lib/libclang-3.7.so.1
/usr/lib/llvm-3.7/lib/libclang.so.1
/usr/lib/llvm-3.7/lib/clang/3.7.1/lib/linux/libclang_rt.builtins-
x86_64.a
/usr/lib/llvm-3.7/lib/clang/3.7.1/lib/linux/libclang_rt.profile-
x86_64.a
-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder



January 16, 2016
On 2016-01-16 20:01, Russel Winder via Digitalmars-d-announce wrote:

> Trying the Debian build on Debian Sid, I still have the libclang.so
> problem, I have shown the list of things there are below. Creating a
> hack symbolic link I got it to work.

I've built the DStep against libclang provided by LLVM from here [1]. It's easier to test multiple versions of libclang that way. But I guess I could build the final binary against the system provided libclang.

[1] http://llvm.org/releases/index.html

-- 
/Jacob Carlborg
January 17, 2016
On Saturday, 16 January 2016 at 19:16:26 UTC, Jacob Carlborg wrote:
> On 2016-01-16 20:01, Russel Winder via Digitalmars-d-announce wrote:
>
>> Trying the Debian build on Debian Sid, I still have the libclang.so
>> problem, I have shown the list of things there are below. Creating a
>> hack symbolic link I got it to work.
>
> I've built the DStep against libclang provided by LLVM from here [1]. It's easier to test multiple versions of libclang that way. But I guess I could build the final binary against the system provided libclang.
>
> [1] http://llvm.org/releases/index.html

Help me with this please. Not sure what I'm doing wrong. Attempting to compile from code I get:

anon@gwave ~/g/dstep> dub build
Performing "debug" build using dmd for x86_64.
tango 1.0.3+2.068: target for configuration "static" is up to date.
mambo 0.0.7: target for configuration "library" is up to date.
dstack 0.0.4: target for configuration "library" is up to date.
dstep 0.1.1+commit.29.g015bd59: building configuration "default"...
../../.dub/packages/mambo-0.0.7/mambo/util/Traits.d(154,39): Deprecation: typedef is removed
../../.dub/packages/mambo-0.0.7/mambo/util/Traits.d(182,30): Deprecation: typedef is removed
Linking...
ld: library not found for -lclang
clang: error: linker command failed with exit code 1 (use -v to see invocation)
--- errorlevel 1
dmd failed with exit code 1.

So I download the pre-build binary. And now I get:

dmd failed with exit code 1.
anon@gwave ~/g/dstep> ~/Downloads/dstep
dyld: Library not loaded: @rpath/libclang.dylib
  Referenced from: /Users/anon/Downloads/dstep
  Reason: image not found

I've got clang installed:

anon@gwave ~/g/dstep> clang -v
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.2.0
Thread model: posix

And the path to the lib appended to $PATH environment variable (do sure how to pass this to dub):

anon@gwave ~/g/dstep> mdfind -name libclang
/Library/Developer/CommandLineTools/usr/lib/libclang.dylib

anon@gwave ~/g/dstep> echo $PATH
/usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Developer/CommandLineTools/usr/lib/

Thanks
January 17, 2016
On Sunday, 17 January 2016 at 04:05:31 UTC, anon wrote:

> So I download the pre-build binary. And now I get:
>
> dmd failed with exit code 1.
> anon@gwave ~/g/dstep> ~/Downloads/dstep
> dyld: Library not loaded: @rpath/libclang.dylib
>   Referenced from: /Users/anon/Downloads/dstep
>   Reason: image not found
>
> I've got clang installed:
>
> anon@gwave ~/g/dstep> clang -v
> Apple LLVM version 7.0.2 (clang-700.1.81)
> Target: x86_64-apple-darwin15.2.0
> Thread model: posix
>
> And the path to the lib appended to $PATH environment variable (do sure how to pass this to dub):
>
> anon@gwave ~/g/dstep> mdfind -name libclang
> /Library/Developer/CommandLineTools/usr/lib/libclang.dylib
>
> anon@gwave ~/g/dstep> echo $PATH
> /usr/local/bin /usr/bin /bin /usr/sbin /sbin /Library/Developer/CommandLineTools/usr/lib/

libclang.dylib needs to either be in the same directory as DStep or in any of standard library search paths. $PATH is not searched in for libraries. I think the environment variable you're looking for is $DYLD_LIBRARY_PATH. The standard search paths for libraries are /usr/lib and /usr/local/lib.

--
/Jacob Carlborg

January 18, 2016
On Sunday, 17 January 2016 at 11:16:50 UTC, Jacob Carlborg wrote:
> On Sunday, 17 January 2016 at 04:05:31 UTC, anon wrote:
>
[Snip]
>
> libclang.dylib needs to either be in the same directory as DStep or in any of standard library search paths. $PATH is not searched in for libraries. I think the environment variable you're looking for is $DYLD_LIBRARY_PATH. The standard search paths for libraries are /usr/lib and /usr/local/lib.
>
> --
> /Jacob Carlborg

Thank you. That helped greatly.