FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Mango Beta 9
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic     Forum Index -> Mango
View previous topic :: View next topic  
Author Message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Tue Jul 06, 2004 12:20 am    Post subject: Mango Beta 9 Reply with quote

Mango Beta 9 is available for download.

Some classes from Socket.d have been split out into seperate modules, and there's a new SocketListener class for asynchronously dispatching socket input. The latter is used by the new mango.cluster package, which provides the foundation for several network-aware clustering mechanisms. Right now it exposes very simple cache-coherency only, but this will expand over time (I wanted to get the basic foundation in place).

- Kris
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 4:53 am    Post subject: Reply with quote

There are a couple of errors on the linux build.

The first was pretty easy to fix. The file io/MulticastSocket.d makes a call to setOption(OptionLevel.IP, Option.IP_MULTICAST_LOOP, onoff) on line 73, Mango stops compiling here on Linux.

It appears that for version (linux) in Socket.d, IP_MULTICAST_LOOP has not yet been defined. I added the following lines to the linux version of "enum Option" to fix this:

Code:
// OptionLevel.IP settings
IP_MULTICAST_LOOP = 34,
IP_ADD_MEMBERSHIP = 35,
IP_DROP_MEMBERSHIP = 36,


I found these values in the usr/src/linux/include/linux/in.h, so they appear to be correct.

Once the above is corrected, mango compiles.

Unfortunately the second error puzzles me. Unittest fails to compile with the error:

Code:
mango/unittest.d(262): 'w' is not an integral type
make: *** [unittest] Error 1


Any clues?

Later,

John
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Jul 07, 2004 10:10 am    Post subject: Reply with quote

Whoops; thank you John ~ I'll get that into the zipfile right away.

Don't know about that unittest:262 error either. Very strange. What version of dmd are you using?

- Kris
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:12 pm    Post subject: Reply with quote

I'll see what I can dig up on the second error. I'm using dmd 0.94. There shouldn't be any stale files since I deleted the old directory first.

The only real difference is that I used the svn repository checkout process this time (via the CLI) instead of just downloading the zip file and extracting it. This shouldn't cause any problem though. But just to be sure, maybe I'll go ahead and try the zip file also.

Later,

John
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Jul 07, 2004 3:23 pm    Post subject: Reply with quote

I screwed up on the zipfile also; Charles noted that SynchedCache.d was missing, which is now fixed. He also ran into that strange error ...
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:24 pm    Post subject: Reply with quote

The download version of beta-9 is missing the file mango/cache/SynchedCache.d.

- John
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:25 pm    Post subject: Reply with quote

Oops... looks like I'm out of sync with the posts Smile
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:30 pm    Post subject: Reply with quote

Yep... tried the updated zip file. That "integral type" error is still there. So there's no issue of this reported in the Windows version?
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Jul 07, 2004 3:34 pm    Post subject: Reply with quote

Nope; no problems noted with the Win32 compiler.

can you comment that line out, and see if it complains about the .put() on line 275?
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:50 pm    Post subject: Reply with quote

No, .put() doesn't seem to cause any issues. After commenting out the "w <<" line out, I get a "not an integral type" error again on 327 for the variable "tw".

Code:
tw << "now is the time for all good men" << 3.14159;


Some issue is going on with that "<<" operator. I'll have a looksee. Has the operator overloading been changed recently? Or perhaps Walter didn't keep the linux and win32 versions of dmd exactly in sync. Curious.

- John
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 3:57 pm    Post subject: Reply with quote

I see an unusual situation in io/Writer.d:

You have a "version (Mango_UseOpShr)" designation for all shift left operators! Don't think that's correct. Should it be "version (Mango_UseOpShl) instead? I can't see where this version is activated.

Although... I'm likely just thoroughly confused. Smile

Later,

John
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 4:06 pm    Post subject: Reply with quote

Ignore above post. It's looks like that version statement is used for both shift left and shift right activation. I still need to find where that version path is activated, though.
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Jul 07, 2004 4:09 pm    Post subject: Reply with quote

JJR wrote:
No, .put() doesn't seem to cause any issues. After commenting out the "w <<" line out, I get a "not an integral type" error again on 327 for the variable "tw".

Code:
tw << "now is the time for all good men" << 3.14159;


Some issue is going on with that "<<" operator. I'll have a looksee. Has the operator overloading been changed recently? Or perhaps Walter didn't keep the linux and win32 versions of dmd exactly in sync. Curious.

- John

I suspect it's the latter John. Walter changed the behaviour of both << and >> recently (I think it was v0.93). Mango.io hasn't changed in that arena since ... oh wait! I noticed that mango.io.Writer.d didn't have a version() statement wrapping the operators. Under Win32, the version() stuff is global to the compile rather than being local to the file (most annoying actually) ~ I wonder if the linux compiler does that differently? If so, the << operators would not be defined within Writer; hence the error.

Can you please test this John, by commenting out the version statement on line 403 of Writer.d ?

Failing that: I think the only Mango code that actually uses the <</>> syntax is isolated to unittest.d, so the rest of it should compile fine. For the time being, perhaps it would be worth using mango/example/servlets.d as the executable instead ?
Back to top
View user's profile Send private message
kris



Joined: 27 Mar 2004
Posts: 1494
Location: South Pacific

PostPosted: Wed Jul 07, 2004 4:15 pm    Post subject: Reply with quote

JJR wrote:
Ignore above post. It's looks like that version statement is used for both shift left and shift right activation. I still need to find where that version path is activated, though.

Now I'm the one out of synch Smile

It's located in mango.io.model.IReader.d
Back to top
View user's profile Send private message
JJR



Joined: 22 Feb 2004
Posts: 1104

PostPosted: Wed Jul 07, 2004 4:53 pm    Post subject: Reply with quote

kris wrote:
I suspect it's the latter John. Walter changed the behaviour of both << and >> recently (I think it was v0.93). Mango.io hasn't changed in that arena since ... oh wait! I noticed that mango.io.Writer.d didn't have a version() statement wrapping the operators. Under Win32, the version() stuff is global to the compile rather than being local to the file (most annoying actually) ~ I wonder if the linux compiler does that differently? If so, the << operators would not be defined within Writer; hence the error.


You're probably right about the problem of linux version being local to the file (well to some wierd extent anyway). I took out all previous comments and added a "version = Mango_UseOpShr;" within the class in IWriter.d. The mango library and unittest compiled without error. Unfortunately, the unittest segment faults on run. So something still isn't right...argh.

kris wrote:
Can you please test this John, by commenting out the version statement on line 403 of Writer.d ?


Did so prior to trying above... the error came up with: tw.opShl("... text ...") is not an integral type. Looks like the version branch was not being activated in IWriter.d even though it was in Writer.d (well I should say we forced it to be activated by commenting out the version statement). Kind of weird combination of effects.

kris wrote:
Failing that: I think the only Mango code that actually uses the <</>> syntax is isolated to unittest.d, so the rest of it should compile fine. For the time being, perhaps it would be worth using mango/example/servlets.d as the executable instead ?


I'll give this a try... Still would be nice to know why unittest.d is now seg faulting with my above changes.

Later,

John
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> Mango All times are GMT - 6 Hours
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group