HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (05/03/91)
I think I saw this message earlier, it is a bug in the ACK compiler. C.v.W.
paulc@polari.UUCP (Paul Cornett) (05/05/91)
In article <9943@plains.NoDak.edu>, enders@plains.NoDak.edu (Todd Enders - WD0BCI ) writes: > > Well, I finally completed my upgrade of Minix from v1.2 to v1.5.10! > Everything compiles and seems to work OK, except for ls (the ls I had for > v1.3 didn't compile either, but that's another story). Everything goes fine > until link time where it dies, saying: > > perror.s 300: _21 multiple declared > unresolved references: I ran into the same problem. There is nothing wrong with perror, it is a bug in the Minix C compiler. I got ls to compile by making the following changes to ls.c: *** ls.c~ Tue Feb 5 06:18:23 1991 --- ls.c Thu Feb 7 14:08:49 1991 *************** *** 485,490 **** --- 485,492 ---- { unsigned short mode; char c, fchar( /* unsigned short mode */ ); + static char *rwx[] = {"---", "--x", "-w-", "-wx", + "r--", "r-x", "rw-", "rwx"}; if (flags_i) printf("%5d ", entry->f_stat.st_ino); *************** *** 493,500 **** mode = entry->f_stat.st_mode; if (flags_l) { - static char *rwx[] = {"---", "--x", "-w-", "-wx", - "r--", "r-x", "rw-", "rwx"}; char bits[11]; switch (mode & S_IFMT) { --- 495,500 ---- Paul Cornett paulc@seattle.uucp or ...!uw-beaver!sumax!seattle!paulc
dls@genco.bungi.com (Dave L. Smith) (05/05/91)
I had the same problem, and I'm sure many others have too. The problem (I am told) is a bug in the C compiler. When you have static variables inside a function (they may have to be structs, I'm not sure), you will get _XX multiply defined. The easiest fix is to edit ls.c and move the static declarations out of the functions. I did this and got it to compile, but now I have core dumps whenever I do a 'ls -l'. If you get it to work, I'd like to hear about it. Anyone else got ls to work? Thanks Dave Smith
adamd@rhi.hi.is (Adam David) (05/08/91)
I'm not sure this is related, but it's the same subject line. Recently I recompiled the library sources on a floppy disk and in the process some of the directories suffered some minor damage. All access to the directories (including fsck) worked without error, but ls did 'memory fault - core dumped'. Anyway I cleared it up by doing mkdir newdir mv olddir/* newdir mv newdir olddir or similar. How come ls failed when other commands had no trouble with these directories? Might this be related to having large numbers of files (500+) on the same floppy disk? -- Adam David. (adamd@rhi.hi.is)