Jump to page: 1 2
Thread overview
DDT 0.10.1 released
May 02, 2014
Bruno Medeiros
Upgrade woes : Eclipse/DDT/Linux , compile takes forever and other caveats
May 25, 2014
Derix
May 28, 2014
Bruno Medeiros
Jun 06, 2014
Derix
Jun 23, 2014
Daniel Kozak
Jun 23, 2014
Daniel Kozak
Jun 24, 2014
Bruno Medeiros
Jun 24, 2014
Daniel Kozak
Jun 27, 2014
Bruno Medeiros
Jun 27, 2014
Dicebot
Jul 02, 2014
Bruno Medeiros
Jul 02, 2014
Dicebot
Jul 02, 2014
Bruno Medeiros
Jul 02, 2014
Dicebot
Jul 02, 2014
Bruno Medeiros
Jul 02, 2014
Dicebot
Jul 02, 2014
Bruno Medeiros
May 02, 2014
A new version of DDT is out. Some fixes, and debugger and build improvements. Full changelog:
https://github.com/bruno-medeiros/DDT/releases/tag/Release_0.10.1

-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros
May 25, 2014
I'm on Linux 64-bit. I recently upgraded Eclipse to 4.3.2 and DDT
to 0.10.1 ... and at first I couldn't compile a thing anymore.

After googling some more, and burning a few more neurons, I
finally gathered some clues and narrowed the quest to the
dub.json file. I pieced together the following :

{
      "name" : "gtklessons",
      "description" : "A minimal D bundle.",
      "targetType" : "executable",
      "dependencies" : {
          "gtk-d:gtkd": ">=2.3.1"
      }
}

which somehow enables the build to complete.

The keys here were the line

      "targetType" : "executable",

together with the "dependencies" section.

There still are a bunch of things I don't get. First, building
takes forever, even with a very simple and short source, where it
used to take an insignificant number of seconds.

Then, a whole bunch of files I didn't ask for poped up in my
userland, more or less the whole gtkd package, sources and all,
even though it is already installed on the system (namely
/usr/include/dmd/gtkd2/). There must be a more clever way.

Third, isn't there a way to set all this at the IDE or working
set level instead of project-by-project ?

And finally I find that the number of options that can and must
go in this dub.json file is way too high, and that said options
are somehow poorly documented. Are there some easy-access
reference out there ?


And oh, the reason I updated in the first place was that I
understood that debugging was better with the newest version of
DDT. I must have missed something here too, because I still
can't properly debug as in "step-by-step in the source code". Any
hint ?
May 28, 2014
On 25/05/2014 04:44, Derix wrote:
> I'm on Linux 64-bit. I recently upgraded Eclipse to 4.3.2 and DDT
> to 0.10.1 ... and at first I couldn't compile a thing anymore.
>
> After googling some more, and burning a few more neurons, I
> finally gathered some clues and narrowed the quest to the
> dub.json file. I pieced together the following :
>
> {
>        "name" : "gtklessons",
>        "description" : "A minimal D bundle.",
>        "targetType" : "executable",
>        "dependencies" : {
>            "gtk-d:gtkd": ">=2.3.1"
>        }
> }
>
> which somehow enables the build to complete.
>
> The keys here were the line
>
>        "targetType" : "executable",
>
> together with the "dependencies" section.
>
> There still are a bunch of things I don't get. First, building
> takes forever, even with a very simple and short source, where it
> used to take an insignificant number of seconds.
>
> Then, a whole bunch of files I didn't ask for poped up in my
> userland, more or less the whole gtkd package, sources and all,
> even though it is already installed on the system (namely
> /usr/include/dmd/gtkd2/). There must be a more clever way.
>

DDT does little more than call 'dub build' (for building) and 'dub describe' for resolving dependencies and figuring out the import path.
This sounds more like a DUB issue. What happens if you run 'dub build' in the linux console for your project? Is it quick or fast?

Same as with the gtkd sources. That seems like either a DUB issue, or an issue in how GTKD is packaged. Note that DUB should only download the gtkd bundle once per user, so it's not much of an issue, even if it duplicates /usr/include/dmd/gtkd2 .

> Third, isn't there a way to set all this at the IDE or working
> set level instead of project-by-project ?
>

What exactly do you want to set at working set level or IDE level? If it is project dependencies, then no, these should be set on a per-project basis, it makes little sense otherwise (for a variety of reasons).

> And finally I find that the number of options that can and must
> go in this dub.json file is way too high, and that said options
> are somehow poorly documented. Are there some easy-access
> reference out there ?
>

Bottom line, you must have a basic understanding of DUB to use DDT.
The reference for dub.json is:
http://code.dlang.org/package-format

>
> And oh, the reason I updated in the first place was that I
> understood that debugging was better with the newest version of
> DDT. I must have missed something here too, because I still
> can't properly debug as in "step-by-step in the source code". Any
> hint ?

This should work, yes. Are you sure the executable is being compiled with debugging symbols?
If so, I'll need more info. What does the GDB console in Eclipse say after you run a D application in a debug launch?

-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros
June 06, 2014
Thanks a lot for this detailed answers :-)

I did not have time to look into it yet, but I will as soon as I
can.
June 23, 2014
On Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:
> A new version of DDT is out. Some fixes, and debugger and build improvements. Full changelog:
> https://github.com/bruno-medeiros/DDT/releases/tag/Release_0.10.1

Is there a way how to add phobos autocompletion support. Because it is not usefull when it does not make autocompletion for import std... or stri... and anything from druntime or phobos library.
June 23, 2014
On Monday, 23 June 2014 at 18:12:14 UTC, Daniel Kozak wrote:
> On Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:
>> A new version of DDT is out. Some fixes, and debugger and build improvements. Full changelog:
>> https://github.com/bruno-medeiros/DDT/releases/tag/Release_0.10.1
>
> Is there a way how to add phobos autocompletion support. Because it is not usefull when it does not make autocompletion for import std... or stri... and anything from druntime or phobos library.

Ok I have found it, Window->Preferences->DDT->Compilers select compiler (dmd,gdc,ldc) Edit...->Add.. compiler system libraries
June 24, 2014
On 23/06/2014 19:17, Daniel Kozak wrote:
> On Monday, 23 June 2014 at 18:12:14 UTC, Daniel Kozak wrote:
>> On Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:
>>> A new version of DDT is out. Some fixes, and debugger and build
>>> improvements. Full changelog:
>>> https://github.com/bruno-medeiros/DDT/releases/tag/Release_0.10.1
>>
>> Is there a way how to add phobos autocompletion support. Because it is
>> not usefull when it does not make autocompletion for import std... or
>> stri... and anything from druntime or phobos library.
>
> Ok I have found it, Window->Preferences->DDT->Compilers select compiler
> (dmd,gdc,ldc) Edit...->Add.. compiler system libraries

Yeah, someone else had a similar problem recently. DDT tries to detect the location of the library source code folders relative to the compiler binary, but every other linux distro has its own different layout (plus with DMD/GDC/LDC variations).

What's yours so I can add to the auto-detection? Is it:
/usr/bin/dmd
/usr/include/dlang   (location of D runtime and Phobos source)
?

-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros
June 24, 2014
On Tuesday, 24 June 2014 at 14:33:44 UTC, Bruno Medeiros wrote:
> On 23/06/2014 19:17, Daniel Kozak wrote:
>> On Monday, 23 June 2014 at 18:12:14 UTC, Daniel Kozak wrote:
>>> On Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:
>>>> A new version of DDT is out. Some fixes, and debugger and build
>>>> improvements. Full changelog:
>>>> https://github.com/bruno-medeiros/DDT/releases/tag/Release_0.10.1
>>>
>>> Is there a way how to add phobos autocompletion support. Because it is
>>> not usefull when it does not make autocompletion for import std... or
>>> stri... and anything from druntime or phobos library.
>>
>> Ok I have found it, Window->Preferences->DDT->Compilers select compiler
>> (dmd,gdc,ldc) Edit...->Add.. compiler system libraries
>
> Yeah, someone else had a similar problem recently. DDT tries to detect the location of the library source code folders relative to the compiler binary, but every other linux distro has its own different layout (plus with DMD/GDC/LDC variations).
>
> What's yours so I can add to the auto-detection? Is it:
> /usr/bin/dmd
> /usr/include/dlang   (location of D runtime and Phobos source)
> ?
On Archlinux:
/usr/bin/dmd -- /usr/include/dlang/dmd
/usr/bin/{ldc2,ldmd2} -- /usr/include/dlang/ldc
/usr/bin/gdc -- /usr/include/dlang/gdc
June 27, 2014
On 24/06/2014 18:53, Daniel Kozak wrote:
>> Yeah, someone else had a similar problem recently. DDT tries to detect
>> the location of the library source code folders relative to the
>> compiler binary, but every other linux distro has its own different
>> layout (plus with DMD/GDC/LDC variations).
>>
>> What's yours so I can add to the auto-detection? Is it:
>> /usr/bin/dmd
>> /usr/include/dlang   (location of D runtime and Phobos source)
>> ?
> On Archlinux:
> /usr/bin/dmd -- /usr/include/dlang/dmd
> /usr/bin/{ldc2,ldmd2} -- /usr/include/dlang/ldc
> /usr/bin/gdc -- /usr/include/dlang/gdc


Are these :
/usr/include/dlang/dmd
/usr/include/dlang/ldc
/usr/include/dlang/gdc
the actual standard library import path *roots* ? That is, is there where object.d/object.di and core/* and std/* are located, or is another subfolder? (DMD sometimes has two import path roots , "druntime/import" and "phobos")

-- 
Bruno Medeiros
https://twitter.com/brunodomedeiros
June 27, 2014
On Friday, 27 June 2014 at 15:28:30 UTC, Bruno Medeiros wrote:
> On 24/06/2014 18:53, Daniel Kozak wrote:
>>> Yeah, someone else had a similar problem recently. DDT tries to detect
>>> the location of the library source code folders relative to the
>>> compiler binary, but every other linux distro has its own different
>>> layout (plus with DMD/GDC/LDC variations).
>>>
>>> What's yours so I can add to the auto-detection? Is it:
>>> /usr/bin/dmd
>>> /usr/include/dlang   (location of D runtime and Phobos source)
>>> ?
>> On Archlinux:
>> /usr/bin/dmd -- /usr/include/dlang/dmd
>> /usr/bin/{ldc2,ldmd2} -- /usr/include/dlang/ldc
>> /usr/bin/gdc -- /usr/include/dlang/gdc
>
>
> Are these :
> /usr/include/dlang/dmd
> /usr/include/dlang/ldc
> /usr/include/dlang/gdc
> the actual standard library import path *roots* ? That is, is there where object.d/object.di and core/* and std/* are located, or is another subfolder? (DMD sometimes has two import path roots , "druntime/import" and "phobos")

$ ls /usr/include/dlang/dmd/
core  etc  index.d  object.di  std  unittest.d
« First   ‹ Prev
1 2