libcdio-devel
[Top][All Lists]
Advanced

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

Re: [Libcdio-devel] Read Sub-channel changes


From: Rocky Bernstein
Subject: Re: [Libcdio-devel] Read Sub-channel changes
Date: Fri, 8 Jul 2016 13:01:47 -0400

Good to hear things work on FreeBSD and Solaris 5.11 386.

The Makefile uses GNU Make extensions so either FreeBSD's "make" copies
that or you were using GNU Make on FreeBSD. GNU Make is also available on
Solaris although it's not the default make. There may be a way to tell
automake to include those variable definitions only if GNU make is used.
But I wouldn't worry about this for now.

Likewise, if libcdio is compiled using gcc and GNU glibc, then probably
strndup will be there and you won't have those warnings. Again nothing to
really put much effort in.

On Fri, Jul 8, 2016 at 12:36 PM, Thomas Schmitt <address@hidden> wrote:

> Hi,
>
> i ran make "dist" on my git clone and tested it on FreeBSD with success
> and on Solaris with success after i copied function strndup() from
> lib/driver/abs_path.c
>
>
> ============================================================================
>
> On FreeBSD 8.0-STABLE :
>
>   $ tar xzf libcdio-0.94git.tar.gz
>   $ cd libcdio-0.94git
>   $ ./configure --without-versioned-libs
>   ...
>     CC       cd-info.o
>   In file included from util.h:59,
>                    from cd-info.c:25:
>   ./getopt.h:182: warning: function declaration isn't a prototype
>     CC       cddb.o
>     CCLD     cd-info
>   ...
>   $ make
>   ...
>   $ ./src/cd-info /dev/cd0
>   cd-info version 0.94git x86_64-unknown-freebsd8.0
>   Copyright (c) 2003-2005, 2007-2008, 2011-2015 R. Bernstein
>   This is free software; see the source for copying conditions.
>   There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>   PARTICULAR PURPOSE.
>   CD location   : /dev/cd0
>   CD driver name: FreeBSD
>      access mode: CAM
>
>   Vendor                      : TSSTcorp
>   Model                       : CDDVDW SH-S223B
>   Revision                    : SB02
>   Hardware                                  : CD-ROM or DVD
>   Can eject                                 : Yes
>   Can close tray                            : Yes
>   Can disable manual eject                  : Yes
>   Can select juke-box disc                  : No
>
>   Can set drive speed                       : No
>   Can read multiple sessions (e.g. PhotoCD) : Yes
>   Can hard reset device                     : Yes
>
>   Reading....
>     Can read Mode 2 Form 1                  : Yes
>     Can read Mode 2 Form 2                  : Yes
>     Can read (S)VCD (i.e. Mode 2 Form 1/2)  : Yes
>     Can read C2 Errors                      : Yes
>     Can read IRSC                           : Yes
>     Can read Media Channel Number (or UPC)  : Yes
>     Can play audio                          : Yes
>     Can read CD-DA                          : Yes
>     Can read CD-R                           : Yes
>     Can read CD-RW                          : Yes
>     Can read DVD-ROM                        : Yes
>
>   Writing....
>     Can write CD-RW                         : Yes
>     Can write DVD-R                         : Yes
>     Can write DVD-RAM                       : Yes
>     Can write DVD-RW                        : No
>     Can write DVD+RW                        : No
>   __________________________________
>
>   Disc mode is listed as: CD-DA
>   CD-ROM Track List (1 - 3)
>     #: MSF       LSN    Type   Green? Copy? Channels Premphasis?
>     1: 00:02:00  000000 audio  false  no    2        no
>     2: 00:45:65  003290 audio  false  no    2        no
>     3: 01:26:51  006351 audio  false  no    2        no
>   170: 01:43:69  007644 leadout (17 MB raw, 17 MB formatted)
>   Media Catalog Number (MCN): 1234567890123
>   TRACK  1 ISRC: XYBLG1101234
>   TRACK  2 ISRC: XYBLG1100005
>   TRACK  3 ISRC: XYBLG1100006
>   Last CD Session LSN: failed
>   audio status: no status
>   volume level port 0: 216 (0..255)  84 (0..100)
>   volume level port 1: 216 (0..255)  84 (0..100)
>   volume level port 2:   0 (0..255)   0 (0..100)
>   volume level port 3:   0 (0..255)   0 (0..100)
>   __________________________________
>   CD Analysis Report
>
>   Language 0 'English':
>   CD-TEXT for Disc:
>           TITLE: Night Cats II
>           PERFORMER: United Cat Orchestra
>           SONGWRITER: Various Songwriters
>           COMPOSER: Various Composers
>           MESSAGE: For all our fans
>           ARRANGER: Tom Cat
>           UPC_EAN: 1234567890123
>           GENRE: Feline classic music
>           DISC_ID: 1234567890
>           GENRE_CODE: 5 (Classical)
>   CD-TEXT for Track  1:
>           TITLE: Song of Joy
>           PERFORMER: Felix and The Purrs
>           SONGWRITER: Friedrich Schiller
>           COMPOSER: Ludwig van Beethoven
>           MESSAGE: Fritz and Louie once were punks
>           ARRANGER: Tom Cat
>           ISRC: XYBLG1101234
>   CD-TEXT for Track  2:
>           TITLE: The Hunt
>           PERFORMER: Catwalk Beauties
>           SONGWRITER: Mother Nature
>           COMPOSER: unknown
>           ARRANGER: Tom Cat
>           ISRC: XYBLG1100005
>   CD-TEXT for Track  3:
>           TITLE: Mee Owwww
>           PERFORMER: Mia Kitten
>           SONGWRITER: Mia Kitten
>           COMPOSER: Mia Kitten
>           ARRANGER: Mia Kitten
>           ISRC: XYBLG1100006
>
>   Language 1 'German':
>   CD-TEXT for Disc:
>           TITLE: Nachtkratz II
>           PERFORMER: Vereinigtes Katzenorchester
>           SONGWRITER: Verschiedene Liedschreiber
>           COMPOSER: Verschiedene Komponisten
>           MESSAGE: Für alle unsere Fans
>           ARRANGER: Tom Cat
>           UPC_EAN: 1234567890123
>           GENRE: Klassische Katzenmusik
>           DISC_ID: 1234567890
>           GENRE_CODE: 5 (Classical)
>   CD-TEXT for Track  1:
>           TITLE: Freudenlied
>           PERFORMER: Felix und Die Schnurrer
>           SONGWRITER: Friedrich Schiller
>           COMPOSER: Ludwig van Beethoven
>           MESSAGE: Fritz und Louie waren einmal Punks
>           ARRANGER: Tom Cat
>           ISRC: XYBLG1101234
>   CD-TEXT for Track  2:
>           TITLE: Die Jagd
>           PERFORMER: Laufsteg Miezen
>           SONGWRITER: Mutter Natur
>           COMPOSER: unbekannt
>           ARRANGER: Tom Cat
>           ISRC: XYBLG1100005
>   CD-TEXT for Track  3:
>           TITLE: Mie auu
>           PERFORMER: Mia Kätzchen
>           SONGWRITER: Mia Kätzchen
>           COMPOSER: Mia Kätzchen
>           ARRANGER: Mia Kätzchen
>           ISRC: XYBLG1100006
>
> With a CD which refuses to tell its MCN/ISRC data
>
>   Media Catalog Number (MCN): not available
>   TRACK  1 ISRC: 000000000000
>   TRACK  2 ISRC: 000000000000
>   TRACK  3 ISRC: 000000000000
>
> I am not sure how much libcdio-MMC was involved. But at least it does not
> look like brutal regressions.
>
>
> ============================================================================
>
> On Solaris "SunOS 5.11 snv_134" i run into difficulties
>
>   $ tar xzf libcdio-0.94git.tar.gz
>   $ cd libcdio-0.94git
>   $ ./configure --without-versioned-libs
>   ...
>   $ make
>   make: Fatal error in reader: Makefile, line 979: Badly formed macro
> assignment
>   $
>
> Cause is this line in Makefile:
>
>   GIT2CL ?= git2cl
>
> After i uncommented it, make went on:
>
>   $ make
>   ...
>   mmc/mmc.c: In function 'mmc_get_mcn_isrc_private':
>   mmc/mmc.c:579: warning: implicit declaration of function 'strndup'
>   mmc/mmc.c:579: warning: incompatible implicit declaration of built-in
> function 'strndup'
>   ...
>   Undefined                       first referenced
>    symbol                             in file
>   strndup
>  /home/thomas/projekte/libcdio_dir/libcdio-0.94git/lib/driver/.libs/libcdio.so
>   ld: fatal: symbol referencing errors. No output written to .libs/cd-drive
>   collect2: ld returned 1 exit status
>   ...
>   make: Fatal error: Command failed for target `all'
>   $
>
> No man strndup to see. Google finds lots of substitute functions for
> Solaris.
> But libcdio already seems to have its own strndup:
>
>   lib/driver/abs_path.c:static inline char *strndup(const char *s, size_t
> n)
>
> Copying it to
>   lib/driver/mmc/mmc.c
> silences the error.
> (One should consider to give it a cdio_ name and make it available
>  in lib/driver/util.c )
>
> Still the make run issues some complaints
>
>   $ make
>   ...
>   iso9660_fs.c: In function 'iso9660_ifs_readdir':
>   iso9660_fs.c:1366: warning: format '%lu' expects type 'long unsigned
> int', but argument 2 has type 'size_t'
>   ...
>   rock.c: In function 'get_rock_ridge_filename':
>   ../../include/cdio/bytesex.h:202: warning: inlining failed in call to
> 'from_733': call is unlikely and code size would grow
>   ...
>   CC       getopt.o
>   In file included from getopt.c:102:
>   getopt.h:182: warning: function declaration isn't a prototype
>   getopt.c:150: warning: function declaration isn't a prototype
>   getopt.c: In function '_getopt_internal_r':
>   getopt.c:573: warning: implicit declaration of function 'alloca'
>   getopt.c:573: warning: incompatible implicit declaration of built-in
> function 'alloca'
>   ...
>   CCLD     cd-drive
>   ld: warning: file ../lib/driver/.libs/libcdio.so: linked to
> /home/thomas/projekte/libcdio_dir/libcdio-0.94git/lib/driver/.libs/libcdio.so:
> attempted multiple inclusion of file
>   ...
>   $
>
> Let's try a CD
>
>   $ pfexec ./src/cd-info /dev/rdsk/c2t2d0s2
>   cd-info version 0.94git i386-pc-solaris2.11
>   ...
>   CD location   : /dev/rdsk/c2t2d0s2
>   CD driver name: Solaris
>      access mode: SCSI
>
>   ... same output as with FreeBSD and Linux ...
>
>
> ============================================================================
>
> So except the need for a strndup substitute, my posted changeset seems
> to be ok for Linux, FreeBSD, and Solaris.
>
>
> Have a nice day :)
>
> Thomas
>
>
>


reply via email to

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