Build report on Debian testing, summer 2018

Discussion about building and installing Elmer
Post Reply
KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Build report on Debian testing, summer 2018

Post by KaiMartin » 13 Jul 2018, 06:08

With a shiny new PC I decided to give a build of elmer a fresh try.
OS is Debian testing/buster last updated in June 2018. I used cmake-gui to choose build options:

Code: Select all

$ git clone https://github.com/ElmerCSC/elmerfem   elmerfem
$ cd elmerfem
$ git checkout origin/devel
$ cmake-gui CMakeCache.txt
      --> check some options
      --> press the configure button
      --> press the generate button
$ cd build    
$ make -j 4
$ sudo make install
These are the packages I had to install to satisfy "configure", "generate" and in some cases "make"
  • tetgen
  • libtet1.5-dev
  • libqt4-opengl-dev
  • libhypre-dev
  • libvtk5-qt4-dev <-- from old-stable
  • libvtk5-dev <-- from old-stable
  • paraview-dev
  • libptscotch-dev
Of course, these packages pulled a bunch of additional packages due to dependencies. There were a few "weird" errors on the way. At one point I had to remove the build directory and restart from zero. Apparently "make clean" was not able to remove all cruft from failed attempts. Anyway, with all the additional packages in place I was able to compile most cmake options. These are the exceptions:
  • WITH_HYPRE → configure claims to not find the files installed by the Debian package
  • WITH_MATC → fatal errors during compile
  • WITH_MKL → fatal errors during compile
  • INSTALL_OLD_TESTS → these are depreciated, so I did not try to compile
  • WITH_FETI4I → not in Debian and not anywhere else on the internet to be found
I will post more details on the error messages of the first three items in this thread.
From discussions found by internet searches I get that FETI4I is quite an elusive library. It does not seem to be available for download anywhere. I was not able to determine the potential benefit, either. So I assume this option can be safely ignored.

Installing vtk5 libraries requires inclusion of "jessie/old-stable" in the set of repositories. However, this will get laborious once buster is declared stable. Then packages from jessie will have to be resurrected from the archive. I sincerely hope, elmer is going to have upgraded the requirement to vtk6 or even better to vtk7 by this time.

TLDR: I was able to compile elmer with all major features. This required to include vtk5 packages from old stable.
---<)kaimartin(>---

KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Re: Build report on Debian testing, summer 2018

Post by KaiMartin » 15 Jul 2018, 17:16

This is the error log I got when I tried the option WITH_MATC :

Code: Select all

$ make -j 4
...
[ 82%] Building CXX object ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/ElmerGUI_autogen/mocs_compilation.cpp.o
In file included from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.hxx:243:0,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf.lxx:20,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf.hxx:346,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/TopLoc_ItemLocation.hxx:15,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/TopLoc_Location.lxx:18,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/TopLoc_Location.hxx:156,
				 from /usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/TopoDS_Shape.hxx:14,
				 from /usr/local/src/elmer_2018/elmerfem/build/ElmerGUI/Application/ElmerGUI_autogen/ENFHDYJSRV/../../../../../ElmerGUI/Application/cad/cadview.h:53,
				 from /usr/local/src/elmer_2018/elmerfem/build/ElmerGUI/Application/ElmerGUI_autogen/ENFHDYJSRV/moc_cadview.cpp:9,
				 from /usr/local/src/elmer_2018/elmerfem/build/ElmerGUI/Application/ElmerGUI_autogen/mocs_compilation.cpp:20:
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:31:22: error: macro "M" requires 3 arguments, but only 2 given
   matrix(1,1) = M(1,1);
					  ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:32:22: error: macro "M" requires 3 arguments, but only 2 given
   matrix(1,2) = M(1,2);
					  ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:33:22: error: macro "M" requires 3 arguments, but only 2 given
   matrix(2,1) = M(2,1);
					  ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:34:22: error: macro "M" requires 3 arguments, but only 2 given
   matrix(2,2) = M(2,2);
					  ^
[ 82%] Linking Fortran shared library HelmholtzBEM.so
[ 82%] Linking Fortran shared library VectorHelmholtz.so
[ 82%] Built target HelmholtzBEM
[ 82%] Linking Fortran shared library StatCurrentSolve.so
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx: In constructor ‘gp_Trsf2d::gp_Trsf2d(const gp_Trsf&)’:
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:31:17: error: cannot convert ‘const gp_Mat’ to ‘Standard_Real {aka double}’ in assignment
   matrix(1,1) = M(1,1);
				 ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:32:17: error: cannot convert ‘const gp_Mat’ to ‘Standard_Real {aka double}’ in assignment
   matrix(1,2) = M(1,2);
				 ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:33:17: error: cannot convert ‘const gp_Mat’ to ‘Standard_Real {aka double}’ in assignment
   matrix(2,1) = M(2,1);
				 ^
/usr/lib/x86_64-linux-gnu/oce-0.17/../../../include/oce/gp_Trsf2d.lxx:34:17: error: cannot convert ‘const gp_Mat’ to ‘Standard_Real {aka double}’ in assignment
   matrix(2,2) = M(2,2);
				 ^
[ 82%] Built target VectorHelmholtz
[ 82%] Linking Fortran shared library FilterTimeSeries.so
[ 82%] Built target StatCurrentSolve
[ 82%] Linking Fortran shared library DivergenceSolver.so
[ 82%] Built target FilterTimeSeries
[ 82%] Linking Fortran shared library DCRComplexSolve.so
[ 82%] Built target DivergenceSolver
[ 82%] Linking Fortran shared library MagneticSolve.so
ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/build.make:984: recipe for target 'ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/ElmerGUI_autogen/mocs_compilation.cpp.o' failed
make[2]: *** [ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/ElmerGUI_autogen/mocs_compilation.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 82%] Linking Fortran shared library DivProjection.so
[ 82%] Built target DCRComplexSolve
[ 82%] Linking Fortran shared library ElementSizeSolver.so
[ 82%] Built target MagneticSolve
[ 82%] Linking Fortran shared library ArtificialCompressibility.so
[ 82%] Built target DivProjection
[ 82%] Linking Fortran shared library Poisson.so
CMakeFiles/Makefile2:21929: recipe for target 'ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/all' failed
make[1]: *** [ElmerGUI/Application/CMakeFiles/ElmerGUI.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 82%] Built target ElementSizeSolver
[ 82%] Built target ArtificialCompressibility
[ 82%] Built target Poisson
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2
---<)kaimartin(>---

KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Re: Build report on Debian testing, summer 2018

Post by KaiMartin » 16 Jul 2018, 03:46

If I try to compile with hypre cmake fails to find the library even though I have the packages libhypre-dev and libhypre-2.14.0 installed. Configure complains:

Code: Select all

CMake Error at cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find Hypre (missing: Hypre_INCLUDE_DIR)
Call Stack (most recent call first):
  cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindHypre.cmake:74 (find_package_handle_standard_args)
  CMakeLists.txt:193 (FIND_PACKAGE)
Configuring incomplete, errors occurred!
Looking at the working cmake recipes I found, adding the keyword "INTERNAL" to the search hints in elmerfem/cmake/Modules/FindHypre.cmake would fix this issue. So the file now looks like:

Code: Select all

# CMake script for finding Hypre
# Juhani Kataja, CSC - IT Center for Science Ltd.
# 2014/08
#
# Hint variables:
# * HYPREROOT (env, cmake)
# * HYPRE_ROOT (env, cmake)
# * HYPRE_INCLUDE_DIR (cmake)
# * HYPRE_LIBRARY_DIR (cmake)

cmake_minimum_required(VERSION 2.8)

# If Hypre libraries are already defined, do nothing
IF(Hypre_LIBRARIES)
  IF(Hypre_INCLUDE_DIR)
    SET(Hypre_FOUND TRUE)
    RETURN()
  ENDIF()
ENDIF()

set(Hypre_FOUND FALSE)

find_path(Hypre_INCLUDE_DIR NAMES HYPRE.h
  HINTS
  "${HYPREROOT}/include"
  "$ENV{HYPREROOT}/include"
  "${HYPRE_ROOT}/include"
  "$ENV{HYPRE_ROOT}/include"
  "${HYPRE_INCLUDE_DIR}"
  "${CMAKE_SOURCE_DIR}/hypre/include"
  INTERNAL
  )

find_library(Hypre_LIBRARY NAMES HYPRE
  HINTS
  "${HYPREROOT}/lib"
  "$ENV{HYPREROOT}/lib"
  "${HYPRE_ROOT}/lib"
  "$ENV{HYPRE_ROOT}/lib"
  "${HYPRE_LIBRARY_DIR}"
  "${CMAKE_SOURCE_DIR}/hypre/lib"
  INTERNAL
  )

list(APPEND Hypre_LIBRARIES ${Hypre_LIBRARY})

unset(Hypre_LIBRARY CACHE)

foreach(_comp ${Hypre_FIND_COMPONENTS})
  find_library(_Hypre_LIB NAMES HYPRE_${_comp}
    HINTS
    "${HYPREROOT}/lib"
    "$ENV{HYPREROOT}/lib"
    "${HYPRE_LIBRARY_DIR}"
    INTERNAL
    )
  
  IF(NOT _Hypre_LIB)
    IF(${Hypre_FIND_REQUIRED})
      IF(${Hypre_FIND_REQUIRED_${_comp}})
        MESSAGE(FATAL_ERROR "HYPRE_${_comp}: ${_Hypre_LIB_${_comp}}")
      ENDIF()
    ENDIF()
  ENDIF()

  IF(_Hypre_LIB)
    list(APPEND Hypre_LIBRARIES ${_Hypre_LIB})
  ENDIF()
  unset(_Hypre_LIB CACHE)
endforeach()

IF(Hypre_INCLUDE_DIR AND Hypre_LIBRARIES)
  SET(Hypre_FOUND TRUE)
ENDIF()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Hypre DEFAULT_MSG Hypre_LIBRARIES Hypre_INCLUDE_DIR)

set(Hypre_LIBRARIES ${Hypre_LIBRARIES} CACHE FILEPATH "Hypre Libraries")

MARK_AS_ADVANCED(Hypre_INCLUDE_DIR Hypre_LIBRARIES)
With this in place the option WITH_HYPRE compiles fine. (Should I prepare a patch file?)
---<)kaimartin(>---

KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Re: Build report on Debian testing, summer 2018

Post by KaiMartin » 19 Jul 2018, 04:30

If I try WITH__MKL configure fails with

Code: Select all

CMake Error at cmake/Modules/FindMKL.cmake:242 (MESSAGE):
Call Stack (most recent call first):
  CMakeLists.txt:138 (FIND_PACKAGE)
The error log contains:

Code: Select all

Determining if the pthread_create exist failed with the following output:
Change Dir: /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_a73d8/fast"
/usr/bin/make -f CMakeFiles/cmTC_a73d8.dir/build.make CMakeFiles/cmTC_a73d8.dir/build
make[1]: Entering directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_a73d8.dir/CheckSymbolExists.c.o
/usr/bin/cc   -fPIE   -o CMakeFiles/cmTC_a73d8.dir/CheckSymbolExists.c.o   -c /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_a73d8
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a73d8.dir/link.txt --verbose=1
/usr/bin/cc      -rdynamic CMakeFiles/cmTC_a73d8.dir/CheckSymbolExists.c.o  -o cmTC_a73d8 
CMakeFiles/cmTC_a73d8.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_a73d8.dir/build.make:86: recipe for target 'cmTC_a73d8' failed
make[1]: *** [cmTC_a73d8] Error 1
make[1]: Leaving directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_a73d8/fast' failed
make: *** [cmTC_a73d8/fast] Error 2

File /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_8d437/fast"
/usr/bin/make -f CMakeFiles/cmTC_8d437.dir/build.make CMakeFiles/cmTC_8d437.dir/build
make[1]: Entering directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8d437.dir/CheckFunctionExists.c.o
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create -fPIE   -o CMakeFiles/cmTC_8d437.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.11/Modules/CheckFunctionExists.c
Linking C executable cmTC_8d437
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8d437.dir/link.txt --verbose=1
/usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create    -rdynamic CMakeFiles/cmTC_8d437.dir/CheckFunctionExists.c.o  -o cmTC_8d437 -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_8d437.dir/build.make:86: recipe for target 'cmTC_8d437' failed
make[1]: *** [cmTC_8d437] Error 1
make[1]: Leaving directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_8d437/fast' failed
make: *** [cmTC_8d437/fast] Error 2


Determining if the Q_WS_WIN exist failed with the following output:
Change Dir: /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_cdcad/fast"
/usr/bin/make -f CMakeFiles/cmTC_cdcad.dir/build.make CMakeFiles/cmTC_cdcad.dir/build
make[1]: Entering directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_cdcad.dir/CheckSymbolExists.cxx.o
/usr/bin/c++   -I/usr/include/qt4  -fPIE   -o CMakeFiles/cmTC_cdcad.dir/CheckSymbolExists.cxx.o -c /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main(int, char**)’:
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_WIN’ was not declared in this scope
   return ((int*)(&Q_WS_WIN))[argc];
                   ^~~~~~~~
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: note: suggested alternative: ‘Q_WS_X11’
   return ((int*)(&Q_WS_WIN))[argc];
                   ^~~~~~~~
                   Q_WS_X11
CMakeFiles/cmTC_cdcad.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_cdcad.dir/CheckSymbolExists.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_cdcad.dir/CheckSymbolExists.cxx.o] Error 1
make[1]: Leaving directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_cdcad/fast' failed
make: *** [cmTC_cdcad/fast] Error 2

File /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:
/* */
#include <QtCore/qglobal.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef Q_WS_WIN
  return ((int*)(&Q_WS_WIN))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the Q_WS_QWS exist failed with the following output:
Change Dir: /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_141c7/fast"
/usr/bin/make -f CMakeFiles/cmTC_141c7.dir/build.make CMakeFiles/cmTC_141c7.dir/build
make[1]: Entering directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_141c7.dir/CheckSymbolExists.cxx.o
/usr/bin/c++   -I/usr/include/qt4  -fPIE   -o CMakeFiles/cmTC_141c7.dir/CheckSymbolExists.cxx.o -c /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main(int, char**)’:
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_QWS’ was not declared in this scope
   return ((int*)(&Q_WS_QWS))[argc];
                   ^~~~~~~~
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: note: suggested alternative: ‘Q_WS_X11’
   return ((int*)(&Q_WS_QWS))[argc];
                   ^~~~~~~~
                   Q_WS_X11
CMakeFiles/cmTC_141c7.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_141c7.dir/CheckSymbolExists.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_141c7.dir/CheckSymbolExists.cxx.o] Error 1
make[1]: Leaving directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_141c7/fast' failed
make: *** [cmTC_141c7/fast] Error 2

File /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:
/* */
#include <QtCore/qglobal.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef Q_WS_QWS
  return ((int*)(&Q_WS_QWS))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the Q_WS_MAC exist failed with the following output:
Change Dir: /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_e26c8/fast"
/usr/bin/make -f CMakeFiles/cmTC_e26c8.dir/build.make CMakeFiles/cmTC_e26c8.dir/build
make[1]: Entering directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_e26c8.dir/CheckSymbolExists.cxx.o
/usr/bin/c++   -I/usr/include/qt4  -fPIE   -o CMakeFiles/cmTC_e26c8.dir/CheckSymbolExists.cxx.o -c /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx: In function ‘int main(int, char**)’:
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: ‘Q_WS_MAC’ was not declared in this scope
   return ((int*)(&Q_WS_MAC))[argc];
                   ^~~~~~~~
/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: note: suggested alternative: ‘Q_WS_X11’
   return ((int*)(&Q_WS_MAC))[argc];
                   ^~~~~~~~
                   Q_WS_X11
CMakeFiles/cmTC_e26c8.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_e26c8.dir/CheckSymbolExists.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_e26c8.dir/CheckSymbolExists.cxx.o] Error 1
make[1]: Leaving directory '/usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_e26c8/fast' failed
make: *** [cmTC_e26c8/fast] Error 2

File /usr/local/src/elmer_2018/elmerfem/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:
/* */
#include <QtCore/qglobal.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef Q_WS_MAC
  return ((int*)(&Q_WS_MAC))[argc];
#else
  (void)argc;
  return 0;
#endif
}
---<)kaimartin(>---

awarru
Posts: 3
Joined: 15 Jul 2018, 23:48
Antispam: Yes

Re: Build report on Debian testing, summer 2018

Post by awarru » 20 Jul 2018, 18:11

Thank you so much for posting this info, it was exactly what I needed to get Elmer running on my Debian system!

Did your install automatically pull in Tetgen support (assuming the packages were already installed) or was it an option for cmake? I didn't see it when I was using cmake-gui but it's possible I just missed it.

KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Re: Build report on Debian testing, summer 2018

Post by KaiMartin » 24 Jul 2018, 05:29

awarru wrote:
20 Jul 2018, 18:11
Thank you so much for posting this info, it was exactly what I needed to get Elmer running on my Debian system!
You are welcome.
Did your install automatically pull in Tetgen support (assuming the packages were already installed) or was it an option for cmake?
I seem to remember that cmake reported errors which clearly pointed to the tetgen package. Anyway, I already knew that I would need these so the error messages were easy to interpret.
---<)kaimartin(>---

xtro
Posts: 1
Joined: 24 Jul 2018, 23:06
Antispam: Yes

Re: Build report on Debian testing, summer 2018

Post by xtro » 24 Jul 2018, 23:10

How were you able to pull libvtk5-qt4-dev and libvtk5-dev? When I try to install them (Debian Stretch) I wind up with unresolvable dependencies.

Code: Select all

sudo apt-get install libvtk5-qt4-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies :
 libvtk5-qt4-dev : Depends: libvtk5.8-qt4 (= 5.8.0-17.5) but it is not going
to be installed
 	Depends: libvtk5-dev (=5.8.0-17.5) but it is not going to
  be installed
 E: Unable to correct problems, you have held broken packages.

KaiMartin
Posts: 34
Joined: 02 Jun 2013, 00:07
Antispam: Yes
Location: Hannover, Germany
Contact:

Re: Build report on Debian testing, summer 2018

Post by KaiMartin » 28 Jul 2018, 02:50

xtro wrote:
24 Jul 2018, 23:10
How were you able to pull libvtk5-qt4-dev and libvtk5-dev? When I try to install them (Debian Stretch) I wind up with unresolvable dependencies.
I used aptitude rather than apt-get. This utility works on the same set of packages but differs in the way it handles conflicts. If it does not succeed straight away, it proposes a resolution that involves the removal of some packages. Before aptitude goes ahead it asks for your approval. If you do not approve, aptitude proposes a different resolution. The proposals can include downgrades if you have old repositories activated in /etc/apt/sources.conf .

That said, when I tried to compile elmer with Debian/stretch aptitude asked me to remove relevant parts of my desktop. This included essentials like firefox, or libreoffice and a bunch of gnome components. So I gave up and put elmer on a shelf for about a year. Luckily, the libvtk dependencies are much more orthogonal in buster/testing. Apparently, in buster it is possible to use libvk_5.8 in parallel with libvtk_6.3. This was not allowed in stretch and resulted in loads of conflicts.

With buster the only conflicting application was chromium. The utility aptitude proposed to downgrade the browser to the version 57.0.2987.98-1~deb8u1 from oldstable which I gladly accepted. (Conveniently, I already had oldstable/jessie activated in sources.conf)

So my recommendation would be to (temporarily) add testing/buster and also use aptitude rather than apt-get.
Hope, that helps.
---<)kaimartin(>---

Post Reply