Hello all, and apologies for asking about what should "just work..."
I'd like to use libcdio for a personal project which may turn into some generally useful open-source shareware or freeware- I'm working in Windows now using cross platform libraries, with the goal of eventually porting to MacOS & Linux & BSDs. All I need at the moment is a listing of installed CD drives, though I'll probably include some cdparanoia in the longer term. Well I try to build under cygwin and mingw, and the usual ./configure; make doesn't work in either environement. I also have Visual c++ left over from an old job, and will be doing the bulk of my work in that IDE, but I'm not looking to build the library in there yet- just want to see it build on Windows first in any environment as a test. I should also say, if anyone cares to send me a windows libcdio.dll then I'll code against that and worry about building for the other releases when the time comes...or I'll use the compiled binaries from http://www.gnu.org/software/libcdio/download.html and never worry about building it from scratch! here's the output & error I see in cygwin: ... echo 'CDIO_CDDA_0 { ' > libcdio_cdda.la.ver objs=`for obj in common_interface.lo cddap_interface.lo interface.lo scan_device s.lo smallft.lo toc.lo utils.lo; do sed -ne "s/^pic_object='\(.*\)'$/\1/p" $obj; done`; \ nm ${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A- Za-z][_A-Za-z0-9]*\)$/\1/p' | sort -u | { first=true; while read symbol; do if g rep -q "^${symbol}\$" ./libcdio_cdda.sym; then if test $first = true; then echo " global:"; first=false; fi; echo " ${symbol};"; fi; done; } >> libcdio_cdda .la.ver; \ nm ${objs} | sed -n -e 's/^.*[ ][ABCDGIRSTW][ABCDGIRSTW]*[ ][ ]*\([_A- Za-z][_A-Za-z0-9]*\)$/\1/p' | sort -u | { first=true; while read symbol; do if g rep -q "^${symbol}\$" ./libcdio_cdda.sym; then :; else if test $first = true; th en echo " local:"; first=false; fi; echo " ${symbol};"; fi; done; } >> libcd io_cdda.la.ver echo '};' >> libcdio_cdda.la.ver /bin/bash ../../libtool --tag=CC --mode=link gcc -g -O2 -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-st rings -Wnested-externs -Wno-sign-compare -o libcdio_cdda.la -rpath /usr/local/ lib -version-info 0:1:0 -Wl,--version-script=libcdio_cdda.la.ver common_interfac e.lo cddap_interface.lo interface.lo scan_devices.lo smallft.lo toc.lo utils.lo ../../lib/driver/libcdio.la *** Warning: This system can not link to static lib archive ../../lib/driver/lib cdio.la. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared l ibraries ar cru .libs/libcdio_cdda.a common_interface.o cddap_interface.o interface.o sc an_devices.o smallft.o toc.o utils.o ranlib .libs/libcdio_cdda.a creating libcdio_cdda.la /usr/bin/sed: can't read proj/libcdio-0.76/lib/driver/libcdio.la: No such file o r directory libtool: link: `proj/libcdio-0.76/lib/driver/libcdio.la' is not a valid libtool archive make[3]: *** [libcdio_cdda.la] Error 1 make[3]: Leaving directory `/cygdrive/c/Documents and Settings/Administrator/My Documents/cpp proj/libcdio-0.76/lib/cdda_interface' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/cygdrive/c/Documents and Settings/Administrator/My Documents/cpp proj/libcdio-0.76/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/cygdrive/c/Documents and Settings/Administrator/My Documents/cpp proj/libcdio-0.76' make: *** [all] Error 2 I'm not so familiar with the MinGW environment, I only installed it yesterday to help me with this in the hope that it'd be a magic bullet. It fails pretty quickly, here's what it tells me: ... Making all in driver c:\devel\MinGW\bin\mingw32-make.exe[3]: Entering directory `c:/Documents and Settings/Administrator/My Documents/cpp proj/libcdio-0.76/lib/driver' if C:/devel/msys/1.0/bin/sh.exe ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../lib/driver -I../../include/ -g -O2 -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -MT _cdio_generic.lo -MD -MP -MF ".deps/_cdio_generic.Tpo" -c -o _cdio_generic.lo _cdio_generic.c; \ then mv -f ".deps/_cdio_generic.Tpo" ".deps/_cdio_generic.Plo"; else rm -f ".deps/_cdio_generic.Tpo"; exit 1; fi gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../lib/driver -I../../include/ -g -O2 -Wall -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wunused -Wpointer-arith -Wwrite-strings -Wnested-externs -Wno-sign-compare -MT _cdio_generic.lo -MD -MP -MF .deps/_cdio_generic.Tpo -c _cdio_generic.c -DPIC -o .libs/_cdio_generic.o _cdio_generic.c:44:25: cdio/sector.h: No such file or directory _cdio_generic.c:45:23: cdio/util.h: No such file or directory _cdio_generic.c:46:26: cdio/logging.h: No such file or directory In file included from _cdio_generic.c:47: cdio_assert.h:30:24: cdio/types.h: No such file or directory .... and on and on- looks like a problem with the include directories. MinGW comes with its own make, "mingw32-make.exe", could be some indiosyncracy there, though I typed "export MAKE=mingw32-make.exe; ./configure MAKE=mingw32-make.exe" and that ran without halting. I'm a fairly experienced programmer, but haven't dug around the libcdio code, headers, makefiles at all yet. I'd rather be working on my project, don't need the libcdio code quite yet, and am hoping one of you has an easy answer before I get to that point... thanks for your consideration -y _______________________________________________ Libcdio-help mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/libcdio-help
