[Dune] Dune on cygwin

Ganesh Diwan gcdiwan83 at gmail.com
Fri Feb 6 17:57:45 CET 2015


Commenting out the Fortran part did help but cmake appears to have the
problem with config.h file in my build-cmake folder. I think the option of
CMAKE_LEGACY_CYGWIN_WIN32=1 is irrelevant as I used
64 bit Cygwin installation. Description of the error below-

$ ./bin/dunecontrol --use-cmake all
--- going to build dune-common  ---
No build directory provided. Defaulting to the sub directory build-cmake
--- calling all for dune-common ---
--- calling vcsetup for dune-common ---
--- calling autogen for dune-common ---
Skipping dune-autogen because of CMake
--- calling configure for dune-common ---
 cmake -DCMAKE_MODULE_PATH=""  -DCMAKE_DISABLE_FIND_PACKAGE_MPI=TRUE
"/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1"
CMake Warning at /usr/share/cmake-2.8.11.2/Modules/Platform/CYGWIN.cmake:15
(message):
  CMake no longer defines WIN32 on Cygwin!

  (1) If you are just trying to build this project, ignore this warning or
  quiet it by setting CMAKE_LEGACY_CYGWIN_WIN32=0 in your environment or in
  the CMake cache.  If later configuration or build errors occur then this
  project may have been written under the assumption that Cygwin is WIN32.
  In that case, set CMAKE_LEGACY_CYGWIN_WIN32=1 instead.

  (2) If you are developing this project, add the line

    set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is
required

  at the top of your top-level CMakeLists.txt file or set the minimum
  required version of CMake to 2.8.4 or higher.  Then teach your project to
  build on Cygwin without WIN32.
Call Stack (most recent call first):
  /usr/share/cmake-2.8.11.2/Modules/CMakeSystemSpecificInformation.cmake:36
(include)
  CMakeLists.txt:2 (project)


CMake Warning at cmake/modules/DuneDoc.cmake:27 (message):
   Need latex to create documentation!
Call Stack (most recent call first):
  cmake/modules/DuneMacros.cmake:625 (include)
  CMakeLists.txt:17 (dune_project)


-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Performing tests specific to dune-common from file
/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1/cmake/modules/DuneCommonMacros.cmake.
-- Could NOT find GMP (missing:  GMP_HEADER_WORKS GMPXX_LIB_WORKS)
-- Could NOT find Boost
-- Using scripts from
/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1/cmake/scripts for
creating doxygen stuff.
-- Not adding custom target for config.h generation
--
-- The following OPTIONAL packages have been found:

 * PkgConfig
 * Threads

-- The following OPTIONAL packages have not been found:

 * LATEX
 * Doxygen
 * GMP
 * Inkscape
 * Boost

-- Configuring done
-- Generating done
-- Build files have been written to:
/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1/build-cmake
--- calling make for dune-common ---
make
[  0%] Building CXX object
dune/common/CMakeFiles/dunecommon.dir/debugallocator.cc.o
/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1/dune/common/debugallocator.cc:4:20:
fatal error:
/cygdrive/c/LocalApp/local/dune2.3.1/dune-common-2.3.1/build-cmake/config.h:
Permission denied
 #include "config.h"
                    ^
compilation terminated.
dune/common/CMakeFiles/dunecommon.dir/build.make:57: recipe for target
'dune/common/CMakeFiles/dunecommon.dir/debugallocator.cc.o' failed
make[2]: *** [dune/common/CMakeFiles/dunecommon.dir/debugallocator.cc.o]
Error 1
CMakeFiles/Makefile2:6945: recipe for target
'dune/common/CMakeFiles/dunecommon.dir/all' failed
make[1]: *** [dune/common/CMakeFiles/dunecommon.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2
--- Failed to build dune-common ---
Terminating dunecontrol due to previous errors!


On Fri, Feb 6, 2015 at 7:51 AM, Christoph GrĂ¼ninger <
christoph.grueninger at iws.uni-stuttgart.de> wrote:

> Hi Ganesh,
> great match, I don't know much about Cygwin and Fortran. My ideas are:
>
> - Update the file in dune-common cmake/modules/LanguageSupport.cmake to
> the latest version. If you use Git, updating the releases/2.3 is enough
> as I just backported the file update. If you use the tarball, download
> the file from [1] and replace it in your dune-common.
>
> - Try disabling Fortan. Maybe this can be done with a CMake flag, but I
> am not aware of the actual flag. Simply comment the relevant lines (all
> these lines should have a # at the beginning of the line):
>
> # optional Fortran support
>   include(LanguageSupport)
>   workaround_9220(Fortran Fortran_Works)
>   if(Fortran_Works)
>     enable_language(Fortran OPTIONAL)
>   endif(Fortran_Works)
>
> in dune-common's file cmake/modules/DuneMacros.cmake. This will also
> disable some linear solver libraries, but should be good enough to work
> with Dune anyway.
>
> Bye
> Christoph
>
> [1]
> >
> http://cgit.dune-project.org/repositories/dune-common/plain/cmake/modules/LanguageSupport.cmake?h=releases/2.3
>
>
>
> --
> GDB does hate your application, expresses its contempt through the
> design of its command-line interface.   -- Tom Tromey, FOSDEM 2014
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20150206/40ac6457/attachment.htm>


More information about the Dune mailing list