November 27, 2012
I'm trying to compile DSSS from the current svn trunk.  My info is from http://www.dsource.org/projects/dsss   The build gets stuck, spewing many errors.   Note that I'm trying to build DSSS itself, not use DSSS to build something else. (I may be back later with those kinds of questions.)   I'm using 64-bit Linux (Ubuntu) using dmd
DMD64 D Compiler v2.056


The command to build
make -f Makefile.dmd.posix


The part of the build output around where the errors start is this:

g++ -g  nchoosedc.o nwhereami.o -o choosedc
./choosedc
Ignore any error from GDC or DMD in the following lines.
/usr/local/src/DSSS/src-co/trunk/rebuild/./testtango.d(3): Error: function testtango.A.toUtf8 does not override any function
make[1]: Leaving directory `/usr/local/src/DSSS/src-co/trunk/rebuild'
cp -f rebuild/defaults/dmd-posix rebuild/rebuild.conf/default
./rebuild/rebuild -full -Irebuild sss/main.d -ofdsss
hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100 instead
rebuild/util/booltype.d(364): Error: function util.booltype.Bool.toString of type char[]() overrides but is not covariant with object.Object.toString of type string()
hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100 instead
rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression (",") of type string to char[]
rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression ("//") of type string to char[]
rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression ("\\") of type string to char[]


After all the "cannot implicitly convert" errors there are several like this:

hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100 instead


svn info says:

Path: .
URL: http://svn.dsource.org/projects/dsss/trunk
Repository Root: http://svn.dsource.org/projects/dsss
Repository UUID: 2894d018-631f-0410-8ed0-857076f880b1
Revision: 945
Node Kind: directory
Schedule: normal
Last Changed Author: Gregor
Last Changed Rev: 945
Last Changed Date: 2009-04-17 10:26:11 -0700 (Fri, 17 Apr 2009)
November 27, 2012
AFAIK, dsss is very old and designed for D1.


On Tue, Nov 27, 2012 at 4:53 AM, Daren Scot Wilson < darenw@darenscotwilson.com> wrote:

> I'm trying to compile DSSS from the current svn trunk.  My info is from
> http://www.dsource.org/**projects/dsss<http://www.dsource.org/projects/dsss>  The build gets stuck, spewing many errors.   Note that I'm trying to
> build DSSS itself, not use DSSS to build something else. (I may be back
> later with those kinds of questions.)   I'm using 64-bit Linux (Ubuntu)
> using dmd
> DMD64 D Compiler v2.056
>
>
> The command to build
> make -f Makefile.dmd.posix
>
>
> The part of the build output around where the errors start is this:
>
> g++ -g  nchoosedc.o nwhereami.o -o choosedc
> ./choosedc
> Ignore any error from GDC or DMD in the following lines.
> /usr/local/src/DSSS/src-co/**trunk/rebuild/./testtango.d(3)**: Error:
> function testtango.A.toUtf8 does not override any function
> make[1]: Leaving directory `/usr/local/src/DSSS/src-co/**trunk/rebuild'
> cp -f rebuild/defaults/dmd-posix rebuild/rebuild.conf/default
> ./rebuild/rebuild -full -Irebuild sss/main.d -ofdsss
> hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100
> instead
> rebuild/util/booltype.d(364): Error: function util.booltype.Bool.toString
> of type char[]() overrides but is not covariant with object.Object.toString
> of type string()
> hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100
> instead
> rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression
> (",") of type string to char[]
> rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression
> ("//") of type string to char[]
> rebuild/util/linetoken.d(50): Error: cannot implicitly convert expression
> ("\\") of type string to char[]
>
>
> After all the "cannot implicitly convert" errors there are several like this:
>
> hcf/path.d(88): octal literals 0100 are deprecated, use std.conv.octal!100
> instead
>
>
> svn info says:
>
> Path: .
> URL: http://svn.dsource.org/**projects/dsss/trunk<http://svn.dsource.org/projects/dsss/trunk>
> Repository Root: http://svn.dsource.org/**projects/dsss<http://svn.dsource.org/projects/dsss>
> Repository UUID: 2894d018-631f-0410-8ed0-**857076f880b1
> Revision: 945
> Node Kind: directory
> Schedule: normal
> Last Changed Author: Gregor
> Last Changed Rev: 945
> Last Changed Date: 2009-04-17 10:26:11 -0700 (Fri, 17 Apr 2009)
>



-- 
Bye,
Gor Gyolchanyan.


November 27, 2012
On Tuesday, 27 November 2012 at 05:34:14 UTC, Gor Gyolchanyan wrote:
> AFAIK, dsss is very old and designed for D1.
>
>
> On Tue, Nov 27, 2012 at 4:53 AM, Daren Scot Wilson <
> darenw@darenscotwilson.com> wrote:
>
>> I'm trying to compile DSSS from the current svn trunk.  My info is from
>> http://www.dsource.org/**projects/dsss<http://www.dsource.org/projects/dsss>
>>  The build gets stuck, spewing many errors.   Note that I'm trying to
>> build DSSS itself, not use DSSS to build something else.


Ah.  So then, what is the currently fashionable build system in the D world?


November 27, 2012
I'd recommend RDMD. It can compile (and run) the given module and it's
entire import tree. No build scripts are necessary.
Very convenient with pragma(lib, "...")


On Tue, Nov 27, 2012 at 9:55 AM, Daren Scot Wilson < darenw@darenscotwilson.com> wrote:

> On Tuesday, 27 November 2012 at 05:34:14 UTC, Gor Gyolchanyan wrote:
>
>> AFAIK, dsss is very old and designed for D1.
>>
>>
>> On Tue, Nov 27, 2012 at 4:53 AM, Daren Scot Wilson < darenw@darenscotwilson.com> wrote:
>>
>>  I'm trying to compile DSSS from the current svn trunk.  My info is from
>>> http://www.dsource.org/****projects/dsss<http://www.dsource.org/**projects/dsss> <http://www.**dsource.org/projects/dsss<http://www.dsource.org/projects/dsss>
>>> >
>>>
>>>  The build gets stuck, spewing many errors.   Note that I'm trying to
>>> build DSSS itself, not use DSSS to build something else.
>>>
>>
>
> Ah.  So then, what is the currently fashionable build system in the D world?
>
>
>


-- 
Bye,
Gor Gyolchanyan.


November 27, 2012
On 2012-11-27 08:13, Gor Gyolchanyan wrote:
> I'd recommend RDMD. It can compile (and run) the given module and it's
> entire import tree. No build scripts are necessary.
> Very convenient with pragma(lib, "...")

RDMD is quite good for compiling executables. It won't work for compiling libraries. Quite often a build script is needed to avoid repeating the same compiler/linker flags over and over again.

-- 
/Jacob Carlborg
November 27, 2012
The convenience of RDMD comes from the fact, that it looks into the source files to determine what to do. I think it would be even more convenient to make a build tool for D, which would read special comments (much like DDOC, but dedicated to build process) for compiler flags and other build variables.


On Tue, Nov 27, 2012 at 11:38 AM, Jacob Carlborg <doob@me.com> wrote:

> On 2012-11-27 08:13, Gor Gyolchanyan wrote:
>
>> I'd recommend RDMD. It can compile (and run) the given module and it's
>> entire import tree. No build scripts are necessary.
>> Very convenient with pragma(lib, "...")
>>
>
> RDMD is quite good for compiling executables. It won't work for compiling libraries. Quite often a build script is needed to avoid repeating the same compiler/linker flags over and over again.
>
> --
> /Jacob Carlborg
>



-- 
Bye,
Gor Gyolchanyan.


November 27, 2012
Just like DDOC adds auxiliary information to create documentation, build comments would add auxiliary information to create build scripts (which a tool could just use right away without generating garbage in the form of build script files).


On Tue, Nov 27, 2012 at 11:44 AM, Gor Gyolchanyan < gor.f.gyolchanyan@gmail.com> wrote:

> The convenience of RDMD comes from the fact, that it looks into the source files to determine what to do. I think it would be even more convenient to make a build tool for D, which would read special comments (much like DDOC, but dedicated to build process) for compiler flags and other build variables.
>
>
> On Tue, Nov 27, 2012 at 11:38 AM, Jacob Carlborg <doob@me.com> wrote:
>
>> On 2012-11-27 08:13, Gor Gyolchanyan wrote:
>>
>>> I'd recommend RDMD. It can compile (and run) the given module and it's
>>> entire import tree. No build scripts are necessary.
>>> Very convenient with pragma(lib, "...")
>>>
>>
>> RDMD is quite good for compiling executables. It won't work for compiling libraries. Quite often a build script is needed to avoid repeating the same compiler/linker flags over and over again.
>>
>> --
>> /Jacob Carlborg
>>
>
>
>
> --
> Bye,
> Gor Gyolchanyan.
>



-- 
Bye,
Gor Gyolchanyan.


November 27, 2012
> 
>                 On 2012-11-27 08:13, Gor Gyolchanyan wrote:
>                         I'd recommend RDMD. It can compile (and run)
>                         the given module and it's
>                         entire import tree. No build scripts are
>                         necessary.
>                         Very convenient with pragma(lib, "...")

Btw. if you you use rdmd via sha-bang, there is no way of passing any compiler flags in the #! line (because only a single arg is supported: http://en.wikipedia.org/wiki/Shebang_%28Unix%29

Is there any way of adding compiler flags like -I paths or something in the source file for rdmd? Much like pragma(lib, "")? This would be really useful for "scripts" that need more than just the standard library.

Thanks!

Best regards,

Robert




November 27, 2012
I don't think RDMD reads any more, then the shabang and import statements. Although (as I wrote in a previous post in this thread) I think having a build tool that relies exclusively on the source files would be very convenient.


On Tue, Nov 27, 2012 at 2:44 PM, Robert <jfanatiker@gmx.at> wrote:

>
> >
> >                 On 2012-11-27 08:13, Gor Gyolchanyan wrote:
> >                         I'd recommend RDMD. It can compile (and run)
> >                         the given module and it's
> >                         entire import tree. No build scripts are
> >                         necessary.
> >                         Very convenient with pragma(lib, "...")
>
> Btw. if you you use rdmd via sha-bang, there is no way of passing any compiler flags in the #! line (because only a single arg is supported: http://en.wikipedia.org/wiki/Shebang_%28Unix%29
>
> Is there any way of adding compiler flags like -I paths or something in the source file for rdmd? Much like pragma(lib, "")? This would be really useful for "scripts" that need more than just the standard library.
>
> Thanks!
>
> Best regards,
>
> Robert
>
>
>
>
>


-- 
Bye,
Gor Gyolchanyan.


November 27, 2012
On 2012-11-27 08:47, Gor Gyolchanyan wrote:
> Just like DDOC adds auxiliary information to create documentation, build
> comments would add auxiliary information to create build scripts (which
> a tool could just use right away without generating garbage in the form
> of build script files).

These special comments would just be the build script. I see no advantage of having any form of special comments for a build tool. The only advantage could be if you only have a single source file, then you can safe a file by combining the source file and build file.

Besides from this, it would be just like any other build script. If you put the build configuration in a separate build script you can much easier use whatever full blown language you want, Ruby, Python or even D. I can assure you, there's no point in trying to invent a new "language" for these kind of things.

-- 
/Jacob Carlborg
« First   ‹ Prev
1 2 3 4 5 6 7 8 9 10
Top | Discussion index | About this forum | D home