> On 2023-05-25 09:52, Brian Inglis via Cygwin wrote: > > On 2023-05-24 12:18, Denis Excoffier via Cygwin wrote: >> I have an error (about symlinks it seems) that i have never met in years: >> Cannot change mode. >> Apart from this message (and return code != 0), the ?tar extract? is ok. >> % uname -a >> CYGWIN_NT-10.0-17763 {edited} 3.5.0-0.295.g3bee68248fc8.x86_64 2023-05-01 >> 17:58 UTC x86_64 Cygwin >> % cd /tmp; rm -rf mytest mytest.tar >> % mkdir mytest >> % ln -s b mytest/a >> % /bin/tar cf /tmp/mytest.tar mytest >> % /bin/tar tvf /tmp/mytest.tar >> drwxr-xr-x {edited}/{edited} 0 2023-05-24 13:12 mytest/ >> lrwxrwxrwx {edited}/{edited} 0 2023-05-24 13:12 mytest/a -> b >> % rm -rf mytest >> % /bin/tar xf /tmp/mytest.tar >> /bin/tar: mytest/a: Cannot change mode to rwxr-xr-x: Not a directory >> /bin/tar: Exiting with failure status due to previous errors >> % echo $status >> 2 >> % >> /tmp is under ntfs filesystem, all packages are up to date (e.g. /bin/tar >> --version is 1.34). > > I recently got this during a package update build, when it decided to tar a > build directory, which contained only symlinks to files in the src directory, > which the tar did not include, which would have created many dangling > symlinks. > > I fixed the issue by adding -h, --dereference to give chf and tar real files. >
I don’t catch this. A symlink, dangling or not, is a normal file. In any case, the problem is the same if the symlink target is a member in the archive. See for example % mkdir -p /tmp/mytest2; cd /tmp/mytest2 % tar xf cygwin-devel-3.5.0-0.295.g3bee68248fc8.tar.xz /bin/tar: usr/lib/libg.a: Cannot change mode to rwxr-xr-x: Not a directory /bin/tar: Exiting with failure status due to previous errors % I add that my symlinks are default ones, i.e. JUNCTIONS. Denis Excoffier. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple