Loading...
Home / Installation issues – RedHat

Home Forums Help Installation issues – RedHat

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
    Posts
  • #6245
    wojciech.slusarski
    Participant

    Dear Sirs,

    I wanted to check how ORE works. First I ran it on Ubuntu on my laptop. It went good, at least until Example_1. Having such success, I wanted to try it on some bigger machine. I launched on AWS Amazon c3.4xlarge machine running:
    Red Hat Enterprise Linux Server release 7.3 (Maipo)
    and fresh compilation of boost 1.66 installed in:
    $ echo $BOOST
    /home/wojtek/coding/boost_1_66_0
    compiled by:

    ./bootstrap.sh --prefix=$BOOST
    ./b2 install threading=multi --prefix=$BOOST -j16

    than I ran compilation of ORE with the following script(source code of ORE is in ore_boost_1_66 folder below of the script):

    
    #!/bin/bash
    export BOOST=/home/wojtek/coding/boost_1_66_0
    export LD_LIBRARY_PATH=$BOOST/lib:$LD_LIBRARY_PATH
    export LC_NUMERIC=C
    cd ore_boost_1_66
    cd QuantLib
    ./autogen.sh 
    ./configure --with-boost-include=$BOOST/include --with-boost-lib=$BOOST/lib CXXFLAGS='-O2'
    make -j16
    ./test-suite/quantlib-benchmark 
    ./test-suite/quantlib-test-suite
    echo '###########' && echo '## Dalszy etap' && echo '#################'
    cd ../QuantExt/
    ./autogen.sh 
    ./configure --with-boost-include=$BOOST/include --with-boost-lib=$BOOST/lib
    make -j16
    ./test/quantext-test-suite 
    echo '###########' && echo '## Dalszy etap' && echo '#################'
    cd ../OREData/
    ./autogen.sh 
    ./configure --with-boost-include=$BOOST/include --with-boost-lib=$BOOST/lib
    make -j16
    ./test/ored-test-suite 
    echo '###########' && echo '## Dalszy etap' && echo '#################'
    cd ../OREAnalytics/
    ./autogen.sh 
    ./configure --with-boost-include=$BOOST/include --with-boost-lib=$BOOST/lib
    make -j16
    ./test/orea-test-suite 
    echo '###########' && echo '## Dalszy etap' && echo '#################'
    cd ../App/
    ./autogen.sh 
    ./configure --with-boost-include=$BOOST/include --with-boost-lib=$BOOST/lib
    make -j16
    echo '###########' && echo '## Dalszy etap' && echo '#################'
    cd ../Examples/Example_1
    python run.py
    

    Test cases for QuantLib and QuantExt run ok, first issues appear at OREData test cases (taken from the output):

    
    make[1]: Opuszczenie katalogu 

    /home/wojtek/coding/github/ore_boost_1_66/OREData’
    Running 54 test cases…
    unknown location(0): fatal error: in “OREDataTestSuite/FXOptionTest/FXOptionTest__testFXOptionPrice”: memory access violation at address: 0x00000000: no mapping at fault address

    *** 1 failure is detected in the test module “Master Test Suite”

    
    Than OREAnalytics:
    

    make[1]: Opuszczenie katalogu `/home/wojtek/coding/github/ore_boost_1_66/OREAnalytics’
    Running 32 test cases…
    unknown location(0): fatal error: in “OREAnalyticsTestSuite/ScenarioGeneratorTest/ScenarioGeneratorTest__testVanillaSwapExposure”: memory access violation at address: 0x00000000: no mapping at fault a ddress

    *** 1 failure is detected in the test module “Master Test Suite”
    `
    I don’t get any other compilation errors, but fail to run Example_1:

    1) Run ORE to produce NPV cube and exposures
    ORE starting
    Conventions… OK
    Market…
    Market data loader… OK
    Curve configuration… OK
    Traceback (most recent call last):
    File “run.py”, line 10, in <module>
    oreex.run(“Input/ore.xml”)
    File “../ore_examples_helper.py”, line 199, in run
    raise Exception(“Return Code was not Null.”)
    Exception: Return Code was not Null.

    I see that ./configure for QuantExt and other modules returns something similar (this one from App module):
    ./configure: line 15498: QL_CHECK_QUANTLIB: command not found

    Am I missing some system variable pointing to QuantLib module?

    Any help is much appreciated.

    Regards,
    Wojtek

    #6246
    Anonymous
    Inactive

    Hi Wojtek,

    The QL_CHECK_QUANTLIB command not found looks funny, it is defined in acinclude.m4 for each module (at the bottom), can you show me the complete output from the configure run? That said I don’t know why Ex1 would run but some unit tests fail, if it can’t find QL it won’t compile.

    I can confirm that we have built and run ORE on AWS machines, and other Linux boxes in the past, so there is not a fundamental issue there.

    Regards,
    Niall.

    #6247
    wojciech.slusarski
    Participant

    While running on AWS, did you use Ubuntu or RedHat? I didn’t have issues on Ubuntu as well, everything went fine.

    As you can see output from stdout while running the test for QuantExt, everything went well:

    
    make[1]: Opuszczenie katalogu 

    /home/wojtek/coding/github/ore_boost_1_66/Q uantExt’
    Running 89 test cases…

    QuantExt tests completed in 7 m 14 s

    *** No errors detected
    `

    #6248
    Anonymous
    Inactive

    Hi Wojtek,

    Not sure about the AWS machines, but I have it running on a RH box
    % cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core
    % gcc –version
    gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
    and we’ve used Ubuntu and Linux Mint without problems, the library itself does not make system calls much so I’d very much doubt it’s an OS issue.

    If you want to debug the unit tests, you can run with extra flags to get more output

    ./ored-test-suite –log_level=message

    and to turn on ORE logging to stdout do

    ./ored-test-suite –log_level=message — –ore_log_mask

    It will give you a large output, but should help you track down the issue.

    Regards,
    Niall.

    #6249
    wojciech.slusarski
    Participant

    I am not able to understand why it fails, below output of failed OREData tests with the log.
    Any clue?
    Regards,
    Wojtek

    
    $ ./test/ored-test-suite --log_level=message -- --ore_log_mask
    Running 54 test cases...
    Test case OREDataTestSuite/startTimer did not check any assertions
    Testing FXSwap...
    NOTICE   [2018-Jan-25 07:20:50.403123] (enginefactory.cpp:30)        : Building EngineFactory
    NOTICE   [2018-Jan-25 07:20:50.403193] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngine
    NOTICE   [2018-Jan-25 07:20:50.403225] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngineOptimised
    NOTICE   [2018-Jan-25 07:20:50.403244] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingCrossCurrencySwapEngine
    NOTICE   [2018-Jan-25 07:20:50.403258] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackBachelier and engine:BlackBachelierSwaptionEngine
    NOTICE   [2018-Jan-25 07:20:50.403272] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LGM and engine:Grid
    NOTICE   [2018-Jan-25 07:20:50.403284] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingFxForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.403296] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:GarmanKohlhagen and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.403311] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:IborCapModel and engine:IborCapEngine
    NOTICE   [2018-Jan-25 07:20:50.403324] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackOrBachelier and engine:BlackIborCouponPricer
    NOTICE   [2018-Jan-25 07:20:50.403337] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingEquityForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.403349] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackScholesMerton and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.403361] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingRiskyBondEngine
    NOTICE   [2018-Jan-25 07:20:50.403376] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Analytic
    NOTICE   [2018-Jan-25 07:20:50.403387] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Numerical
    NOTICE   [2018-Jan-25 07:20:50.403399] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LinearTSR and engine:LinearTSRPricer
    NOTICE   [2018-Jan-25 07:20:50.403411] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:MidPointCdsEngine
    DEBUG    [2018-Jan-25 07:20:50.403648] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-10-27
    DEBUG    [2018-Jan-25 07:20:50.403794] (fxforward.cpp:71)            : FxForward leg 0: October 27th, 2015 250000000.000000
    DEBUG    [2018-Jan-25 07:20:50.403848] (fxforward.cpp:72)            : FxForward leg 1: October 27th, 2015 224557621.490000
    DEBUG    [2018-Jan-25 07:20:50.403872] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-11-03
    DEBUG    [2018-Jan-25 07:20:50.403893] (fxforward.cpp:71)            : FxForward leg 0: November 3rd, 2015 250018000.000000
    DEBUG    [2018-Jan-25 07:20:50.403909] (fxforward.cpp:72)            : FxForward leg 1: November 3rd, 2015 224552207.770000
    DEBUG    [2018-Jan-25 07:20:50.403935] (fxswap.cpp:41)               : FxSwap::build() called for trade 
    DEBUG    [2018-Jan-25 07:20:50.403956] (fxswap.cpp:59)               : FxSwap::build(): Near NPV = -17461873.975663
    DEBUG    [2018-Jan-25 07:20:50.404015] (fxswap.cpp:60)               : FxSwap::build(): Far NPV = -17474255.456445
    DEBUG    [2018-Jan-25 07:20:50.404053] (fxswap.cpp:93)               : FxSwap leg 0: 2015-10-27 224557621.490000
    DEBUG    [2018-Jan-25 07:20:50.404067] (fxswap.cpp:94)               : FxSwap leg 1: 2015-10-27 250000000.000000
    DEBUG    [2018-Jan-25 07:20:50.404078] (fxswap.cpp:95)               : FxSwap leg 2: 2015-11-03 250018000.000000
    DEBUG    [2018-Jan-25 07:20:50.404087] (fxswap.cpp:96)               : FxSwap leg 3: 2015-11-03 224552207.770000
    NOTICE   [2018-Jan-25 07:20:50.404206] (enginefactory.cpp:30)        : Building EngineFactory
    NOTICE   [2018-Jan-25 07:20:50.404223] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngine
    NOTICE   [2018-Jan-25 07:20:50.404234] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngineOptimised
    NOTICE   [2018-Jan-25 07:20:50.404244] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingCrossCurrencySwapEngine
    NOTICE   [2018-Jan-25 07:20:50.404254] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackBachelier and engine:BlackBachelierSwaptionEngine
    NOTICE   [2018-Jan-25 07:20:50.404263] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LGM and engine:Grid
    NOTICE   [2018-Jan-25 07:20:50.404273] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingFxForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.404282] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:GarmanKohlhagen and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.404318] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:IborCapModel and engine:IborCapEngine
    NOTICE   [2018-Jan-25 07:20:50.404330] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackOrBachelier and engine:BlackIborCouponPricer
    NOTICE   [2018-Jan-25 07:20:50.404340] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingEquityForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.404350] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackScholesMerton and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.404360] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingRiskyBondEngine
    NOTICE   [2018-Jan-25 07:20:50.404370] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Analytic
    NOTICE   [2018-Jan-25 07:20:50.404379] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Numerical
    NOTICE   [2018-Jan-25 07:20:50.404389] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LinearTSR and engine:LinearTSRPricer
    NOTICE   [2018-Jan-25 07:20:50.404399] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:MidPointCdsEngine
    DEBUG    [2018-Jan-25 07:20:50.404414] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-07-14
    DEBUG    [2018-Jan-25 07:20:50.404462] (fxforward.cpp:71)            : FxForward leg 0: July 14th, 2015 103718911.060000
    DEBUG    [2018-Jan-25 07:20:50.404486] (fxforward.cpp:72)            : FxForward leg 1: July 14th, 2015 97000000.000000
    DEBUG    [2018-Jan-25 07:20:50.404506] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-11-16
    DEBUG    [2018-Jan-25 07:20:50.404525] (fxforward.cpp:71)            : FxForward leg 0: November 16th, 2015 103923787.150000
    DEBUG    [2018-Jan-25 07:20:50.404541] (fxforward.cpp:72)            : FxForward leg 1: November 16th, 2015 96737000.000000
    DEBUG    [2018-Jan-25 07:20:50.404561] (fxswap.cpp:41)               : FxSwap::build() called for trade 
    DEBUG    [2018-Jan-25 07:20:50.404574] (fxswap.cpp:59)               : FxSwap::build(): Near NPV = 15576191.157013
    DEBUG    [2018-Jan-25 07:20:50.404594] (fxswap.cpp:60)               : FxSwap::build(): Far NPV = 16211476.327722
    DEBUG    [2018-Jan-25 07:20:50.404613] (fxswap.cpp:93)               : FxSwap leg 0: 2015-07-14 97000000.000000
    DEBUG    [2018-Jan-25 07:20:50.404624] (fxswap.cpp:94)               : FxSwap leg 1: 2015-07-14 103718911.060000
    DEBUG    [2018-Jan-25 07:20:50.404633] (fxswap.cpp:95)               : FxSwap leg 2: 2015-11-16 103923787.150000
    DEBUG    [2018-Jan-25 07:20:50.404643] (fxswap.cpp:96)               : FxSwap leg 3: 2015-11-16 96737000.000000
    NOTICE   [2018-Jan-25 07:20:50.404717] (enginefactory.cpp:30)        : Building EngineFactory
    NOTICE   [2018-Jan-25 07:20:50.404732] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngine
    NOTICE   [2018-Jan-25 07:20:50.404743] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngineOptimised
    NOTICE   [2018-Jan-25 07:20:50.404753] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingCrossCurrencySwapEngine
    NOTICE   [2018-Jan-25 07:20:50.404763] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackBachelier and engine:BlackBachelierSwaptionEngine
    NOTICE   [2018-Jan-25 07:20:50.404772] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LGM and engine:Grid
    NOTICE   [2018-Jan-25 07:20:50.404782] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingFxForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.404792] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:GarmanKohlhagen and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.404942] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:IborCapModel and engine:IborCapEngine
    NOTICE   [2018-Jan-25 07:20:50.404956] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackOrBachelier and engine:BlackIborCouponPricer
    NOTICE   [2018-Jan-25 07:20:50.404966] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingEquityForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.404976] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackScholesMerton and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.404986] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingRiskyBondEngine
    NOTICE   [2018-Jan-25 07:20:50.404996] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Analytic
    NOTICE   [2018-Jan-25 07:20:50.405006] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Numerical
    NOTICE   [2018-Jan-25 07:20:50.405017] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LinearTSR and engine:LinearTSRPricer
    NOTICE   [2018-Jan-25 07:20:50.405029] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:MidPointCdsEngine
    DEBUG    [2018-Jan-25 07:20:50.405044] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-08-04
    DEBUG    [2018-Jan-25 07:20:50.405074] (fxforward.cpp:71)            : FxForward leg 0: August 4th, 2015 156000000.000000
    DEBUG    [2018-Jan-25 07:20:50.405093] (fxforward.cpp:72)            : FxForward leg 1: August 4th, 2015 100227439.190000
    DEBUG    [2018-Jan-25 07:20:50.405113] (fxforward.cpp:43)            : Build FxForward with maturity date 2015-11-30
    DEBUG    [2018-Jan-25 07:20:50.405131] (fxforward.cpp:71)            : FxForward leg 0: November 30th, 2015 156148000.000000
    DEBUG    [2018-Jan-25 07:20:50.405147] (fxforward.cpp:72)            : FxForward leg 1: November 30th, 2015 100400372.110000
    DEBUG    [2018-Jan-25 07:20:50.405167] (fxswap.cpp:41)               : FxSwap::build() called for trade 
    DEBUG    [2018-Jan-25 07:20:50.405179] (fxswap.cpp:59)               : FxSwap::build(): Near NPV = 81543606.089879
    DEBUG    [2018-Jan-25 07:20:50.405197] (fxswap.cpp:60)               : FxSwap::build(): Far NPV = 81383333.795396
    DEBUG    [2018-Jan-25 07:20:50.405215] (fxswap.cpp:93)               : FxSwap leg 0: 2015-08-04 100227439.190000
    DEBUG    [2018-Jan-25 07:20:50.405227] (fxswap.cpp:94)               : FxSwap leg 1: 2015-08-04 156000000.000000
    DEBUG    [2018-Jan-25 07:20:50.405236] (fxswap.cpp:95)               : FxSwap leg 2: 2015-11-30 156148000.000000
    DEBUG    [2018-Jan-25 07:20:50.405245] (fxswap.cpp:96)               : FxSwap leg 3: 2015-11-30 100400372.110000
    Test case OREDataTestSuite/FXSwapTest/FXSwapTest__testFXSwap did not check any assertions
    Testing FXOption Price...
    NOTICE   [2018-Jan-25 07:20:50.405407] (enginefactory.cpp:30)        : Building EngineFactory
    NOTICE   [2018-Jan-25 07:20:50.405423] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngine
    NOTICE   [2018-Jan-25 07:20:50.405434] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingSwapEngineOptimised
    NOTICE   [2018-Jan-25 07:20:50.405464] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingCrossCurrencySwapEngine
    NOTICE   [2018-Jan-25 07:20:50.405476] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackBachelier and engine:BlackBachelierSwaptionEngine
    NOTICE   [2018-Jan-25 07:20:50.405486] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LGM and engine:Grid
    NOTICE   [2018-Jan-25 07:20:50.405496] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingFxForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.405506] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:GarmanKohlhagen and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.405516] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:IborCapModel and engine:IborCapEngine
    NOTICE   [2018-Jan-25 07:20:50.405526] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackOrBachelier and engine:BlackIborCouponPricer
    NOTICE   [2018-Jan-25 07:20:50.405536] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingEquityForwardEngine
    NOTICE   [2018-Jan-25 07:20:50.405545] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:BlackScholesMerton and engine:AnalyticEuropeanEngine
    NOTICE   [2018-Jan-25 07:20:50.405555] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:DiscountingRiskyBondEngine
    NOTICE   [2018-Jan-25 07:20:50.405565] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Analytic
    NOTICE   [2018-Jan-25 07:20:50.405575] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:Hagan and engine:Numerical
    NOTICE   [2018-Jan-25 07:20:50.405584] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:LinearTSR and engine:LinearTSRPricer
    NOTICE   [2018-Jan-25 07:20:50.405594] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:DiscountedCashflows and engine:MidPointCdsEngine
    NOTICE   [2018-Jan-25 07:20:50.405605] (enginefactory.cpp:38)        : EngineFactory regisering builder for model:GarmanKohlhagen and engine:AnalyticEuropeanEngine
    unknown location(0): fatal error: in "OREDataTestSuite/FXOptionTest/FXOptionTest__testFXOptionPrice": memory access violation at address: 0x00000000: no mapping at fault address
    Test is aborted
    Test is aborted
    Test is aborted
    Test is aborted
    
    *** 1 failure is detected in the test module "Master Test Suite"
    
    
    #6250
    wojciech.slusarski
    Participant

    Hi Niall,

    What is the boost version you are running on your Cent OS?
    Yesterday I removed all boost installations and from my other Ubuntu, 16.04 LTS and got similar issues as on RedHat with this 1.66 version. Do you think it is related to the version or rather the way I try to compile/ install that without root privileges?
    Tonight I will try as you do it in your Docker images https://github.com/OpenSourceRisk/Engine/tree/master/Docker

    Regards,
    Wojtek

    #6251
    wojciech.slusarski
    Participant

    OK, finally success. I used boost 1.63.0 with flads as in the docker file and additional –prefix=$BOOST where BOOST as main instalation folder and LD_LIBRARY_PATH=$BOOST/lib:$LD_LIBRARY_PATH.

    It looks as if there was an issue with boost 1.66 on my machines.

    Is it possible to edit topic of the thread to boos 1.66 issues as RedHat may be misleading? Also outpu of my configure.log contains some sensitive information that I didn’t sanitize, so if I may kindly ask for reducing its content which is irrelevant to debugging issues related to 1.66 version, I would appreciate a lot.

    I am running examples, it looks very good. Very Nice piece of software.

    Regards,
    Wojtek

    #6252
    Anonymous
    Inactive

    Hi Wojtek,

    That’s interesting, I am running boost 1.63 now, 1.66 is just over a month old so I’m not sure I’ve heard of anyone testing it.

    Glad it’s working for you now.

    Regards,
    Niall.

    #6254
    Anonymous
    Inactive

    Hi Wojtek,

    I’ve removed your configure log as requested.

    I tested boost 1.66 on our RedHat machine and I am seeing the same problem as you, it seems at first glance to me to be some sort of boost issue.

    The offending line is the call to the DiscountingFxForwardEngine constructor here

    
            return boost::make_shared<QuantExt::DiscountingFxForwardEngine>(
                domCcy, market_->discountCurve(domCcy.code(), configuration(MarketContext::pricing)), forCcy,
                market_->discountCurve(forCcy.code(), configuration(MarketContext::pricing)),
                market_->fxSpot(pair, configuration(MarketContext::pricing)));
    

    At runtime I get a similar error to you

    
    signal: SIGSEGV, si_code: 0 (memory access violation at address: 0x00000080)
    

    Now when I change the make_shared<> call to a normal new() call it works, also if I change the make_shared<> ctor call to have all 9 parameters (boost::none and the two Dates) it also works.

    It all works fine on Windows too, and with boost 1.63 (haven’t tried 64 or 65) so it does seem to be some sort of boost 1.66 / Linux / make_shared issue.

    Regards,
    Niall.

    #6257
    Anonymous
    Inactive

    This does not happen with boost 1.65.1 (or 1.64.0 or 1.63.0 for that matter)

    #6260
    Anonymous
    Inactive

    Hi Wojtek,

    Have been digging into this a bit more, I can confirm that it is an issue that is coming up with Boost 1.66 and is caused by mixing C++98 (QuantLib and QuantExt) and C++11 (OREData and OREAnalytics) libraries and boost::optional.

    The issue is caused by a QuantExt class that has a boost::optional parameter. When the class cpp file is compiled in QuantExt it is using the C++98 version of boost::optional. This object file is then part of the QLE library. When we build OREData (or Analytics) and we call this class constructor, the boost::optional is included by the compiler in C++11 mode, this probably generates an incompatible binary. Everything compiles but at runtime there is a mismatch which results in a SEGFAULT.

    This explains why the QuantExt test suite (all C++98) is unaffected.

    I’ve reproduced this with a simple boost example, I’ll post this to the boost forums and see what they say, for now the simplest workarounds for ORE are either
    – Use boost 1.65.1 or lower
    – Compile QL and QLE with -std=c++11

    It also fails on a Mac with clang, so it’s definitely not a compiler issue, on windows it works but I believe that is because there are no strict C++98 flags in DevStudio so the binaries are always compatible.

    Regards,
    Niall.

    #6261
    wojciech.slusarski
    Participant

    Hi Niall,

    Thank you very much for your comprehensive analysis of the problem. I will not be validating ORE on windows and mac, but I guess some info regarding boost version should be introduced into documentation in userquide.pdf.
    I can confirm, that with boost 1.63.0 today I managed to compile it on my laptop with Ubuntu 16.04.3 LTS (apart from RedHat 7.3 on Amazon AWS last week).

    The script to compile it was as below. Maybe some parts of it could also enter the code base to make it easier to install and run examples?

    `
    #!/bin/sh

    export BOOST=/home/wojtek/boost_1_63_0
    # in $BOOST directory compilation was:
    # ./bootstrap.sh –prefix=$BOOST
    # ./b2 –without-python -j8 link=shared runtime-link=shared install
    export LD_LIBRARY_PATH=$BOOST/lib:$LD_LIBRARY_PATH
    # now assumed that ore is a folder below, where there is all the ORE code
    # cloned from github
    cd ore
    git submodule update
    cd QuantLib
    make clean
    ./autogen.sh
    ./configure –with-boost-include=$BOOST/include –with-boost-lib=$BOOST/lib CXXFLAGS=’-O2 -std=c++11′
    make -j 8

    cd ../QuantExt
    make clean
    ./autogen.sh
    ./configure –with-boost-include=$BOOST/include –with-boost-lib=$BOOST/lib CXXFLAGS=’-O2 -std=c++11′

    make -j 8
    ./test/quantext-test-suite

    cd ../OREData
    make clean
    ./autogen.sh
    ./configure –disable-static CXXFLAGS=”-O2 -std=c++11″ –with-boost-include=$BOOST/include –with-boost-lib=$BOOST/lib
    make -j 8
    ./test/ored-test-suite

    cd ../OREAnalytics
    make clean
    ./autogen.sh
    ./configure –with-boost-include=$BOOST/include –with-boost-lib=$BOOST/lib
    make -j 8
    ./test/orea-test-suite

    cd ../App
    make clean
    ./autogen.sh
    ./configure –with-boost-include=$BOOST/include –with-boost-lib=$BOOST/lib
    make -j 8

    export LC_NUMERIC=C

    cd ../Examples/Example_1
    python run.py
    `

    #6296
    mzobniow
    Participant

    Hi Guys,
    I went into the same issue, before I’ve noticed this thread.
    Centos 7, boost 1.66, QL 1.12 & ORE 1.8.3
    I’ve menaged to finally compile it and run without SEGFAULT, by adding -std=c++11 to all compilations: boost, QL, QE etc (ORED & OREA has it by default, actually).
    I think the issue is in the share_ptr template. The template is defined in boost, but also redefined in the c++11 standard. Those implementations are incompatabile which results with SEGFAULT.
    Basicaly, to recompile the above combination, you need to add CXXFLAGS=”-std=c++11″ in the ./b2 for boost, and to all ./configure of each library after.

    Best Regards
    Maciek

    #6532
    hdzRulo
    Participant

    Hi Guys,
    As @mzobniow & @wojciech.slusarski; I ran into the same issue, when trying to build ORE in MacOSX.( memory access violation at address: 0x00000000 while building OREData).

    A few days ago, I managed to build ORE successfully after a lot of research; all the steps I followed are describen in the GitHub of this project, under issue #29. Hope it helps.

    Cheers,
    Raul

Viewing 14 posts - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.