Re: Trying to compile Epic
Igor Khavkine <i_khavki@alcor.concordia.ca> writes:
> On Sat, Sep 30, 2000 at 08:40:53PM +0000, Frederico S. Muñoz wrote:
> >
> > Hello all,
> >
> > I'm trying to compile Epic (partly because I think that GNU/Hurd would
> > benefict from having an IRC client, and I'm partial to Epic - instead
> > of BitchX, for example, altough I would really like to have a non-X
> > IRC client that was GPLed).
> > Two issues arised:
> >
> > 1: The MAXPATHLEN/PATHMAX issue; I would really like if you guys could
> > give me further issue on this one (begining in what the hell does it
> > defines... I have some guesses, but...); by context I see that it is
> > used to allocate mem trough malloc and friends, based on some system
> > specific value. What's the best way to handle this one? I have been
> > substituting it with some value (30 for tree, used 4000 for epic based
> > on info given in this list).
> > (...)
> Actually, at some point I've already gotten EPIC to compile under the Hurd.
> I don't have the changes anymore since it wasn't for myself but for
> someone who asked me for help on IRC. But I remember that the MAXPATHLEN
> issues. I didn't solve them properly since I only #defined it to be 4096 like
> in linux. A better way to handle it would be to use arbitrary length
> string operations provided by glibc. If you want an example check out my
> pmake patch at http://alcor.concordia.ca/~i_khavki/. The other issue was
> that EPIC tries to allocate an array of the size of the order of the
> maximum number of file descriptors on the system (you can query sysinfo(2)
> for that), on Hurd the number that you get is either INT_MAX or -1, so that's
> where the crash comes from. I didn't fix it properly either, just replaced
> it by some arbitrary large number.
Yes, I made it compile also (just bedore reading your post, I came
back to GNU/Linux to post my success :) ); you are absolutly right in
all you say of course, I did the same thing (actually worse, I didn't
used #define, I changed every occurence of it... oh well, I'm new to
this things).
As for the crash you are also right, after posting the first message I
went back and used gdb - actually the first time I used it for
something useful - and it said that it was receiving a SIGSEGV,
Segmentation fault in ini_io () at newio.c:83 - io_rec[c]=(MyIO *)0;
I went to newio.c and saw that this piece of code was inside a for
loop wich was incremented until reach ARRAYLEN; remenbering the
MAXPATHLEN thing I changed it directly to 4000, make and run, it
worked; I've been experimenting with it and everything seems normal
(didn't used DCC yet).
>
> Both of these problems are not strictly bugs (except under the Hurd)
> but more design decisions. So you have to dig around the code a bit,
> to see how you could fix it properly.
Ummm... I'll try, but as you have already understood by now I'm not
exactly an experimented code fixer :)
I will look at the urls above, maybe I can eventually learn something
and - who knows? - even fix the thing.
Thanks for the input,
Frederico S. Muñoz
--
Frederico S. Muñoz GNU http://www.gnu.org
fsmunoz@sdf.lonestar.org Debian http://www.debian.org
http://sdf.lonestar.org - SDF Public Access Unix Systems
Reply to: