November 15, 2005
kris wrote:
<snip>
> Mango uses Build exclusively at this point. You'll see various .brf files in both the \build and \example. You might try compiling the examples and going from there? Thanks for the bug report on the unittest ~ it' clearly out of date. The examples are good to go.

I've just downloaded mango_release_1-6.zip and there's still something wrong.  Does it rely on a bug fix that was put in since the last GDC update?

----------
[masg2-mac:D/mango/test] masg2% build -I../.. unittest.d
/Users/masg2/Documents/Prog/D/mango/io/DisplayWriter.d:154: function mango.io.DisplayWriter.DisplayWriter.print called with argument types:
    (char[],TypeInfo[],char*)
matches both:
    mango.io.DisplayWriter.DisplayWriter.print(char[],TypeInfo[],void*)
and:
    mango.io.DisplayWriter.DisplayWriter.print(char[],...)
/Users/masg2/Documents/Prog/D/mango/io/DisplayWriter.d:167: function mango.io.DisplayWriter.DisplayWriter.print called with argument types:
    (char[],TypeInfo[],char*)
matches both:
    mango.io.DisplayWriter.DisplayWriter.print(char[],TypeInfo[],void*)
and:
    mango.io.DisplayWriter.DisplayWriter.print(char[],...)
/Users/masg2/Documents/Prog/D/mango/io/TextFormat.d:94: function mango.format.Format.Format.Sprintf.format called with argument types:
    (char[],TypeInfo[],char*)
matches both:
    mango.format.Format.Format.Sprintf.format(char[],...)
and:
    mango.format.Format.Format.Sprintf.format(char[],TypeInfo[],void*)
----------

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
November 15, 2005
"Stewart Gordon" <smjg_1998@yahoo.com> wrote...
> I've just downloaded mango_release_1-6.zip and there's still something wrong.  Does it rely on a bug fix that was put in since the last GDC update?
>
> ----------
> [masg2-mac:D/mango/test] masg2% build -I../.. unittest.d
> /Users/masg2/Documents/Prog/D/mango/io/DisplayWriter.d:154: function
> mango.io.DisplayWriter.DisplayWriter.print called with argument types:
>     (char[],TypeInfo[],char*)
> matches both:
>     mango.io.DisplayWriter.DisplayWriter.print(char[],TypeInfo[],void*)
> and:
>     mango.io.DisplayWriter.DisplayWriter.print(char[],...)

Ack! That has always compiled cleanly with DMD. I think it's fixable, but I don't have a GDC environment. Can you try a cast(void*) on the last argument of that line 154? If so, I'll fix the rest. Does this mean GDC is more stringent?

(At least that error msg now has useful information <g>)


November 15, 2005
GDC apparently thinks _argptr is a char*, whereas DMD says it's a void*. Still, I should have used va_list as the argument type ...

"Kris" <fu@bar.com> wrote in message news:dldf1j$2t51$1@digitaldaemon.com...
> "Stewart Gordon" <smjg_1998@yahoo.com> wrote...
>> I've just downloaded mango_release_1-6.zip and there's still something wrong.  Does it rely on a bug fix that was put in since the last GDC update?
>>
>> ----------
>> [masg2-mac:D/mango/test] masg2% build -I../.. unittest.d
>> /Users/masg2/Documents/Prog/D/mango/io/DisplayWriter.d:154: function
>> mango.io.DisplayWriter.DisplayWriter.print called with argument types:
>>     (char[],TypeInfo[],char*)
>> matches both:
>>     mango.io.DisplayWriter.DisplayWriter.print(char[],TypeInfo[],void*)
>> and:
>>     mango.io.DisplayWriter.DisplayWriter.print(char[],...)
>
> Ack! That has always compiled cleanly with DMD. I think it's fixable, but I don't have a GDC environment. Can you try a cast(void*) on the last argument of that line 154? If so, I'll fix the rest. Does this mean GDC is more stringent?
>
> (At least that error msg now has useful information <g>)
> 


November 16, 2005
The type of va_list varies from target to target.  On some, it is a struct!

David

Kris wrote:
> GDC apparently thinks _argptr is a char*, whereas DMD says it's a void*. Still, I should have used va_list as the argument type ...
> 
> "Kris" <fu@bar.com> wrote in message news:dldf1j$2t51$1@digitaldaemon.com...
> 
>>"Stewart Gordon" <smjg_1998@yahoo.com> wrote...
>>
>>>I've just downloaded mango_release_1-6.zip and there's still something wrong.  Does it rely on a bug fix that was put in since the last GDC update?
>>>
>>>----------
>>>[masg2-mac:D/mango/test] masg2% build -I../.. unittest.d
>>>/Users/masg2/Documents/Prog/D/mango/io/DisplayWriter.d:154: function mango.io.DisplayWriter.DisplayWriter.print called with argument types:
>>>    (char[],TypeInfo[],char*)
>>>matches both:
>>>    mango.io.DisplayWriter.DisplayWriter.print(char[],TypeInfo[],void*)
>>>and:
>>>    mango.io.DisplayWriter.DisplayWriter.print(char[],...)
>>
>>Ack! That has always compiled cleanly with DMD. I think it's fixable, but I don't have a GDC environment. Can you try a cast(void*) on the last argument of that line 154? If so, I'll fix the rest. Does this mean GDC is more stringent?
>>
>>(At least that error msg now has useful information <g>)
>>
> 
> 
> 
November 16, 2005
"David Friedman"  wrote
> The type of va_list varies from target to target.  On some, it is a struct!

I know; shameful behaviour on my part. Thank you, and there's yet another zipfile update for Stewart available. Sigh.



November 16, 2005
Kris wrote:
<snip>
> Ack! That has always compiled cleanly with DMD. I think it's fixable, but I don't have a GDC environment. Can you try a cast(void*) on the last argument of that line 154? If so, I'll fix the rest. Does this mean GDC is more stringent?

You're right, only GDC isn't stringent, it's buggy.

http://www.digitalmars.com/d/function.html

"These variadic functions have a special local variable declared for them, _argptr, which is a void* pointer to the first of the variadic arguments. To access the arguments, _argptr must be cast to a pointer to the expected argument type:"

Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
November 16, 2005
Kris wrote:
> "David Friedman"  wrote
>> The type of va_list varies from target to target.  On some, it is a struct!
> 
> I know; shameful behaviour on my part. Thank you, and there's yet another zipfile update for Stewart available. Sigh.

Got it.  The Mac version of build is buggy - the .o files all go the working directory but when the time comes to link, it looks for them in the individual source directories.  But having got around that, it still doesn't work:

[masg2-mac:~/Documents/Prog/d] masg2% a.out
Error: could not open library libicuuc.dylib.32

Any idea where to get this?


WIAI I noticed a few more errors:

1. mango.d, required by mango.brf, is missing.

2. Small typo in readme.txt:

"Fixed bugs in unitest.d"

s/unitest/unittest


Stewart.

-- 
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- C++@ a->--- UB@ P+ L E@ W++@ N+++ o K-@ w++@ O? M V? PS- PE- Y? PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox.  Please keep replies on the 'group where everyone may benefit.
November 16, 2005
On Wed, 16 Nov 2005 11:54:48 +0000, Stewart Gordon wrote:

> The Mac version of build is buggy - the .o files all go the working directory but when the time comes to link, it looks for them in the individual source directories.

This is because Build uses the -op switch when using DMD but there is no equivalent switch for GDC. I guess I might have to do it manually inside Build for non-DMD users.



-- 
Derek Parnell
Melbourne, Australia
17/11/2005 12:16:18 AM
November 16, 2005
Derek Parnell wrote:
> On Wed, 16 Nov 2005 11:54:48 +0000, Stewart Gordon wrote:
> 
> 
>>The Mac version of build is buggy - the .o files all go the working directory but when the time comes to link, it looks for them in the individual source directories. 
> 
> 
> This is because Build uses the -op switch when using DMD but there is no
> equivalent switch for GDC. I guess I might have to do it manually inside
> Build for non-DMD users.
> 
> 
> 

GDC install a script named 'gdmd' that supports all of the DMD options.
November 16, 2005
Stewart Gordon wrote:

> [masg2-mac:~/Documents/Prog/d] masg2% a.out
> Error: could not open library libicuuc.dylib.32
> 
> Any idea where to get this?

The version in DarwinPorts seems to be version 3.4:
/opt/local/lib/libicuuc.dylib.34

Maybe you need need to update something in your D ?
(or install the old ICU library version, if easier)

--anders

PS. Got it from http://darwinports.opendarwin.org/:
    "port install icu"