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 <[email protected]> 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 > > >
