Comments (10)
I suspect that this is due to a known linker bug; try to build with:
dunecontrol --configure-opts="--disable-lto" all
from opm-core.
On 06/12/2013 11:45 PM, Roland Kaufmann wrote:
dunecontrol --configure-opts="--disable-lto" all
Lieber Roland,
danke für diese sehr schnelle & wirkungsvolle Hilfe!
Oliver Kastner
from opm-core.
Thanks for the kind words. I gather that it now compiled, so I close the case; reopen if any more issues arise.
from opm-core.
May I just com,e back w/t a related problem:
I am after the grdecl2vtu program which is part of the dune-cornerpoint
package https://github.com/OPM/dune-cornerpoint/archive/master.zip.
Building breakes, however, with a similar message as reported yesterday
night, see attachment
--Any recommendation in the regards?
Cheers, Oliver
On 06/12/2013 11:58 PM, Roland Kaufmann wrote:
Thanks for the kind words. I gather that it now compiled, so I close the case; reopen if any more issues arise.
Reply to this email directly or view it on GitHub:
#257 (comment)--- going to build dune-cornerpoint ---
--- calling all for dune-cornerpoint ---
--- calling autogen for dune-cornerpoint ---
Skipping dune-autogen
--- calling configure for dune-cornerpoint ---
./configure "--with-dune-common=/usr/" "--with-dune-istl=/usr/" "--with-opm-core=/usr/local/" "--with-dune-geometry=/usr/" "--with-dune-grid=/usr/" ACLOCAL_AMFLAGS="-I . -I m4 -I /usr/share/aclocal -I /usr/share/aclocal -I /usr/local/share/aclocal -I /usr/share/aclocal -I /usr/share/aclocal"
--- calling CMake ---
env cmake "." "-DCMAKE_INSTALL_PREFIX=/usr/local" "-DDUNE_COMMON_ROOT=/usr" "-DDUNE_ISTL_ROOT=/usr" "-DOPM_CORE_ROOT=/usr/local" "-DDUNE_GEOMETRY_ROOT=/usr" "-DDUNE_GRID_ROOT=/usr"
-- CMake version: 2.8.8
-- Linux distribution: openSUSE 12.2 (Mantis) (x86_64)
-- Target architecture: x86_64
-- Source code repository: not found!
-- GNU C++ compiler version: 4.7.1 20120723 [gcc-4_7-branch revision 189773]
-- Precompiled headers: disabled
-- Build type: Release
-- All warnings enabled: -Wall
-- Finding package C99 using module mode
-- Finding package CXX11Features using module mode
-- Finding package Boost using module mode
-- Finding package dune-common using module mode
-- Finding package CXX11Features using module mode
-- Finding package BLAS using module mode
-- A library with BLAS API found.
-- Finding package LAPACK using module mode
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Finding package MPI using module mode
-- Finding package dune-grid using module mode
-- Finding package CXX11Features using module mode
-- Finding package dune-common using module mode
-- Finding package dune-geometry using module mode
-- Finding package CXX11Features using module mode
-- Finding package dune-common using module mode
-- Finding package dune-geometry using module mode
-- Finding package opm-core using module mode
-- Finding package C99 using module mode
-- Finding package CXX11Features using module mode
-- Finding package Boost using module mode
-- Finding package BLAS using module mode
-- A library with BLAS API found.
-- Finding package LAPACK using module mode
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- Finding package SuiteSparse using module mode
-- Finding package SuperLU using module mode
-- Finding package TinyXML using module mode
-- Finding package ERT using module mode
-- Could NOT find ERT (missing: ERT_INCLUDE_DIR ERT_LIBRARY)
-- Finding package dune-istl using module mode
-- Finding package dune-common using module mode
-- Finding package SuperLU using module mode
-- Generating debug symbols: -ggdb3
-- Looking for strip utility
-- Looking for strip utility - found
-- Writing config file "/home/kastner/bin/dune/dune-cornerpoint-master/config.h"...
-- This build defaults to installing in /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kastner/bin/dune/dune-cornerpoint-master
--- calling make for dune-cornerpoint ---
make
[ 7%] Patching Makefile to be DUNE compatible
[ 7%] Built target dune-compat
[ 53%] Built target dunecornerpoint
[ 61%] Built target entity_test
[ 69%] Built target entityrep_test
Linking CXX executable bin/grdecl2vtu
--- Failed to build dune-cornerpoint ---
---8<---
....
---8<---
_ZThn48_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED1Ev' referenced in section
.rodata' of /tmp/ccla0xTV.ltrans24.ltrans.o: defined in discarded section.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED5Ev' of CMakeFiles/grdecl2vtu.dir/examples/grdecl2vtu.cpp.o (symbol from plugin)
_ZThn48_N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED0Ev' referenced in section.rodata' of /tmp/ccla0xTV.ltrans24.ltrans.o: defined in discarded section
.gnu.linkonce.t._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED0Ev' of CMakeFiles/grdecl2vtu.dir/examples/grdecl2vtu.cpp.o (symbol from plugin)
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: bin/grdecl2vtu: hidden symbol `.LTHUNK46.34185' isn't defined
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [bin/grdecl2vtu] Error 1
make[1]: *** [CMakeFiles/grdecl2vtu.dir/all] Error 2
make: *** [all] Error 2
Terminating dunecontrol due to previous errors!
from opm-core.
The linker failures appear to be caused by the same error as before (related to link-time optimisations).
You may consider putting
--disable-lto
into the CONFIGURE_FLAGS
of your Dune-option file. I have never really been able to pass configure
-related switches through the dunecontrol
layer from the command line.
from opm-core.
@rolk
Is this sufficiently serious that we should consider switching LTO off by default?
from opm-core.
Dear Ba°rd,
thanks for this hint - works.
Oliver
On 06/13/2013 09:57 AM, Bård Skaflestad wrote:
The linker failures appear to be caused by the same error as before (related to link-time optimisations).
You may consider putting
--disable-lto
into the
CONFIGURE_FLAGS
of your Dune-option file. I have never really been able to passconfigure
-related switches through thedunecontrol
layer from the command line.
Reply to this email directly or view it on GitHub:
#257 (comment)
Dr.-Ing. habil. Oliver Kastner
Section 4.1 Reservoirtechnologies
Phone: +49 (0)331/288-1526
Fax: +49 (0)331/288-1450
Helmholtz Centre Potsdam
GFZ German Research Centre for Geosciences
http://www.gfz-potsdam.de
from opm-core.
Is this sufficiently serious that we should consider switching LTO off by default?
Yes, for 2013.09 we should just do that; it seems that everyone and their dog (apart from me) has a toolchain where this is a problem.
The underlaying problem seems to be that if a library has code which puts boost::error_info into a derivative of boost::exception, and is compiled with a different version of the compiler than the resulting program trying to use it, then it triggers a bug in the linker plugin which (re)calls the compiler to give usage information.
A solution is perhaps to use -flto -fno-use-linker-plugin
or it may be that the patch https://github.com/rolk/opm-core/commit/e2a18931990baf1e431ac946b3f4628940b34f6f.patch fixes the problem (see OPM/opm-porsol#52), but I haven't got a setup to replicate and test, nor a reliable test program which provokes the error.
from opm-core.
On Thu, Jun 13, 2013 at 12:57:13AM -0700, Bård Skaflestad wrote:
I have never really been able to pass
configure
-related switches
through thedunecontrol
layer from the command line.
just like for any other command (except make): You either export the
variable or put its definition in front of the command:
CONFIGURE_FLAGS=--disable-lto ./dune-common/bin/dunecontrol
BTW: On my Debian stable system I need this switch because of the
exception classes in the boost libraries.
from opm-core.
You either export the variable or put its definition in front of the command:
CONFIGURE_FLAGS=--disable-lto ./dune-common/bin/dunecontrol
Fair point. There is something to be said for putting the definition into the options file, though, as the build becomes ever so slightly more repeatable and reproducible.
from opm-core.
Related Issues (20)
- Some tests break after OPM/opm-parser#768 HOT 1
- Initialization and restart HOT 1
- Failing test_relpermdiagnostics HOT 4
- Dereferencing of end iterator happens in initStateEquil.hpp
- test_pinchprocessor is broken? HOT 3
- opm-core build fails HOT 4
- parameter's ouput does not show up in .CASE_NAME.DEBUG HOT 2
- Allow passing the size of the initial time step to adaptive time stepper HOT 1
- Runtime failure in "linsolver" test - umfpack not configured HOT 2
- Add restart test with no wells present.
- WellState::init has memory problems HOT 7
- Don't we need to keep track of (artificially) shut completions in the simulator for output? HOT 3
- Windows Installer (guide) failed HOT 3
- Compilation error due to not finding opm/output/data/Wells.hpp HOT 2
- Broken test HOT 3
- Multiple definitions of OPM_THROW HOT 1
- opm-core broken related to petsc HOT 2
- Some files missing? HOT 2
- Question: How OPM handles well sources in multi-cell wells? HOT 4
- Installing OPM in CentOS 8.1 (RPM) HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opm-core.