Giter VIP home page Giter VIP logo

Comments (10)

rolk avatar rolk commented on July 19, 2024

I suspect that this is due to a known linker bug; try to build with:

dunecontrol --configure-opts="--disable-lto" all

from opm-core.

ollikastner avatar ollikastner commented on July 19, 2024

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.

rolk avatar rolk commented on July 19, 2024

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.

ollikastner avatar ollikastner commented on July 19, 2024

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.

bska avatar bska commented on July 19, 2024

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.

bska avatar bska commented on July 19, 2024

@rolk
Is this sufficiently serious that we should consider switching LTO off by default?

from opm-core.

ollikastner avatar ollikastner commented on July 19, 2024

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 pass configure-related switches through the dunecontrol 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.

rolk avatar rolk commented on July 19, 2024

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.

blattms avatar blattms commented on July 19, 2024

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 the dunecontrol 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.

bska avatar bska commented on July 19, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.