On Sun, 10 Aug 2008, Andras Barna wrote:

> hah 6.12 is more buggy:
> sent them a mail

Thanks.

A new ntfs-3g package is available for testing on Solaris:

        http://ntfs-3g.org/ntfs-3g-1.2812.tgz

Compilation:

        ./configure
        make

This version should use gcc by default if both gcc and Sun Studio is 
installed (no need to know about 'export CC=gcc'). If only Sun Studio 
is installed then it should give the message

 "ntfs-3g can be built only with gcc on Solaris. Install it by 
  'pkg install gcc-dev' and retry."

Could somebody test please if they work as intended?

Thanks,
           Szaka


> sartek at osol:/tmp/a$ mkdir -p f/f/f/f//f//f/f/f/f//f/f/f/f//f/
> sartek at osol:/tmp/a$ /data/a/bin/rm --version|head -1
> rm (GNU coreutils) 6.12
> sartek at osol:/tmp/a$ /data/a/bin/rm -rf f
> sartek at osol:/tmp/a$ echo $?
> 0
> sartek at osol:/tmp/a$ ls f
> f
> sartek at osol:/tmp/a$ /data/a/bin/rm -r f
> sartek at osol:/tmp/a$ echo $?
> 0
> sartek at osol:/tmp/a$ ls f
> f
> sartek at osol:/tmp/a$
> 
> 
> On Sun, Aug 10, 2008 at 6:40 PM, Szabolcs Szakacsits <szaka at ntfs-3g.org> 
> wrote:
> >
> > On Sun, 10 Aug 2008, Andras Barna wrote:
> >
> >> solaris' rm works, gnu's not
> >> $ /usr/gnu/bin/rm --version
> >> rm (GNU coreutils) 6.7
> >
> > Great info, thanks. This is an 1.5+ year old coreutils but I couldn't
> > reproduce the problem on Linux with the same (newer and older) coreutils
> > versions.
> >
> > If the latest, version 6.12, coreutiles doesn't work either then please
> > submit a bug report to them, noting that Solaris rm works and coreutils too
> > on Linux.
> >
> > Thanks,
> >           Szaka
> >
> >
> >> On Sun, Aug 10, 2008 at 10:48 AM, Szabolcs Szakacsits <szaka at 
> >> ntfs-3g.org> wrote:
> >> >
> >> > On Sun, 10 Aug 2008, Andras Barna wrote:
> >> >> On Sun, Aug 10, 2008 at 12:53 AM, Szabolcs Szakacsits <szaka at 
> >> >> ntfs-3g.org> wrote:
> >> >> >
> >> >> > On Fri, 8 Aug 2008, Andras Barna wrote:
> >> >> >
> >> >> >> am cc'ing desktopdiscuss, since we are talking now about autotools
> >> >> >
> >> >> > Thanks.
> >> >> >
> >> >> >> i applied the patch, seems ok and also i must add AM_PROG_LIBTOOL to
> >> >> >> configure.ac coz: [0]
> >> >> >
> >> >> > Well, you shouldn't add it because it already should be there when 
> >> >> > needed.
> >> >> >
> >> >> > The problem is with this recent patch:
> >> >> >
> >> >> >  
> >> >> > http://mercurial.creo.hu/repos/ntfs-3g-hg/index.cgi/diff/a05ab13955c8/configure.ac
> >> >> >
> >> >> >> a minor error: ./configure: line 19337: LT_INIT: command not found
> >> >> >>
> >> >> >> i have no idea about the other problems. sorry
> >> >> >>
> >> >> >> [0]
> >> >> >> libfuse-lite/Makefile.am:5: Libtool library used but `LIBTOOL' is 
> >> >> >> undefined
> >> >> >> libfuse-lite/Makefile.am:5:   The usual way to define `LIBTOOL' is to
> >> >> >> add `AC_PROG_LIBTOOL'
> >> >> >> libfuse-lite/Makefile.am:5:   to `configure.ac' and run `aclocal' and
> >> >> >> `autoconf' again.
> >> >> >> libfuse-lite/Makefile.am:5:   If `AC_PROG_LIBTOOL' is in
> >> >> >> `configure.ac', make sure
> >> >> >> libfuse-lite/Makefile.am:5:   its definition is in aclocal's search 
> >> >> >> path.
> >> >> >> libntfs-3g/Makefile.am:6: Libtool library used but `LIBTOOL' is 
> >> >> >> undefined
> >> >> >> libntfs-3g/Makefile.am:6:   The usual way to define `LIBTOOL' is to
> >> >> >> add `AC_PROG_LIBTOOL'
> >> >> >> libntfs-3g/Makefile.am:6:   to `configure.ac' and run `aclocal' and
> >> >> >> `autoconf' again.
> >> >> >> libntfs-3g/Makefile.am:6:   If `AC_PROG_LIBTOOL' is in 
> >> >> >> `configure.ac', make sure
> >> >> >> libntfs-3g/Makefile.am:6:   its definition is in aclocal's search 
> >> >> >> path.
> >> >> >
> >> >> > Apparently your autoconf doesn't like the 'ifdef' construct in 
> >> >> > configure.ac
> >> >> > What's the version (autoconf --version)? Minimum 2.59 is needed 
> >> >> > (enforced
> >> >> > by configure.ac) and 2.61 is known to be ok (at least on Linux).
> >> >> >
> >> >>
> >> >> it's 2.61
> >> >
> >> > Interesting.
> >> >
> >> >> > About the "rm: cannot remove directory `foo': Directory not empty" 
> >> >> > problem.
> >> >> >
> >> >> > Is it always reproducible?
> >> >>
> >> >> uhm yes
> >> >>
> >> >> on opensolaris the PATH begins with /usr/gnu/bin, so we are talking
> >> >> about the GNU rm see:
> >> >> (sorry for this i always get lost in PATH's)
> >> >>
> >> >> sartek at osol:/tmp/a# mkdir -p
> >> >> asdasd/asd/as/d/asd/asd/asd/asd/asdasd/as/das/das/da/sdas/das/das/da/sd/asd/asd/asd/as/das/d/asd/asd/asd/asd/as/das/d/asd/asd/asd/
> >> >> sartek at osol:/tmp/a# which rm
> >> >> /usr/gnu/bin/rm
> >> >> sartek at osol:/tmp/a# rm -rf asdasd
> >> >> rm: cannot remove directory `asdasd': Directory not empty
> >> >> sartek at osol:/tmp/a# /usr/bin/rm -rf asdasd
> >> >> sartek at osol:/tmp/a#
> >> >
> >> > I can't reproduce this either on Linux.
> >> >
> >> > Do you have the same problem using the Solaris 'rm' command as well?
> >> >
> >> > If not, then what's the output of 'rm --version'?
> >> >
> >> > Thanks,
> >> >            Szaka
> >> >
> >> >
> >> >> > I grepped the Solaris rm(1) code and it doesn't deal with 
> >> >> > ENOTEMPTY/EEXIST
> >> >> > (no need for it). So the problem was (is?) something else.
> >> >> >
> >> >> > The ntfs-3g driver can also return ENOTEMPTY if a removed 
> >> >> > file/directory
> >> >> > has an open file descriptor and its parent directory tried to be 
> >> >> > removed
> >> >> > (this is a fuse high-level api issue).
> >> >> >
> >> >> > Three potential explanations:
> >> >> >
> >> >> > 1. rm "leaks" file descriptors during recursive removal. But it 
> >> >> > doesn't
> >> >> > look like to be so by a quick look at the code. A tracing could 
> >> >> > confirm
> >> >> > this pretty fast.
> >> >> >
> >> >> > 2. a child and removed file/directory was still in use (opened by at 
> >> >> > least
> >> >> > one process). Then the error message is the expected one.
> >> >> >
> >> >> > 3. a Solaris fuse issue.
> >> >> >
> >> >> > Regards,
> >> >> >           Szaka
> >> >> >
> >> >> > --
> >> >> > NTFS-3G:  http://ntfs-3g.org
> >> >> >
> >> >> >> On Fri, Aug 8, 2008 at 12:48 AM, Szabolcs Szakacsits <szaka at 
> >> >> >> ntfs-3g.org> wrote:
> >> >> >> >
> >> >> >> > Hi,
> >> >> >> >
> >> >> >> > On Tue, 5 Aug 2008, Andras Barna wrote:
> >> >> >> >
> >> >> >> >> i'm on opensolaris 94
> >> >> >> >> i just want to confirm that it works with gcc, but with 
> >> >> >> >> sunstudioexpress.
> >> >> >> >> i attach a log
> >> >> >> >
> >> >> >> > Thank you very much.
> >> >> >> >
> >> >> >> > It seems the only major problem is the lack of anonymous 
> >> >> >> > struct/union
> >> >> >> > support in the Sun Studio compiler.
> >> >> >> >
> >> >> >> > Is it possible somehow to detect the Sun Studio compler in 
> >> >> >> > configure.ac?
> >> >> >> > Then users could be advised to install gcc.
> >> >> >> >
> >> >> >> > Another improvement could be this patch
> >> >> >> >
> >> >> >> > ------------------------------------------------>
> >> >> >> > diff -u -r1.78 configure.ac
> >> >> >> > --- configure.ac        17 Jul 2008 15:04:23 -0000      1.78
> >> >> >> > +++ configure.ac        7 Aug 2008 20:53:57 -0000
> >> >> >> > @@ -117,7 +117,7 @@
> >> >> >> >  AC_GNU_SOURCE
> >> >> >> >
> >> >> >> >  # Programs
> >> >> >> > -AC_PROG_CC
> >> >> >> > +AC_PROG_CC(gcc cc)
> >> >> >> >  AC_PROG_LN_S
> >> >> >> >  AM_PROG_CC_C_O
> >> >> >> >
> >> >> >> > <------------------------------------------------
> >> >> >> >
> >> >> >> > which in theory would always prefer and use the gcc compiler over 
> >> >> >> > Sun
> >> >> >> > Studio if both are installed. This way there would be no need to 
> >> >> >> > manually
> >> >> >> > set CC before compilation.
> >> >> >> >
> >> >> >> > Could somebody test the patch please?
> >> >> >> >
> >> >> >> >        unset CC
> >> >> >> >        ./autogen.sh
> >> >> >> >        ./configure
> >> >> >> >        make
> >> >> >> >
> >> >> >> > The anonymous struct/union issue is keep being solved by 
> >> >> >> > developers using
> >> >> >> > old gcc and other compilers (it can be done in a few hours) but a 
> >> >> >> > solution
> >> >> >> > can be applied to upstream ntfs-3g only if it's completely 
> >> >> >> > non-intrusive to
> >> >> >> > all existing users.
> >> >> >> >
> >> >> >> > Two good solutions are
> >> >> >> >
> >> >> >> >  1. Detect compiler anonymous struct/union ability, set a macro 
> >> >> >> > accordingly,
> >> >> >> >    use it to conditionally (and smartly) define structs/unions and 
> >> >> >> > convert
> >> >> >> >    all relevant, direct struc/union member accesses to use get and 
> >> >> >> > set
> >> >> >> >    helper functions/macros.
> >> >> >> >
> >> >> >> >  2. Eliminate anonymous struct/union usage and demonstrate that the
> >> >> >> >    generated machine codes are equivalent on the byte level. I 
> >> >> >> > very much
> >> >> >> >    doubt this would be true.
> >> >> >> >
> >> >> >> > Andras, I've seen your problem on HUP, namely something like this:
> >> >> >> >
> >> >> >> >  mkdir -p foo/bar/baz
> >> >> >> >  rm -rf foo
> >> >> >> >  rm: cannot remove directory `foo': Directory not empty
> >> >> >> >
> >> >> >> > Apparently Solaris's rm(8) checks only for EEXIST. ENOTEMPTY is 
> >> >> >> > also valid
> >> >> >> > in the above case according to POSIX. In the past ntfs-3g's 
> >> >> >> > rmdir(2)
> >> >> >> > returned EEXIST but it was changed to ENOTEMPTY because most 
> >> >> >> > (Linux)
> >> >> >> > programs expect ENOTEMPTY.
> >> >> >> >
> >> >> >> > If somebody could confirm the above then we would change the 
> >> >> >> > driver to use
> >> >> >> > EEXIST instead of ENOTEMPTY on Solaris.
> >> >> >> >
> >> >> >> > Thanks,
> >> >> >> >           Szaka
> >> >> >> >
> >> >> >> > --
> >> >> >> > NTFS-3G: http://ntfs-3g.org
> >> >> >> >
> >> >> >> >
> >> >> >> >> On Tue, Aug 5, 2008 at 8:29 PM, Szabolcs Szakacsits <szaka at 
> >> >> >> >> ntfs-3g.org> wrote:
> >> >> >> >> >
> >> >> >> >> > On Tue, 5 Aug 2008, Mark Phalan wrote:
> >> >> >> >> >> On Tue, 2008-08-05 at 15:02 +0200, Mark Phalan wrote:
> >> >> >> >> >> > On Mon, 2008-07-21 at 12:33 +0300, Szabolcs Szakacsits wrote:
> >> >> >> >> >> > > On Thu, 17 Jul 2008, Szabolcs Szakacsits wrote:
> >> >> >> >> >> > > >
> >> >> >> >> >> > > > Could somebody please quickly try whether the below 
> >> >> >> >> >> > > > package, integrating
> >> >> >> >> >> > > > all the ideas we discussed here, compiles now on Solaris 
> >> >> >> >> >> > > > without any
> >> >> >> >> >> > > > patching and if not then what's the problem?
> >> >> >> >> >> > > >
> >> >> >> >> >> > > >         http://ntfs-3g.org/ntfs-3g-1.2717.tgz
> >> >> >> >> >> > > >
> >> >> >> >> >> > > > The usual './configure && make && make install' should 
> >> >> >> >> >> > > > work but
> >> >> >> >> >> > > > 'CFLAGS=-D__SOLARIS__  ./configure && ...' may be needed 
> >> >> >> >> >> > > > for FUSE.
> >> >> >> >> >> > >
> >> >> >> >> >> > > Any success or failure?
> >> >> >> >> >> >
> >> >> >> >> >> > I just compiled ntfs-3g-1.2717 on the latest version of 
> >> >> >> >> >> > Nevada/Solaris.
> >> >> >> >> >> > It compiled without any problems!
> >> >> >> >> >> >
> >> >> >> >> >> > I haven't tested it yet though.
> >> >> >> >> >>
> >> >> >> >> >> Just tested it now with a Windows XP install. Reading and 
> >> >> >> >> >> writing seem
> >> >> >> >> >> to work!
> >> >> >> >> >
> >> >> >> >> > Thanks for testing.
> >> >> >> >> >
> >> >> >> >> >> Thanks for making the necessary changes to ntfs-3g :)
> >> >> >> >> >>
> >> >> >> >> >> One thing to note is that ntfs-3g doesn't compile well with 
> >> >> >> >> >> the Sun
> >> >> >> >> >> Studio compiler gcc must be used. In the future I'd like to be 
> >> >> >> >> >> able to
> >> >> >> >> >> compile it with Sun Studio too. I'll take a look and see what 
> >> >> >> >> >> needs to
> >> >> >> >> >> be changed.
> >> >> >> >> >
> >> >> >> >> > I think the below patch is needed. Maybe something else too?
> >> >> >> >> >
> >> >> >> >> > ---------------------------------------------------------------------->
> >> >> >> >> > --- configure.ac        17 Jul 2008 15:04:23 -0000      1.78
> >> >> >> >> > +++ configure.ac        5 Aug 2008 17:22:12 -0000
> >> >> >> >> > @@ -277,8 +277,10 @@
> >> >> >> >> >  ])
> >> >> >> >> >  AC_SYS_LARGEFILE
> >> >> >> >> >
> >> >> >> >> > -# We add -Wall to enable some compiler warnings.
> >> >> >> >> > -CFLAGS="${CFLAGS} -Wall"
> >> >> >> >> > +if test "$GCC" = "yes" ; then
> >> >> >> >> > +       # We add -Wall to enable some compiler warnings.
> >> >> >> >> > +       CFLAGS="${CFLAGS} -Wall"
> >> >> >> >> > +fi
> >> >> >> >> >
> >> >> >> >> >  if test "${enable_pedantic}" = "yes"; then
> >> >> >> >> >        enable_warnings="yes"
> >> >> >> >> > <---------------------------------------------------------------------
> >> >> >> >> >
> >> >> >> >> > Thanks again,
> >> >> >> >> >                Szaka
> >> >> >> >> >
> >> >> >> >> > --
> >> >> >> >> > NTFS-3G:  http://ntfs-3g.org
> >> >> >> >> >
> >> >> >> >> > _______________________________________________
> >> >> >> >> > fuse-discuss mailing list
> >> >> >> >> > fuse-discuss at opensolaris.org
> >> >> >> >> > http://mail.opensolaris.org/mailman/listinfo/fuse-discuss
> >> >> >> >>
> >> >> >> >> --
> >> >> >> >> Andy
> >> >> >> >> http://blog.sartek.net
> >> >> >>
> >> >> >> --
> >> >> >> Andy
> >> >> >> http://blog.sartek.net
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Andy
> >> >> http://blog.sartek.net
> >> >>
> >> >
> >> > --
> >> > NTFS-3G:  http://ntfs-3g.org
> >> >
> >> >
> >>
> >>
> >>
> >> --
> >> Andy
> >> http://blog.sartek.net
> >>
> >
> > --
> > NTFS-3G:  http://ntfs-3g.org
> >
> >
> 
> 
> 
> -- 
> Andy
> http://blog.sartek.net
> 

--
NTFS-3G:  http://ntfs-3g.org


Reply via email to