[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: |
Mon, 11 Jul 2016 08:13:35 -0400 |
Sorry for the delay. In commit 35edc59 GIT2CL is now set only with
--maintainer mode and strndup is put in a place that other driver code
will see it when missing from libc.
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
>
>
>