prog@usceast.UUCP (08/21/84)
<ln -s bug feature> Is it just us, or is anyone else having symbolic links fail to work under 2.9 bsd? ln is claiming to always find an invalid argument. If it isn't just us, and anyone knows a fix, could you let us know? advance thanks Ted Nolan PS : yes , we do have UCB_SYMLINK defined. -- --------------------------------------------------------------------------- | Ken Sallenger ,Ted Nolan | | Department of Computer Science (graduate systems' programmers) | | University of South Carolina ..decvax!mcnc!ncsu!ncrcae!usceast!prog| | Columbia, SC 29208 ..akgua!usceast!prog | | | ---------------------------------------------------------------------------
bmarsh@noscvax.UUCP (William C. Marsh) (08/23/84)
If UCB_NET is not defined, the two system calls symlink and readlink do not get included. To include these two functions, (without including ALL the UCB_NET stuff), change line 270 of file /usr/src/sys/sys/sysent.c from the following: #ifdef UCB_NET to #if defined(UCB_NET) || defined(UCB_SYMLINKS) This will include symlink and readlink into the local system call table. (the network system calls will be defined as nosys by a previous ifdef) Bill Marsh bmarsh@nosc Code 911 Naval Ocean Systems Center ...sdcrdef!sdcsvax!noscvax!bmarsh 271 Catalina Blvd. San Diego, CA 92152
david@varian.UUCP (David Brown) (08/23/84)
I haven't tried symbolic links under 2.9 myself (I've only gotten as far as building a stock 2.9 pack, but we're not using it yet), but the following hints were given at the 2.9BSD BOF session at the Utah USENIX conference in regards to symbolic links: 1) in sys/sysset.c, there are some #ifdef's for symbolic links that are coupled with the ifdef's for UCBNET. If you are not using the net stuff, you need to separate these out. 2) src/cmd/ln.c and ls.c should be recompiled. 3) In fsck, symbolic links are defined as SPECIAL; this is wrong - remove it. I hope these are of help. David Brown (415) 945-2199 Varian Instruments 2700 Mitchell Dr. Walnut Creek, Ca. 94598 {zehntel,amd,fortune,resonex}!varian!david -- David Brown (415) 945-2199 Varian Instruments 2700 Mitchell Dr. Walnut Creek, Ca. 94598 {zehntel,amd,fortune,resonex}!varian!david
crl@pur-phy.UUCP (Charles LaBrec) (08/24/84)
Yes, we have an 11/24 running 2.9 with UCB_SYMLINKS defined, and it works, but a few comments: 1) ln must be recompiled (and check to see if whoami.h or localopts.h is included, so as to get the above define. (same for ls, rm, to name a few) 2) fsck must be fixed--there is a #define for SPECIAL (I think, it's been a while and I don't currently have access to the source). It is a big conditional and LNK is one of them. Well, this makes fsck think a symlink takes no blocks, so it misses the block allocated to the symlink. 3) Just remembered, ls does not initialize the structure member l_linkto (I think) to NULL from malloc, so sometimes an ls -l prints some garbage as the linked-to field of a non-symlink. Charles LaBrec UUCP: pur-ee!Physics:crl, purdue!Physics:crl INTERNET: crl @ pur-phy.UUCP