[Top][All Lists]

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

Re: [Libcdio-devel] libcdio 0.83 release around Oct 27

From: Thomas Schmitt
Subject: Re: [Libcdio-devel] libcdio 0.83 release around Oct 27
Date: Wed, 19 Oct 2011 12:05:37 +0200


the diff between your and my versions of the solaris driver looks ok.
(Small cosmetic differences and use of snprintf() instead of sprintf())

There is one severe build obstacle left on OpenSolaris:
System headers define macro FS which is also used as class name in
See below for details.

The problems which i had with drive enumeration are mainly about
the difference between drive addresses for POSIX reading and
the drive addresses for SCSI transactions.
libburn has to sort this out, because libcdio's cdio_get_devices()
has no knowledge about which device class is desired.
Similar on FreeBSD.

So if the FS problem is solved, i assume that the libcdio tarball
of 0.83 will be usable on OpenSolaris.
(There remain problems with the files delivered by git, though.)

> It would be nice if you could do some testing with a real CD.

My old version works fine under libburn and GNU xorriso.
It recognizes, burns, and reads CD-RW and DVD+RW during libisoburn
regression tests.

Now for building the new one ...

First on GNU/Linux:

- There still is the problem of missing documentation files in a
  git checkout:
    libcdio.texi:4: @include `version.texi': No such file or directory.
    make[3]: *** No rule to make target `cd-drive.1', needed by `all-am'. Stop.
    touch ./doc/version.texi
    (cd src ; touch cd-drive.1 cd-info.1 cd-read.1 iso-info.1 iso-read.1)


+ The newly built libcdio is recognized by GNU xorriso's build system
  and links with it.
  (Two harmless new warnings pop up because of xorriso's gcc -Wextra.
   I will fix them in libburn.)

  It burns a backup session on DVD+RW.

- Another file is missing with make dist
    make: *** No rule to make target `ChangeLog', needed by `distdir'.  Stop.
    touch ./ChangeLog
  (Without previous "make" there would also be missing doc/

SunOS solaris 5.11 snv_134 i86pc i386 i86pc Solaris
With the produced tarball:

- Unmodified, it does not build here due to a known problem:

  In file included from iso9660.cpp:24:
  ../../include/cdio++/iso9660.hpp:151: error: expected identifier before 
numeric constant
  ../../include/cdio++/iso9660.hpp:151: error: expected unqualified-id before 
numeric constant
  iso9660.cpp:295: error: expected `}' at end of input
  ../../include/cdio++/iso9660.hpp:147: error: expected unqualified-id at end 
of input
  *** Error code 1
  make: Fatal error: Command failed for target `iso9660.lo'

    I undefined FS at the beginning of iso9660.hpp

      #include <cstring>
      using namespace std;

    + #ifdef FS
    + #undef FS
    + #endif

      /** ISO 9660 class.


- A few new occasions of a known warning have popped up.
  Quote from
  "Several source files do not comply to the demand of Solaris man
   lfcompile to define eventual _FILE_OFFSET_BITS before including any
   system headers. I see this macro in autools generated header config.h."

    In file included from ../include/cdio/types.h:34,
                     from ../include/cdio/cdio.h:35,
                     from udf1.c:29:
    ../include/cdio/cdio_config.h:332:1: warning: "_FILE_OFFSET_BITS" redefined
    In file included from /usr/include/sys/types.h:33,
                     from udf1.c:28:
 warning: this is the location of the previous definition

  Affected are these includers:
  The occasion which i reported in above message are repaired, obviously.

  Proposed workaround (not applied here):
    Move #include "config.h" to a place above ithe other includes.


- This warning does not appear in my old mails to libcdio-devel:

    cd-info.c: In function 'main':
    cd-info.c:1103: warning: implicit declaration of function 'bzero'
    cd-info.c:1103: warning: incompatible implicit declaration of built-in 
function 'bzero'

  Might be dangerous, because man bzero says:
    void bzero(void *s, size_t n);
  and the compiler could believe to deal with
    int bzero();
  which could shift the parameter values on the call stack.


+ After make install, it passes the libisoburn regression tests,
  which include inquiry and burning of CD-RW and DVD+RW.


Have a nice day :)


reply via email to

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