[CMake] cmake 2.8.1 compile problems on Solaris?

Attila Nagy nagy.attila at yahoo.com
Thu Jun 3 09:28:36 EDT 2010


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/info-afs@transarc.com/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 <themiwi at gmail.com> wrote:

> From: Michael Wild <themiwi at gmail.com>
> Subject: Re: [CMake] cmake 2.8.1 compile problems on Solaris?
> To: "Attila Nagy" <nagy.attila at yahoo.com>
> Cc: cmake at cmake.org
> 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


      


More information about the CMake mailing list