Elio Blanca reports trouble compiling libcdio in msys-1.0.10+mingw-3.4.2. Specifically compiling the portion handling Rock-Ridge extensions (lib/iso9660/rock.c) fails because his environment does not provide S_IFIFO() and S_ISLNK() macros.
He has a mistaken impression that because the particular OS he uses might not be able to handle these natively, they can't ever get used. The Rock-Ridge specification allows for symbolic links and sockets in an ISO-9660 filesystem. So when one has an ISO-9660 image (it usually has an extension .ISO) that uses the Rock-Ridge extensions and that also contains a symbolic link or a socket in the image, then in fact those macros are used, for example, by the application called iso-info included in libcdio. And of course there's nothing to stop other applications using libcdio from doing likewise. libcdio could add a configuration option to disable handling RockRidge extensions altogether. Alternatively or additionally, libcdio could test for these macros and add definitions if they aren't there. The macro definitions are pretty simple, although on inspection it looks like existing macros use other macros. And although those macros are not all that standard, libcdio doesn't have to use those in its replacement definition. Anyone care to comment on what to do, possible problems with either approach, or anything else on this matter? Thanks. _______________________________________________ Libcdio-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/libcdio-devel
