I don't have solaris around, so I can't check myself, but I suspect that CMake should be defining BSD_COMP when compiling libarchive or even better, libarchive should be fixed to include <sys/ioccom.h> on solaris.
Michael On 3. Jun, 2010, at 15:28 , Attila Nagy wrote: > Aha, thanks for the correction! > > (I forgot to mention that I tried sys/ioctl.h too without the conditional > defines. But I'm not a programmer, so I wasn't sure about that header file.) > > So the main thing is that I can't find neither _IOR nor _IOW in sys/ioctl.h > (I grepped through /usr/include). > > But I have found two ways to overcome this, and compile without a warning: > > 1.) either > #define BSD_COMP > > 2.) or > #include <sys/ioccom.h> > > in > CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c > > because _IOR and _IOW is defined in this file on Solaris. > > I got the idea from a 1995 post > (http://www.mail-archive.com/[email protected]/msg05289.html) - this > still seems to be valid. > > Or am I still missing something? > If this is _not_ the case :), could this be corrected in the sources? > > Thank you very much, > Attila > > --- On Thu, 6/3/10, Michael Wild <[email protected]> wrote: > >> From: Michael Wild <[email protected]> >> Subject: Re: [CMake] cmake 2.8.1 compile problems on Solaris? >> To: "Attila Nagy" <[email protected]> >> Cc: [email protected] >> Date: Thursday, June 3, 2010, 2:08 PM >> >> On 3. Jun, 2010, at 13:32 , Attila Nagy wrote: >> >>> Hi all, >>> >>> is this known, or is this just me doing something >> wrong? >>> I cloned the cmake git repository, then changed to >> v2.8.1. >>> After a succesfull bootsrap, when I try to compile >> Cmake, I get the bellow error (please find it at the end of >> the mail.) >>> I'm doing it on Solaris snv_125 (SXCE), Studio 12.1. >>> The details: >>> >>> # cc -V >>> cc: Sun C 5.10 SunOS_i386 Patch 142363-04 2010/02/24 >>> usage: cc [ options] files. Use 'cc -flags' for >> details >>> # CC -V >>> CC: Sun C++ 5.10 SunOS_i386 128229-06 2010/02/10 >>> Usage: CC [ options ] files. Use 'CC -flags' for >> details >>> # uname -a >>> SunOS orlprint 5.11 snv_125 i86pc i386 i86pc >>> >>> Could please somebody take a look at it, or does >> someone have a suggestion I could try? >>> If I explicitly include sys/types.h, I get the same >> error. >>> >>> Thank you, >>> Attila >>> >>> >>> [ 34%] Building C object >> Utilities/cmlibarchive/libarchive/CMakeFiles/cmlibarchive.dir/archive_write_disk.c.o >>> [ 34%] Building C object >> Source/CursesDialog/form/CMakeFiles/cmForm.dir/fty_num.o >>> [ 34%] Building C object >> Source/CursesDialog/form/CMakeFiles/cmForm.dir/fty_regex.o >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2237: warning: implicit function declaration: _IOR >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2237: syntax error before or at: long >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2239: warning: implicit function declaration: _IOW >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2239: syntax error before or at: long >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2242: undefined label: fail >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2245: syntax error before or at: if >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2245: syntax error before or at: ( >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2245: warning: undefined or missing type for: long >>> >> "/ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c", >> line 2245: cannot recover from previous errors >>> cc: acomp failed for >> /ufsbckp/head-64-slicer/superbuild/Slicer3-lib/CMake/Utilities/cmlibarchive/libarchive/archive_write_disk.c >>> gmake[2]: *** >> [Utilities/cmlibarchive/libarchive/CMakeFiles/cmlibarchive.dir/archive_write_disk.c.o] >> Error 1 >> >> >> All of those errors have nothing to do with CMake, and it's >> not sys/types.h you're missing, it's sys/ioctl.h (it's >> complaining about missing declarations for _IOR and _IOW). >> >> Michael > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
