Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Alan W. Irwin

Hi Clint:

There are questions for you below concerning where system header
information in the Wine environment is located.

On 2011-09-15 14:34-0700 Alan W. Irwin wrote:


Of course, Wine _might_ be at fault here for not #defining
_SSIZE_T_DEFINED when ssize_t is typedefed.  But is that a standard
that you expect to be followed on all platforms or a Microsoft Windows
idiosyncrasy that more robust CMake code would not have to worry
about?


I looked further, and the _Linux_ build of wine does have the following
in the install tree

$prefix/include/wine/msvcrt/sys/types.h:#define _SSIZE_T_DEFINED

where $prefix is my prefix for my Linux wine install.  The context for that 
#define is as follows:


#ifndef _SSIZE_T_DEFINED
#ifdef _WIN64
typedef __int64 ssize_t;
#else
typedef int ssize_t;
#endif
#define _SSIZE_T_DEFINED
#endif

So _SSIZE_T_DEFINED should be unequivocally #defined by the above if
(i) the information in msvcrt/sys/types.h is available in the wine
environment and (ii) in a location that CMake expects in that
free Windows environment, and (iii) it is in the #include chain
for the build of, e.g., archive_read.c.obj.

Following the general Wine directions, I put $prefix/bin on my Linux
PATH, then run winecfg, and everything seems to work fine from within
the wine environment (e.g, the build of ephcom-2.0.2, and the build of
CMake-2.8.5) except for the #define of _SSIZE_T_DEFINED.

Clint, this next question is mostly directed to you since you have
some Wine platform experience. What can I do further to diagnose what
is wrong with my Wine environment such that _SSIZE_T_DEFINED is not
#defined?

I have searched throughout my .wine prefix directory (created by
winecfg), and there are lots of dll's in that directory tree 
(including .wine/drive_c/windows/system32/msvcrt.dll), but there

doesn't seem to be any header files in that directory tree at all. So
how does winecfg set up access to the headers in $prefix/include?

The cmake output is ambiguous about where it finds types.h.  All it
says in that regard is

-- Looking for sys/types.h
-- Looking for sys/types.h - found

and for all I know that could be referring to some other header file than
$prefix/include/wine/msvcrt/sys/types.h.  In any case at the key
moment at make time when the cmake build needs access to the above
#define _SSIZE_T_DEFINED in that file, that file is not in the
#include chain so _SSIZE_T_DEFINED is not #defined.

Although my present build of 2.8.5 with the -D_SSIZE_T_DEFINED
workaround wiped out my previous experiments 
with the failing build of 2.8.3, I did save the actual

gcc command that was failing at the time.  It was the following:

/Z/home/wine/newstart/MinGW/bin/gcc.exe  -DCURL_STATICLIB
-DLIBARCHIVE_STATIC -DHAVE_CONFIG_H 
-I/Z/home/wine/newstart/cmake/build_dir/Utilities/cmlibarchive 
-I/Z/home/wine/newstart/cmake/build_dir/Utilities

-I/z/home/software/cmake/cmake-2.8.3/Utilities
-I/z/home/software/cmake/cmake-2.8.3/Utilities/cmbzip2
-I/z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive
-o CMakeFiles/cmlibarchive.dir/archive_read.c.obj   -c
/z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive/archive_read.c

Notice there are no -I options to help find system headers such as
$prefix/include/wine/msvcrt/sys/types.h.  In any case that header does
not appear to be in the #include chain for the CMake build, but I will
attempt to confirm that further tomorrow with a repeat of my gcc -E
-dD run (this time for 2.8.5) without the -D_SSIZE_T_DEFINED workaround.

Please let me know any other experiments I should be trying to pin
down exactly why $prefix/include/wine/msvcrt/sys/types.h is not in the
#include chain for the archive_read.c.obj build.

Sorry it is taking so long to unpeel each layer of this onion, but
debugging wine headers is completely new to me so I am having trouble
knowing where to look for information.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Clinton Stimpson

First off, I want to be sure we understand that you are using wine only to run 
windows binaries?  Correct?  Wine can also be used to compile windows code 
into linux binaries (for which one would use winegcc in place of the linux 
gcc), but that doesn't appear to be the case here.

If that's the situation, then I don't see how this has anything to do with 
wine's header files.  And you should not expect to see 
$prefix/include/wine/msvcrt/sys/types.h in the include chain for 
archive_read.c.obj.

I'd look at the mingw compiler and the header files used with that.

Clint

On Friday, September 16, 2011 01:10:16 am Alan W. Irwin wrote:
 Hi Clint:
 
 There are questions for you below concerning where system header
 information in the Wine environment is located.
 
 On 2011-09-15 14:34-0700 Alan W. Irwin wrote:
  Of course, Wine _might_ be at fault here for not #defining
  _SSIZE_T_DEFINED when ssize_t is typedefed.  But is that a standard
  that you expect to be followed on all platforms or a Microsoft Windows
  idiosyncrasy that more robust CMake code would not have to worry
  about?
 
 I looked further, and the _Linux_ build of wine does have the following
 in the install tree
 
 $prefix/include/wine/msvcrt/sys/types.h:#define _SSIZE_T_DEFINED
 
 where $prefix is my prefix for my Linux wine install.  The context for that
 #define is as follows:
 
 #ifndef _SSIZE_T_DEFINED
 #ifdef _WIN64
 typedef __int64 ssize_t;
 #else
 typedef int ssize_t;
 #endif
 #define _SSIZE_T_DEFINED
 #endif
 
 So _SSIZE_T_DEFINED should be unequivocally #defined by the above if
 (i) the information in msvcrt/sys/types.h is available in the wine
 environment and (ii) in a location that CMake expects in that
 free Windows environment, and (iii) it is in the #include chain
 for the build of, e.g., archive_read.c.obj.
 
 Following the general Wine directions, I put $prefix/bin on my Linux
 PATH, then run winecfg, and everything seems to work fine from within
 the wine environment (e.g, the build of ephcom-2.0.2, and the build of
 CMake-2.8.5) except for the #define of _SSIZE_T_DEFINED.
 
 Clint, this next question is mostly directed to you since you have
 some Wine platform experience. What can I do further to diagnose what
 is wrong with my Wine environment such that _SSIZE_T_DEFINED is not
 #defined?
 
 I have searched throughout my .wine prefix directory (created by
 winecfg), and there are lots of dll's in that directory tree
 (including .wine/drive_c/windows/system32/msvcrt.dll), but there
 doesn't seem to be any header files in that directory tree at all. So
 how does winecfg set up access to the headers in $prefix/include?
 
 The cmake output is ambiguous about where it finds types.h.  All it
 says in that regard is
 
 -- Looking for sys/types.h
 -- Looking for sys/types.h - found
 
 and for all I know that could be referring to some other header file than
 $prefix/include/wine/msvcrt/sys/types.h.  In any case at the key
 moment at make time when the cmake build needs access to the above
 #define _SSIZE_T_DEFINED in that file, that file is not in the
 #include chain so _SSIZE_T_DEFINED is not #defined.
 
 Although my present build of 2.8.5 with the -D_SSIZE_T_DEFINED
 workaround wiped out my previous experiments
 with the failing build of 2.8.3, I did save the actual
 gcc command that was failing at the time.  It was the following:
 
 /Z/home/wine/newstart/MinGW/bin/gcc.exe  -DCURL_STATICLIB
 -DLIBARCHIVE_STATIC -DHAVE_CONFIG_H
 -I/Z/home/wine/newstart/cmake/build_dir/Utilities/cmlibarchive
 -I/Z/home/wine/newstart/cmake/build_dir/Utilities
 -I/z/home/software/cmake/cmake-2.8.3/Utilities
 -I/z/home/software/cmake/cmake-2.8.3/Utilities/cmbzip2
 -I/z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive
 -o CMakeFiles/cmlibarchive.dir/archive_read.c.obj   -c
 /z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive/archiv
 e_read.c
 
 Notice there are no -I options to help find system headers such as
 $prefix/include/wine/msvcrt/sys/types.h.  In any case that header does
 not appear to be in the #include chain for the CMake build, but I will
 attempt to confirm that further tomorrow with a repeat of my gcc -E
 -dD run (this time for 2.8.5) without the -D_SSIZE_T_DEFINED workaround.
 
 Please let me know any other experiments I should be trying to pin
 down exactly why $prefix/include/wine/msvcrt/sys/types.h is not in the
 #include chain for the archive_read.c.obj build.
 
 Sorry it is taking so long to unpeel each layer of this onion, but
 debugging wine headers is completely new to me so I am having trouble
 knowing where to look for information.
 
 Alan
 __
 Alan W. Irwin
 
 Astronomical research affiliation with Department of Physics and Astronomy,
 University of Victoria (astrowww.phys.uvic.ca).
 
 Programming affiliations with the FreeEOS equation-of-state
 implementation for stellar interiors (freeeos.sf.net); the Time
 Ephemerides project (timeephem.sf.net); PLplot scientific 

Re: [cmake-developers] Some advice

2011-09-16 Thread James Bigler
On Fri, Sep 16, 2011 at 5:11 AM, Alexander Neundorf neund...@kde.orgwrote:

 On Thursday, September 15, 2011 10:22:52 PM James Bigler wrote:
  On Mon, Sep 12, 2011 at 3:35 PM, James Bigler jamesbig...@gmail.com
 wrote:
   I need some advice on how to fix a problem I'm having with files with
 the
   same name.
  
   I have two CUDA files with the same name in different directories:
  
   CUDA_ADD_EXECUTABLE(test-conflict
  
 path with spaces/conflict.cpp
 path with spaces/conflict.cu
 path with spaces/no-conflict.cpp
 path with spaces/no-conflict.cu
 conflict-main.cpp
 conflict.cpp
 conflict.cu
 )
  
   I notice that the cpp files get the following outputs:
  
   path with spaces/no-conflict.cpp: test-conflict.dir\Debug
   path with spaces/conflict.cpp:
   test-conflict.dir\Debug\/path_with_spaces/conflict.cpp.obj
   conflict.cpp: test-conflict.dir\Debug\/conflict.cpp.obj
  
   This seems to work well and everyone is happy.
  
   The FindCUDA code is a different story, and one I wish to get some more
   input on.  The current implementation takes the basename and merges it
 in
   with the target name like so (one example given):
  
  
  
 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${cuda_target}_generated
   _${basename}${generated_extension}
  
   The problem is two files with the same basename can cause collisions in
   the naming scheme.  I'm wondering if the best solution is to keep a per
   target list of basenames as a directory property and when collisions
   happen, create a new sub-directory to be used by the build script.  My
   question at this point is what and how to compute the non-conflicting
   directories.  Does anyone have any good suggestions for how to
 implement
   this?
  
   Thanks,
   James
 
  How about telling me where I can find how CMake does this for the C code?
  I notice that it only puts sub directories when there's a conflict, so
  there's logic somewhere that determines this and then determines what the
  intermediate directories should be.

 CMake creates a directory for every target, and inside that directory, it
 creates subdirectories for every subdirectory present in the input files.
 To avoid clashes between foo.c and foo.cpp, the .o is simply appended, so
 we
 get foo.c.o and foo.cpp.o.

 Alex


Thanks for the response Alex, but that's not quite it.  From my experiments,
CMake only puts object files in sub directories (below the target
sub-directory) when it detects the clash (see the original email).  I also
have clashes on file names and not just extensions.

I'm trying to figure out how to best handle the partial paths.

If you had this then I can compute the relative path with respect to
CMAKE_CURRENT_SOURCE_DIR.

dir1/file.cpp
dir2/file.cpp

What if I had this:

../dir1/file.cpp
../../dir2/file.cpp

What do I use as the sub directory?  I can't use ../ in the path as this
will totally put things in the wrong directory
(CMAKE_CURRENT_BINARY_DIR/CMakeFiles/target.dir/../dir1 would generally be a
bad idea).

And what if I had an absolute file path?  What do I do then?

James
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Some advice

2011-09-16 Thread Brad King
On 9/16/2011 12:22 PM, James Bigler wrote:
 Thanks for the response Alex, but that's not quite it.  From my
 experiments, CMake only puts object files in sub directories (below the
 target sub-directory) when it detects the clash (see the original
 email).  I also have clashes on file names and not just extensions.

CMake computes object file names deterministically for each source
file compiled in each target.  There is no clash detection.  The
deterministic algorithm guarantees that there will be no conflicts
except in pathological cases.

 If you had this then I can compute the relative path with respect to
 CMAKE_CURRENT_SOURCE_DIR.
 
 dir1/file.cpp
 dir2/file.cpp
 
 What if I had this:
 
 ../dir1/file.cpp
 ../../dir2/file.cpp
 
 What do I use as the sub directory?  I can't use ../ in the path as this
 will totally put things in the wrong directory
 (CMAKE_CURRENT_BINARY_DIR/CMakeFiles/target.dir/../dir1 would generally
 be a bad idea).

CMake uses __/ instead of ../.

 And what if I had an absolute file path?  What do I do then?

CMake takes of leading slashes and places : with _.

After the above transformations CMake then does a bunch more
magic to prevent the paths from getting too long for Windows
path length limits.

The C++ code that computes object names is here:

http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmLocalGenerator.cxx;hb=v2.8.5#l2580

-Brad

___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread David Cole
The information in this CMake bug tracker issue suggests that this is
*completely* a MinGW / MSYS regression, and not really a cmake
issue...

  http://public.kitware.com/Bug/view.php?id=12418

According to the latest note there, just added:

  With mingw 4.5.2 it works, but mingw 4.6.1 fails with this error.

Nothing to do with CMake or Wine at all. I would call this one a very
recently introduced mingw problem.

Now perhaps they corrected something that was a mistake, and now it
has exposed this inconsistency in the libarchive .h vs .c declarations
of things.

At a minimum, I would recommend taking this discussion to the
libarchive mailing list over at http://code.google.com/p/libarchive/
and asking why the header file and source file use inconsistent
declarations. Perhaps there's a legitimate reason, or perhaps they've
changed it since CMake last synced with upstream libarchive, or
perhaps they'll say hey, you're right, let's make this consistent...


Thanks,
David


On Fri, Sep 16, 2011 at 10:16 AM, Clinton Stimpson clin...@elemtech.com wrote:

 First off, I want to be sure we understand that you are using wine only to run
 windows binaries?  Correct?  Wine can also be used to compile windows code
 into linux binaries (for which one would use winegcc in place of the linux
 gcc), but that doesn't appear to be the case here.

 If that's the situation, then I don't see how this has anything to do with
 wine's header files.  And you should not expect to see
 $prefix/include/wine/msvcrt/sys/types.h in the include chain for
 archive_read.c.obj.

 I'd look at the mingw compiler and the header files used with that.

 Clint

 On Friday, September 16, 2011 01:10:16 am Alan W. Irwin wrote:
 Hi Clint:

 There are questions for you below concerning where system header
 information in the Wine environment is located.

 On 2011-09-15 14:34-0700 Alan W. Irwin wrote:
  Of course, Wine _might_ be at fault here for not #defining
  _SSIZE_T_DEFINED when ssize_t is typedefed.  But is that a standard
  that you expect to be followed on all platforms or a Microsoft Windows
  idiosyncrasy that more robust CMake code would not have to worry
  about?

 I looked further, and the _Linux_ build of wine does have the following
 in the install tree

 $prefix/include/wine/msvcrt/sys/types.h:#define _SSIZE_T_DEFINED

 where $prefix is my prefix for my Linux wine install.  The context for that
 #define is as follows:

 #ifndef _SSIZE_T_DEFINED
 #ifdef _WIN64
 typedef __int64 ssize_t;
 #else
 typedef int ssize_t;
 #endif
 #define _SSIZE_T_DEFINED
 #endif

 So _SSIZE_T_DEFINED should be unequivocally #defined by the above if
 (i) the information in msvcrt/sys/types.h is available in the wine
 environment and (ii) in a location that CMake expects in that
 free Windows environment, and (iii) it is in the #include chain
 for the build of, e.g., archive_read.c.obj.

 Following the general Wine directions, I put $prefix/bin on my Linux
 PATH, then run winecfg, and everything seems to work fine from within
 the wine environment (e.g, the build of ephcom-2.0.2, and the build of
 CMake-2.8.5) except for the #define of _SSIZE_T_DEFINED.

 Clint, this next question is mostly directed to you since you have
 some Wine platform experience. What can I do further to diagnose what
 is wrong with my Wine environment such that _SSIZE_T_DEFINED is not
 #defined?

 I have searched throughout my .wine prefix directory (created by
 winecfg), and there are lots of dll's in that directory tree
 (including .wine/drive_c/windows/system32/msvcrt.dll), but there
 doesn't seem to be any header files in that directory tree at all. So
 how does winecfg set up access to the headers in $prefix/include?

 The cmake output is ambiguous about where it finds types.h.  All it
 says in that regard is

 -- Looking for sys/types.h
 -- Looking for sys/types.h - found

 and for all I know that could be referring to some other header file than
 $prefix/include/wine/msvcrt/sys/types.h.  In any case at the key
 moment at make time when the cmake build needs access to the above
 #define _SSIZE_T_DEFINED in that file, that file is not in the
 #include chain so _SSIZE_T_DEFINED is not #defined.

 Although my present build of 2.8.5 with the -D_SSIZE_T_DEFINED
 workaround wiped out my previous experiments
 with the failing build of 2.8.3, I did save the actual
 gcc command that was failing at the time.  It was the following:

 /Z/home/wine/newstart/MinGW/bin/gcc.exe  -DCURL_STATICLIB
 -DLIBARCHIVE_STATIC -DHAVE_CONFIG_H
 -I/Z/home/wine/newstart/cmake/build_dir/Utilities/cmlibarchive
 -I/Z/home/wine/newstart/cmake/build_dir/Utilities
 -I/z/home/software/cmake/cmake-2.8.3/Utilities
 -I/z/home/software/cmake/cmake-2.8.3/Utilities/cmbzip2
 -I/z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive
 -o CMakeFiles/cmlibarchive.dir/archive_read.c.obj   -c
 /z/home/software/cmake/cmake-2.8.3/Utilities/cmlibarchive/libarchive/archiv
 e_read.c

 Notice there are no -I options to help 

Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Brad King
On 9/16/2011 2:48 PM, David Cole wrote:
 At a minimum, I would recommend taking this discussion to the
 libarchive mailing list over at http://code.google.com/p/libarchive/
 and asking why the header file and source file use inconsistent
 declarations. Perhaps there's a legitimate reason, or perhaps they've
 changed it since CMake last synced with upstream libarchive, or
 perhaps they'll say hey, you're right, let's make this consistent...

Start by trying to build the latest upstream libarchive.  CMake's
copy is very old.  We don't want to trouble them for something they
already fixed.

I know that libarchive intentionally uses separate type names
for the public interface declarations and the implementation
definitions.  The reason is they want the public headers to
not depend on any try-compile results.

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Alan W. Irwin

On 2011-09-16 14:48-0400 David Cole wrote:


The information in this CMake bug tracker issue suggests that this is
*completely* a MinGW / MSYS regression, and not really a cmake
issue...

 http://public.kitware.com/Bug/view.php?id=12418

According to the latest note there, just added:

 With mingw 4.5.2 it works, but mingw 4.6.1 fails with this error.

Nothing to do with CMake or Wine at all. I would call this one a very
recently introduced mingw problem.


Hmm. Brad and Bill just got through assuring me repeatedly there is no
problem with the most recent MinGW/MSYS build of CMake on Microsoft
Windows.  Of course, they could be up against the case where some
Microsoft platforms work and others do not.  Anyhow, it appears this
guy got the same broken build on some Microsoft platform that I am
getting on Wine. It appears the next obvious step is to attempt
replicating that guy's broken-build results with the most recent
MinGW/MSYS on whatever Microsoft platform he was using.

Note, I would be quite relieved (since I am way beyond my depth here)
if one of you could find a way verify that broken build on Microsoft
Windows. That means Wine is just a distraction to the discussion, and
I can let some expert Kitware employee deal with this issue who
presumably has a large desire to have builds of CMake with recent
MinGW/MSYS actually work on all Microsoft Windows platforms.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Brad King
On 9/16/2011 4:35 PM, Brad King wrote:
 Try this patch:
 
 diff --git a/Utilities/cmlibarchive/libarchive/archive.h 
 b/Utilities/cmlibarchive/libarchive/archive.h
 index 9b918a8..b2bb829 100644
 --- a/Utilities/cmlibarchive/libarchive/archive.h
 +++ b/Utilities/cmlibarchive/libarchive/archive.h
 @@ -52,7 +52,7 @@
  /* These should match the types used in 'struct stat' */
  #if defined(_WIN32)  !defined(__CYGWIN__)
  #define __LA_INT64_T__int64
 -# if defined(_SSIZE_T_DEFINED)
 +# if defined(_SSIZE_T_DEFINED) || (defined(_SSIZE_T_)  
 !defined(_NO_OLDNAMES))
  #  define __LA_SSIZE_T ssize_t
  # elif defined(_WIN64)

As expected upstream libarchive already fixed this:

http://code.google.com/p/libarchive/source/detail?r=3649

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Brad King
On 9/16/2011 4:40 PM, Brad King wrote:
 As expected upstream libarchive already fixed this:
 
 http://code.google.com/p/libarchive/source/detail?r=3649

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8dfe74c3

-Brad
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-2.8.5 build error on the MinGW/MSYS/wine platform

2011-09-16 Thread Alan W. Irwin

On 2011-09-16 16:46-0400 Brad King wrote:


On 9/16/2011 4:40 PM, Brad King wrote:

As expected upstream libarchive already fixed this:

http://code.google.com/p/libarchive/source/detail?r=3649


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8dfe74c3


Hi Brad, Bill, and Dave:

As anticipated, that version of the patch (for cmake-2.8.5) works
for me on Wine.

@ Brad: Thanks for trying my suggestion that older MinGW/MSYS
installers might not be so good at updating to get you the latest
version of MinGW/MSYS.

@ Bill: Thanks for the encouragement to keep pursuing this issue.

@ Dave: Thanks for noticing the bug report that had the same broken
build issue that I was having on Wine which was the key breakthrough
in my opinion.

This has been a tough one for me because (i) my Wine environment is slow
(each cmake build takes more than an hour because of a nasty 1-second command
startup latency issue for each command run by cmake and make), (ii)
too many possibilities (Wine, CMake, or MinGW) for the source of the
issue, and (iii) many preprocessor directives that made it virtually
impossible to eyeball the code to see what was wrong (although gcc -E
-dD eventually came to the rescue there).

Anyhow, I am very glad that the CMake code finally has a solution for
this issue!

Alan

__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers