libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] libcdio 0.83 release around Oct 27, FreeBSD-8 test


From: Thomas Schmitt
Subject: Re: [Libcdio-devel] libcdio 0.83 release around Oct 27, FreeBSD-8 test
Date: Fri, 21 Oct 2011 08:33:11 +0200

Hi,

> > i still
> > have to do before make (with a git copy of 20 Oct 19:12):
> >  touch ./doc/version.texi
> >  (cd src ; touch cd-drive.1 cd-info.1 cd-read.1 iso-info.1 iso-read.1)
> > after
> >  ./configure MAKE=gmake
> > What instructions am i missing to read ?
> 
> Did you run autogen.sh? If so and things don't work for you there's probably
> something in the way things are set up.

Yes. I did what README.develop prescribes.

  sh ./autogen.sh

Then i hopped to README.libcdio and followed its prescriptions.

  sh ./configure MAKE=gmake
  make

which yields

  ./libcdio.texi:4: @include `version.texi': No such file or directory.
  makeinfo: Removing output file `./libcdio.info' due to errors; use --force to 
preserve.

and aborts compilation.
This happens on FreeBSD and Solaris, but not on GNU/Linux, where
make obviously produces the missing files.
E.g. src/cd-drive.1 contains on GNU/Linux a single line:
  .ab help2man is required to generate this page

GNU/Linux make says:
  $ make
  make  all-recursive
  make[1]: Entering directory `[...]/libcdio-0.83git.B11020'
  Making all in doc
  make[2]: Entering directory `[...]/libcdio-0.83git.B11020/doc'
  Updating ./version.texi
  restore=: && backupdir=".am$$" && \
        am__cwd=`pwd` && cd . && \
        rm -rf $backupdir && mkdir $backupdir && \
        if (/bin/sh [...]/libcdio-0.83git.B11020/missing --run makeinfo 
--version) >/dev/null 2>&1; then \
          for f in libcdio.info libcdio.info-[0-9] libcdio.info-[0-9][0-9] 
libcdio.i[0-9] libcdio.i[0-9][0-9]; do \
            if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
          done; \
        else :; fi && \
        cd "$am__cwd"; \
        if /bin/sh [...]/libcdio-0.83git.B11020/missing --run makeinfo   -I . \
         -o libcdio.info libcdio.texi; \
        then \
          rc=0; \
          cd .; \
        else \
          rc=$?; \
          cd . && \
          $restore $backupdir/* `echo "./libcdio.info" | sed 's|[^/]*$||'`; \
        fi; \
        rm -rf $backupdir; exit $rc
  make[2]: Leaving directory `[...]/libcdio-0.83git.B11020/doc'

and compilation goes on.
(I replaced the absolute paths by "[...]" for privacy and readability.)

FreeBSD gmake (same happens with "make"):

  $ gmake
  gmake  all-recursive
  gmake[1]: Entering directory `[...]/libcdio-0.83git.B11020'
  Making all in doc
  gmake[2]: Entering directory `[...]/libcdio-0.83git.B11020/doc'
  restore=: && backupdir=".am$$" && \
        am__cwd=`pwd` && cd . && \
        rm -rf $backupdir && mkdir $backupdir && \
        if (/bin/sh [...]/libcdio-0.83git.B11020/missing --run makeinfo 
--version) >/dev/null 2>&1; then \
          for f in libcdio.info libcdio.info-[0-9] libcdio.info-[0-9][0-9] 
libcdio.i[0-9] libcdio.i[0-9][0-9]; do \
            if test -f $f; then mv $f $backupdir; restore=mv; else :; fi; \
          done; \
        else :; fi && \
        cd "$am__cwd"; \
        if /bin/sh [...]/libcdio-0.83git.B11020/missing --run makeinfo   -I . \
         -o libcdio.info libcdio.texi; \
        then \
          rc=0; \
          cd .; \
        else \
          rc=$?; \
          cd . && \
          $restore $backupdir/* `echo "./libcdio.info" | sed 's|[^/]*$||'`; \
        fi; \
        rm -rf $backupdir; exit $rc
  libcdio.texi:4: @include `version.texi': No such file or directory.

and compilation aborts.

The message
  Updating ./version.texi
does not appear on FreeBSD.


----------------------------------------------------------------------

> >  udf_file.c: In function 'udf_read_block':
> >  udf_file.c:242: warning: format '%u' expects type 'unsigned int', but
> > argument 3 has type 'size_t'
> >
> > /usr/include/machine/_types.h:
> >  typedef   __uint64_t      __size_t;
> >
> > So this should better be %lu with an explicit cast to (unsigned long).
> >
 
> long isn't necessarily the same as 64bit. 

Therefore i propose the cast to (unsigned long).
"%lu" and long in my eyes is the second best portable solution to print
big integers.

My personal favorite in case of size obscuration of a numeric value is
"%.f" and a cast to (double). Gives you 50+ bits of payload and handles
overflows gracefully.
Its lack of exactness is frowned on by other programmers. But for
the complained code in udf_file.c it would be ok:
   fprintf(stderr, "Warning: read count %u is larger than %u extent size.\n",
           count, i_max_blocks);
   fprintf(stderr, "Warning: read count truncated to %u\n", count);
 

----------------------------------------------------------------------

> >  ++ WARN: can't open nrg image file /test/data/p1.nrg for reading
> >  Can't open Nero image file: /test/data/p1.nrg.
> >  FAIL: nrg

> Looks like the same problem as you reported before. See the previous comment
> and suggestion. Because this is now on two different OS's, it is probably
> not an OS-specific thing. Rather a configuration kind of thing.

Do you have proposals for debugging ?


Have a nice day :)

Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]