View previous topic :: View next topic |
Author |
Message |
regan
Joined: 21 Jun 2004 Posts: 23
|
Posted: Thu Jul 22, 2004 4:38 pm Post subject: mango and dmd 0.96 |
|
|
Fails to compile on linux.
[root@linux mango]# make -f linux.make
mango/log/Event.d(84): identifier 'time_t' is not defined
I suspect it's the fact that Walter:
- time_t definition removed from std.c.linux.linux, as it conflicted with definition in std.c.time.
Also, $(CLUSTERSOCKET)Channel.d seems to be missing from the repository? it is in linux.make. |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Thu Jul 22, 2004 5:10 pm Post subject: Re: mango and dmd 0.96 |
|
|
regan wrote: | Fails to compile on linux.
[root@linux mango]# make -f linux.make
mango/log/Event.d(84): identifier 'time_t' is not defined
I suspect it's the fact that Walter:
- time_t definition removed from std.c.linux.linux, as it conflicted with definition in std.c.time. |
Probably an easy one to fix
regan wrote: | Also, $(CLUSTERSOCKET)Channel.d seems to be missing from the repository? it is in linux.make. |
I noticed this before... I ended up copying that file from the downloaded zip. |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Jul 22, 2004 5:27 pm Post subject: Re: mango and dmd 0.96 |
|
|
regan wrote: | Fails to compile on linux.
[root@linux mango]# make -f linux.make
mango/log/Event.d(84): identifier 'time_t' is not defined
I suspect it's the fact that Walter:
- time_t definition removed from std.c.linux.linux, as it conflicted with definition in std.c.time.
Also, $(CLUSTERSOCKET)Channel.d seems to be missing from the repository? it is in linux.make. |
Oops, forgot to remove the Channel.d reference from the linux makefile. Can you add the appropriate "import std.c.time;" in the interim please? I'll fix and check it in once I get this other stuff stabilized.
Cheers,
- Kris |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Jul 22, 2004 8:13 pm Post subject: |
|
|
John:
What linux library do you link with to get the full socket support?
- Kris |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Thu Jul 22, 2004 10:57 pm Post subject: |
|
|
There's not a separate library with which to link. The socket functions are integrated into the linux OS kernel. So it's dependent upon which kernel you use. In fact, now that you mention it, you have to make sure that when you build the kernel for your system that you ENABLE multicasting explicitly in the kernel source configuration.
Really what this means is that if you run a stock kernel that was precompiled for you, there's no assurance that multicasting has been compiled in. (looks like I had it compiled in by default: I compile custom kernels every once and awhile).
The solution then is to download the kernel source... run the source configurator to enable the kernel networking options you want. And then recompile the kernel. Though this task isn't all that compilicated anymore, it does take a few times before one gets the hang of it. It can also be quite tedious and easy to enable wrong settings if your not careful (Just stick to the default settings unless you know what you're doing!)
NOTE: I've found the option in the kernel src. You typically run "make menuconfig" to bring up the kernel features to compile in. The location to enable IP multicasting is under "Device Drivers -> Networking Support -> Networking Options -> TCP/IP network . IP: Multicasting"
I'm using the Gentoo Linux kernel-2.6.7 sources. Earlier sources or other distributions may be slightly different. But it's in there.
I'll lend a hand if anyone needs it. Kris mentioned that Regan was using the Fedora core. I'm not sure what it's process is for compiling a new kernel but I'm sure it's similar. This option can't be compiled as a module, so unfortunately there's no posibility of compiling it seperately and linking it into the currently running system.
If anyone needs a hand with this, let me know.
John |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Thu Jul 22, 2004 11:16 pm Post subject: |
|
|
Thanks John; help much appreciated! |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Fri Jul 23, 2004 11:21 am Post subject: |
|
|
A vanilla install of Red Hat 9.0 is confirmed to have multicasting enabled by default ... |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Fri Jul 23, 2004 3:16 pm Post subject: |
|
|
kris wrote: | A vanilla install of Red Hat 9.0 is confirmed to have multicasting enabled by default ... |
Oh.. and that's the other solution. Install a distribution that supports multicasting by default .
So is multicasting working with mango now that the new kernel is in place? |
|
Back to top |
|
|
kris
Joined: 27 Mar 2004 Posts: 1494 Location: South Pacific
|
Posted: Tue Aug 10, 2004 11:46 pm Post subject: |
|
|
JJR wrote: | So is multicasting working with mango now that the new kernel is in place? |
Haven't heard, John. Perhaps if we shout loudly, Regan might hear us in NZ. How about it? ... ANY LUCK OVER THERE, REGAN??
|
|
Back to top |
|
|
regan
Joined: 21 Jun 2004 Posts: 23
|
Posted: Wed Aug 11, 2004 5:03 pm Post subject: |
|
|
kris wrote: | JJR wrote: | So is multicasting working with mango now that the new kernel is in place? |
Haven't heard, John. Perhaps if we shout loudly, Regan might hear us in NZ. How about it? ... ANY LUCK OVER THERE, REGAN??
|
Sorry.. I haven't tried. I got busy here at work, and have no spare time to speak of.
The thing is, the install was a brand new RedHat 9.0 install, so shouldn't it just have worked? I don't understand why I need to install a new kernal.
Is there any way to check whether my existing kernal can/can't do multicasting before I spend the time trying to install a new kernal (it does not sound trivial). |
|
Back to top |
|
|
Wienczny
Joined: 10 Apr 2004 Posts: 35
|
Posted: Wed Aug 11, 2004 6:09 pm Post subject: |
|
|
If your kernel is configured to have a config file in /proc then you could look at this file... |
|
Back to top |
|
|
regan
Joined: 21 Jun 2004 Posts: 23
|
Posted: Wed Aug 11, 2004 6:46 pm Post subject: |
|
|
Wienczny wrote: | If your kernel is configured to have a config file in /proc then you could look at this file... |
What file am I looking for in /proc? (I am a newbie to using linux for anything other than compiling C)
Thanks for your input. |
|
Back to top |
|
|
Wienczny
Joined: 10 Apr 2004 Posts: 35
|
Posted: Wed Aug 11, 2004 7:52 pm Post subject: |
|
|
regan wrote: |
What file am I looking for in /proc? (I am a newbie to using linux for anything other than compiling C)
Thanks for your input. |
I don't know what the exact filename was...
You could do it this way. Go to your kernel directory.
type "make mrproper". This will delete all configuration files.
then "make menuconfig". The configuration should be initialzed to the one of the currently runnning kernel...
There should also be some files in /proc/net/... called multicast
|
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Thu Aug 12, 2004 5:32 pm Post subject: |
|
|
regan wrote: | kris wrote: | JJR wrote: | So is multicasting working with mango now that the new kernel is in place? |
Haven't heard, John. Perhaps if we shout loudly, Regan might hear us in NZ. How about it? ... ANY LUCK OVER THERE, REGAN??
|
Sorry.. I haven't tried. I got busy here at work, and have no spare time to speak of.
The thing is, the install was a brand new RedHat 9.0 install, so shouldn't it just have worked? I don't understand why I need to install a new kernal.
Is there any way to check whether my existing kernal can/can't do multicasting before I spend the time trying to install a new kernal (it does not sound trivial). |
If Kris is correct about Redhat 9.0 supporitng multicasting by default, then it should have worked as is. I don't know why it's still not working.
Building a new kernel is not really that trivial if you haven't done it before. It's become pretty automated for the most part, but there are lots of options to look over and set correctly. At any rate, I agree that you really shouldn't have to go to all that work to enable multicasting.
I took a look in my proc/net directory and there seems to be some files that indicate multicast type stuff, but I'm not sure how reliable that is in indicating multicast status. I've tried to do some internet searching on the some of the files, but information is scarce, unrelated, or unintelligable.
I've been using Linux for years, but there's so many facets to it, that I still feel like a newbie sometimes.
By the way, what were the errors you were getting on your current Redhat 9.0 distribution? |
|
Back to top |
|
|
JJR
Joined: 22 Feb 2004 Posts: 1104
|
Posted: Thu Aug 12, 2004 5:40 pm Post subject: |
|
|
Wienczny wrote: | I don't know what the exact filename was...
You could do it this way. Go to your kernel directory.
type "make mrproper". This will delete all configuration files.
then "make menuconfig". The configuration should be initialzed to the one of the currently runnning kernel...
|
The "make menuconfig" is really the best place to look, but he'll have to make sure that he has downloaded the linux src package first. Or perhaps the Redhat 9.0 distribution installs it by default?
I didn't realize that the make menuconfig shows the configuration of the currently running kernal in this case. I was under the impression that the menuconfig options are just set to certain default values. That's certainly a handy thing if it's true, but I've never heard of that before. |
|
Back to top |
|
|
|