digitalmars.D.ide - DDT 0.10.1 released
- Bruno Medeiros (6/6) May 02 2014 A new version of DDT is out. Some fixes, and debugger and build
- Derix (35/35) May 24 2014 I'm on Linux 64-bit. I recently upgraded Eclipse to 4.3.2 and DDT
- Bruno Medeiros (22/57) May 28 2014 DDT does little more than call 'dub build' (for building) and 'dub
- Derix (3/3) Jun 06 2014 Thanks a lot for this detailed answers :-)
- Daniel Kozak (4/7) Jun 23 2014 Is there a way how to add phobos autocompletion support. Because
- Daniel Kozak (3/11) Jun 23 2014 Ok I have found it, Window->Preferences->DDT->Compilers select
- Bruno Medeiros (12/23) Jun 24 2014 Yeah, someone else had a similar problem recently. DDT tries to detect
- Daniel Kozak (5/30) Jun 24 2014 On Archlinux:
- Bruno Medeiros (12/25) Jun 27 2014 Are these :
- Dicebot (3/28) Jun 27 2014 $ ls /usr/include/dlang/dmd/
- Bruno Medeiros (6/33) Jul 02 2014 Thanks, then that is indeed be the import root. (and the only one)
- Dicebot (2/7) Jul 02 2014 Yes (I am the packager of all D stuff on Arch Linux)
- Bruno Medeiros (5/13) Jul 02 2014 Just to confirm, object.di specifically is in /usr/include/dlang/ldc too...
- Dicebot (7/21) Jul 02 2014 Yes. All standard stuff can be found using
- Bruno Medeiros (9/12) Jul 02 2014 For libraries, I don't care about such system specifics - as DUB should
- Dicebot (7/13) Jul 02 2014 For dub it is not really important as basic installation is
- Bruno Medeiros (10/22) Jul 02 2014 You're right, for normal DUB operation (building, fetching dependencies,...
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 02 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 24 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-formatAnd 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
May 28 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.
Jun 06 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.1Is 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.
Jun 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:Ok I have found it, Window->Preferences->DDT->Compilers select compiler (dmd,gdc,ldc) Edit...->Add.. compiler system librariesA 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.1Is 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.
Jun 23 2014
On 23/06/2014 19:17, Daniel Kozak wrote:On Monday, 23 June 2014 at 18:12:14 UTC, 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) ? -- Bruno Medeiros https://twitter.com/brunodomedeirosOn Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:Ok I have found it, Window->Preferences->DDT->Compilers select compiler (dmd,gdc,ldc) Edit...->Add.. compiler system librariesA 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.1Is 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.
Jun 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 Archlinux: /usr/bin/dmd -- /usr/include/dlang/dmd /usr/bin/{ldc2,ldmd2} -- /usr/include/dlang/ldc /usr/bin/gdc -- /usr/include/dlang/gdcOn Monday, 23 June 2014 at 18:12:14 UTC, 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 Friday, 2 May 2014 at 17:27:37 UTC, Bruno Medeiros wrote:Ok I have found it, Window->Preferences->DDT->Compilers select compiler (dmd,gdc,ldc) Edit...->Add.. compiler system librariesA 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.1Is 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.
Jun 24 2014
On 24/06/2014 18:53, Daniel Kozak wrote: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/brunodomedeirosYeah, 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
Jun 27 2014
On Friday, 27 June 2014 at 15:28:30 UTC, Bruno Medeiros wrote:On 24/06/2014 18:53, Daniel Kozak wrote:$ ls /usr/include/dlang/dmd/ core etc index.d object.di std unittest.dAre 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")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
Jun 27 2014
On 27/06/2014 17:03, Dicebot wrote:On Friday, 27 June 2014 at 15:28:30 UTC, Bruno Medeiros wrote:Thanks, then that is indeed be the import root. (and the only one) Can someone verify the same for LDC? -- Bruno Medeiros https://twitter.com/brunodomedeirosOn 24/06/2014 18:53, Daniel Kozak wrote:$ ls /usr/include/dlang/dmd/ core etc index.d object.di std unittest.dAre 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")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
Jul 02 2014
On Wednesday, 2 July 2014 at 11:05:46 UTC, Bruno Medeiros wrote:Yes (I am the packager of all D stuff on Arch Linux)$ ls /usr/include/dlang/dmd/ core etc index.d object.di std unittest.dThanks, then that is indeed be the import root. (and the only one) Can someone verify the same for LDC?
Jul 02 2014
On 02/07/2014 12:47, Dicebot wrote:On Wednesday, 2 July 2014 at 11:05:46 UTC, Bruno Medeiros wrote:Just to confirm, object.di specifically is in /usr/include/dlang/ldc too ? -- Bruno Medeiros https://twitter.com/brunodomedeirosYes (I am the packager of all D stuff on Arch Linux)$ ls /usr/include/dlang/dmd/ core etc index.d object.di std unittest.dThanks, then that is indeed be the import root. (and the only one) Can someone verify the same for LDC?
Jul 02 2014
On Wednesday, 2 July 2014 at 13:55:50 UTC, Bruno Medeiros wrote:On 02/07/2014 12:47, Dicebot wrote:Yes. All standard stuff can be found using -I/usr/include/dlang/<dmd|ldc|gdc>. It is also planned that bindings to any other D libraries will be stored at /usr/include/dlang/<library> (so that single -I/usr/include/dlang will locate all of them) but currently there are none in Arch repos.On Wednesday, 2 July 2014 at 11:05:46 UTC, Bruno Medeiros wrote:Just to confirm, object.di specifically is in /usr/include/dlang/ldc too ?Yes (I am the packager of all D stuff on Arch Linux)$ ls /usr/include/dlang/dmd/ core etc index.d object.di std unittest.dThanks, then that is indeed be the import root. (and the only one) Can someone verify the same for LDC?
Jul 02 2014
On 02/07/2014 15:19, Dicebot wrote:It is also planned that bindings to any other D libraries will be stored at /usr/include/dlang/<library> (so that single -I/usr/include/dlang will locate all of them) but currently there are none in Arch repos.For libraries, I don't care about such system specifics - as DUB should take care of that (and provide the import paths to other tools). Hum, in fact, now that I think of it, this functionality I have on DDT to detect compiler installations and the standard library import roots, it should ideally reside in DUB itself. -- Bruno Medeiros https://twitter.com/brunodomedeiros
Jul 02 2014
On Wednesday, 2 July 2014 at 15:26:56 UTC, Bruno Medeiros wrote:For libraries, I don't care about such system specifics - as DUB should take care of that (and provide the import paths to other tools). Hum, in fact, now that I think of it, this functionality I have on DDT to detect compiler installations and the standard library import roots, it should ideally reside in DUB itself.For dub it is not really important as basic installation is usually taken care of by dmd.conf, it assumes already working compiler installation. Same goes for any additional libraries installed by distro package manager - dub won't know a single thing about those. I don't know if DDT should care either though.
Jul 02 2014
On 02/07/2014 16:40, Dicebot wrote:On Wednesday, 2 July 2014 at 15:26:56 UTC, Bruno Medeiros wrote:You're right, for normal DUB operation (building, fetching dependencies, etc.), it matters not. Rather this would be useful only for the "dub describe" layer of functionality, which is used only for IDEs and other tools wanting to work with DUB bundles (mostly figuring out the import path and other resolved information). -- Bruno Medeiros https://twitter.com/brunodomedeirosFor libraries, I don't care about such system specifics - as DUB should take care of that (and provide the import paths to other tools). Hum, in fact, now that I think of it, this functionality I have on DDT to detect compiler installations and the standard library import roots, it should ideally reside in DUB itself.For dub it is not really important as basic installation is usually taken care of by dmd.conf, it assumes already working compiler installation. Same goes for any additional libraries installed by distro package manager - dub won't know a single thing about those. I don't know if DDT should care either though.
Jul 02 2014