Path: utzoo!attcan!uunet!ficc!karl From: karl@ficc.uu.net (Karl Lehenbauer) Newsgroups: news.software.b Subject: Re: problem compiling rn Message-ID: <6256@ficc.uu.net> Date: 22 Sep 89 21:01:15 GMT References: <331@grc.UUCP> Reply-To: karl@ficc.uu.net (Karl Lehenbauer) Distribution: na Organization: Ferranti International Controls Lines: 35 In article <331@grc.UUCP> don@grc.UUCP (Donald D. Woelz) writes: >I am trying to compile rn... >Anyway, I am having trouble building rn after applying all the patches. > cc -c -O ngdata.c >"ngdata.c", line 187: dirp undefined >"ngdata.c", line 187: illegal indirection >*** Error code 1 Yes, yes. I just fought through this last night on System V/3.0 on a 386. ("rn" is wonderful, by the way, I'll never go back -- plus I'm kicking myself for not having it the last three years, but anyway...) There are three ways "rn" is supposed to be able to work with directories. This is determined in the "Configure" script. If you are on Berkeley, I guess, it's in the system. If your system has "readdir()" it uses that, otherwise it (rn) uses its own included directory-reading stuff. The problem is that the readdir() stuff doesn't seem to work. Even if you make it include the right file from /usr/include or /usr/include/sys that defines the DIR typedef, there is an illegal pointer/pointer combination because System V is talking "struct dirent" and rn is talking "struct direct." The answer is to comment out the stuff in the Configure script that ends up saying something like "OK, you have readdir() so we'll use that" so that it uses the builtin stuff instead. Just comment out the if and the three or so lines that find readdir, then comment out the else and endif so Configure says something like "don't have either...using my own directory reader." I haven't communicated this back to Larry Wall because god knows what rev we're at. I'll be addressing that, too. -- -- uunet!ficc!karl "The last thing one knows in constructing a work is what to put first." -- Pascal