Will I try again? and also C header files.
Jacob Carlborg
doob at me.com
Sat Jun 1 02:01:38 PDT 2013
On 2013-05-31 23:08, Rémy Mouëza wrote:
> Concerning dstep,
>
> I compiled it recently (Ubuntu 12.04 32 bits system) and it wasn't as
> straightforward as it was described in the README file, nor was it that
> complicated to have it work. I'll outline my experience below for those
> interested.
>
> first step that needed some care was the compilation of Tango-D2: I
> downloaded the last version that did not compiled on dmd 2.060 but did
> well on dmd 2.061 (and fast).
Ok, I see. I haven't updated the readme. The build script will
automatically try to use DMD 2.061 if you have DVM installed.
https://github.com/jacob-carlborg/dvm
> When I got dstep compiled, I forgot to run `sudo ldconfig` so that dstep
> could find libclang.so (this is not a bug nor an annoyance but it may be
> confusing at first).
The last command in the instructions for Clang it copies libclang.so to
the folder of DStep. This will make the "sudo ldconfig" step
unnecessary. I didn't even know about it.
> Then, (dstep or rather) clang stopped with an error telling me it could
> not find "stddef.h". A quick google search seemed to indicate that I
> needed to upgrade from llvm-3.1 to llvm-3.2 to automagically solve that
> problem.
Yeah, I think I had a similar issue. I guess it's time to update to 3.2
or rather 3.3 when it's released.
> However, what I really had to do was to find out the include path which
> on my system is :
> /usr/local/include
> /usr/include
> /usr/include/i386-linux-gnu/
> /home/ray/apps/llvm-3.2/include/clang/ # wherever is installed
> llvm/clang
> /usr/lib/gcc/i686-linux-gnu/4.6/include/
> /usr/lib/gcc/i686-linux-gnu/4.6/include-fixed/
>
> So I ran dstep like this:
> $ ~/dev/dee/dstep/bin/dstep mongoose.h -o mongoose_d.d -v
> -I/usr/local/include -I/usr/include -I/usr/include/i386-linux-gnu/
> -I/home/ray/apps/llmv-3.2/include/clang
> -I/usr/lib/gcc/i686-linux-gnu/4.6/include/
> -I/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed/
I think I just copied the file to /usr/local/include
> I noticed in the output file that an embedded "typedef'ed" struct was
> not handled very well but fixing this manually went really quick.
Could you please file a bug for this. With the C input you used, the
output from DStep and the expected output.
> Using the output, my Mongoose test program no longer crashes with
> segfaults due to a mysterious void *user_data pointer being always set
> to 0x4 in my callback function even when set otherwise at initialization.
Great.
> In brief: dstep is a huge improvement over manually writing a D header
> interface.
That's really great to here.
> As for IUP, since I happen to have iup.h on my system, I tried it with
> dstep. The command line had just to be adjusted, adding the path to the
> include directory like '-I/path/to/iup/include/dir' or '-I`pwd`' when
> generating directly within the directory.
Cool. Could you please file a bug for all this, so it's not forgotten.
BTW, there are pre-compiled binaries available:
https://github.com/jacob-carlborg/dstep/downloads
I forgot to add that to the readme.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list