You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(60) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(18) |
Feb
(4) |
Mar
(6) |
Apr
(2) |
May
|
Jun
(12) |
Jul
(48) |
Aug
(6) |
Sep
(3) |
Oct
(24) |
Nov
(15) |
Dec
(18) |
| 2002 |
Jan
(39) |
Feb
(12) |
Mar
(80) |
Apr
(72) |
May
(46) |
Jun
(27) |
Jul
(23) |
Aug
(34) |
Sep
(65) |
Oct
(71) |
Nov
(19) |
Dec
(14) |
| 2003 |
Jan
(44) |
Feb
(59) |
Mar
(18) |
Apr
(62) |
May
(54) |
Jun
(27) |
Jul
(46) |
Aug
(15) |
Sep
(44) |
Oct
(36) |
Nov
(19) |
Dec
(12) |
| 2004 |
Jan
(26) |
Feb
(33) |
Mar
(47) |
Apr
(63) |
May
(36) |
Jun
(65) |
Jul
(80) |
Aug
(163) |
Sep
(65) |
Oct
(39) |
Nov
(36) |
Dec
(39) |
| 2005 |
Jan
(97) |
Feb
(78) |
Mar
(64) |
Apr
(64) |
May
(48) |
Jun
(55) |
Jul
(89) |
Aug
(57) |
Sep
(51) |
Oct
(111) |
Nov
(86) |
Dec
(76) |
| 2006 |
Jan
(84) |
Feb
(103) |
Mar
(143) |
Apr
(92) |
May
(55) |
Jun
(58) |
Jul
(71) |
Aug
(57) |
Sep
(74) |
Oct
(59) |
Nov
(8) |
Dec
(32) |
| 2007 |
Jan
(60) |
Feb
(40) |
Mar
(50) |
Apr
(26) |
May
(61) |
Jun
(120) |
Jul
(119) |
Aug
(48) |
Sep
(121) |
Oct
(66) |
Nov
(103) |
Dec
(43) |
| 2008 |
Jan
(60) |
Feb
(109) |
Mar
(92) |
Apr
(106) |
May
(82) |
Jun
(59) |
Jul
(67) |
Aug
(118) |
Sep
(131) |
Oct
(56) |
Nov
(37) |
Dec
(69) |
| 2009 |
Jan
(75) |
Feb
(76) |
Mar
(103) |
Apr
(78) |
May
(61) |
Jun
(35) |
Jul
(66) |
Aug
(69) |
Sep
(166) |
Oct
(46) |
Nov
(72) |
Dec
(65) |
| 2010 |
Jan
(48) |
Feb
(57) |
Mar
(93) |
Apr
(85) |
May
(123) |
Jun
(82) |
Jul
(98) |
Aug
(121) |
Sep
(146) |
Oct
(86) |
Nov
(72) |
Dec
(34) |
| 2011 |
Jan
(96) |
Feb
(55) |
Mar
(73) |
Apr
(57) |
May
(33) |
Jun
(74) |
Jul
(89) |
Aug
(71) |
Sep
(103) |
Oct
(76) |
Nov
(52) |
Dec
(61) |
| 2012 |
Jan
(48) |
Feb
(54) |
Mar
(78) |
Apr
(60) |
May
(75) |
Jun
(59) |
Jul
(33) |
Aug
(66) |
Sep
(43) |
Oct
(46) |
Nov
(75) |
Dec
(51) |
| 2013 |
Jan
(112) |
Feb
(72) |
Mar
(49) |
Apr
(48) |
May
(42) |
Jun
(44) |
Jul
(80) |
Aug
(19) |
Sep
(33) |
Oct
(37) |
Nov
(38) |
Dec
(98) |
| 2014 |
Jan
(113) |
Feb
(93) |
Mar
(49) |
Apr
(106) |
May
(97) |
Jun
(155) |
Jul
(87) |
Aug
(127) |
Sep
(85) |
Oct
(48) |
Nov
(41) |
Dec
(37) |
| 2015 |
Jan
(34) |
Feb
(50) |
Mar
(104) |
Apr
(80) |
May
(82) |
Jun
(66) |
Jul
(41) |
Aug
(84) |
Sep
(37) |
Oct
(65) |
Nov
(83) |
Dec
(52) |
| 2016 |
Jan
(68) |
Feb
(35) |
Mar
(42) |
Apr
(35) |
May
(54) |
Jun
(75) |
Jul
(45) |
Aug
(52) |
Sep
(60) |
Oct
(52) |
Nov
(36) |
Dec
(64) |
| 2017 |
Jan
(92) |
Feb
(59) |
Mar
(35) |
Apr
(53) |
May
(83) |
Jun
(43) |
Jul
(65) |
Aug
(68) |
Sep
(46) |
Oct
(75) |
Nov
(40) |
Dec
(49) |
| 2018 |
Jan
(68) |
Feb
(54) |
Mar
(48) |
Apr
(58) |
May
(51) |
Jun
(44) |
Jul
(40) |
Aug
(68) |
Sep
(35) |
Oct
(15) |
Nov
(7) |
Dec
(37) |
| 2019 |
Jan
(43) |
Feb
(7) |
Mar
(22) |
Apr
(21) |
May
(31) |
Jun
(39) |
Jul
(73) |
Aug
(45) |
Sep
(47) |
Oct
(89) |
Nov
(19) |
Dec
(69) |
| 2020 |
Jan
(52) |
Feb
(63) |
Mar
(45) |
Apr
(59) |
May
(42) |
Jun
(57) |
Jul
(30) |
Aug
(29) |
Sep
(75) |
Oct
(64) |
Nov
(96) |
Dec
(22) |
| 2021 |
Jan
(14) |
Feb
(24) |
Mar
(35) |
Apr
(58) |
May
(36) |
Jun
(15) |
Jul
(18) |
Aug
(31) |
Sep
(30) |
Oct
(33) |
Nov
(27) |
Dec
(16) |
| 2022 |
Jan
(35) |
Feb
(22) |
Mar
(14) |
Apr
(20) |
May
(44) |
Jun
(53) |
Jul
(25) |
Aug
(56) |
Sep
(11) |
Oct
(47) |
Nov
(22) |
Dec
(36) |
| 2023 |
Jan
(30) |
Feb
(17) |
Mar
(31) |
Apr
(48) |
May
(31) |
Jun
(7) |
Jul
(25) |
Aug
(26) |
Sep
(61) |
Oct
(66) |
Nov
(19) |
Dec
(21) |
| 2024 |
Jan
(37) |
Feb
(29) |
Mar
(26) |
Apr
(26) |
May
(34) |
Jun
(9) |
Jul
(27) |
Aug
(13) |
Sep
(15) |
Oct
(25) |
Nov
(13) |
Dec
(8) |
| 2025 |
Jan
(13) |
Feb
(1) |
Mar
(16) |
Apr
(17) |
May
(8) |
Jun
(6) |
Jul
(9) |
Aug
|
Sep
(6) |
Oct
(15) |
Nov
(6) |
Dec
|
| 2026 |
Jan
(6) |
Feb
(4) |
Mar
(20) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Luigi B. <lui...@gm...> - 2023-07-10 12:48:04
|
Compounded vs continuous can be managed — but it's the conversion of dates into times that Actual/Actual gets wrong. For more details, see < https://www.youtube.com/watch?v=dQjd3hAshj4>. Hope this helps, Luigi On Fri, Jul 7, 2023 at 5:37 PM Alex Leonard <aml...@gm...> wrote: > Hi Philippe, > > So correct me if I'm wrong but net the issue is that the curve is > interpolating continuously compounded rates and I am charting compounded > rates which is producing this zigzag pattern. I see that when I change my > zeroRate function to price using continuously compounded rates the > interpolation looks smooth. The issue I was encountering was that when I > would calculate Z spreads on USTs ~ 2 weeks apart they were producing very > different levels when using an OIS curve they were more or less the same. > It looks like this is due to the 'stepped' pattern of the discrete > interpolation producing the same discount rates for cash flows even though > they were close but different times. I am guessing using > continuous compounding on the z spread calculation should fix that. > > Much appreciated for pointing me in the right direction, > > Alex > > On Thu, Jul 6, 2023 at 11:45 PM philippe hatstadt <pha...@ma...> > wrote: > >> Actual/Actual or 30/360 should never ever be used as the internal day >> count representation of a zero curve. Actual/360 or Actual/365 is safe. Be >> careful to not confuse the day count basis of instruments versus that of >> the curve itself. >> Zero rates are jagged if you use linear instantaneous zeros. If you plan >> to bump rates to compute hedges, a stepwise zero if better, which is the >> same as log linear discount factors. Linear zeroes have bad perturbation >> propagation behavior and any spline obviously. Stepwise zeros do not. >> If you want a smooth curve for relative value, Nelson-Siegel works well. >> >> Regards >> >> Philippe Hatstadt >> +1-203-252-0408 >> >> >> > On Jul 6, 2023, at 5:18 PM, Alex Leonard <aml...@gm...> wrote: >> > >> > >> > Hello, >> > >> > I have recently started using quantlib in python so hope this hasn't >> been answered many times before >> > >> > I was trying to bootstrap a zero curve with benchmark USTs and I >> noticed that the zero rates were jagged in between the nodes. I >> subsequently tried building a zeroCurve with the bootstrapped node points >> and the interpolated zero rates are still jagged even with a simple linear >> interp. Just as a toy example I put together the following. I have >> attached the graph of the zero rates with the zig zag forwards. Is there >> some interpolation method I need to instantiate somewhere? >> > >> > I have additionally noticed that when I change the dayCounter to >> ActualActual(1) the forwards are stepped instead of zig zagged. Any help is >> much appreciated. >> > >> > thanks in advance, >> > >> > Alex >> > >> > ######################### >> > >> > import datetime >> > import pandas as pd >> > import matplotlib.pyplot as plt >> > import QuantLib as ql >> > from dateutil.relativedelta import relativedelta >> > >> > #setting up the day >> > date = pd.Timestamp(2015, 1, 20) >> > day = datetime.datetime(date.year, date.month, date.day) >> > today = ql.Date(day.day, day.month, day.year) >> > ql.Settings.instance().evaluationDate = today >> > >> > #data points and the curve >> > dates = [ql.Date(20,1,2015),ql.Date(15,2,2016), ql.Date(15,2,2017), >> ql.Date(15,2,2018)] >> > zeros = [0.001,0.01, 0.02, 0.03] >> > curve = ql.ZeroCurve(dates, zeros, ql.ActualActual(3)) >> > >> > #dates and zero rates to check smoothness of interpolation >> > start = day >> > end = day + relativedelta(years = 2) >> > dates = pd.date_range(start, end, freq='B') >> > >> > rates = [] >> > for date in dates: >> > thisRate = curve.zeroRate(ql.Date(date.day,date.month,date.year), >> ql.ActualActual(1), ql.Compounded, ql.Semiannual).rate() >> > rates.append(thisRate*100) >> > >> > plt.plot(dates,rates) >> > >> > ######################### >> > <Figure 2023-07-06 230502.png> >> > _______________________________________________ >> > QuantLib-users mailing list >> > Qua...@li... >> > https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Alex L. <aml...@gm...> - 2023-07-07 15:34:25
|
Hi Philippe, So correct me if I'm wrong but net the issue is that the curve is interpolating continuously compounded rates and I am charting compounded rates which is producing this zigzag pattern. I see that when I change my zeroRate function to price using continuously compounded rates the interpolation looks smooth. The issue I was encountering was that when I would calculate Z spreads on USTs ~ 2 weeks apart they were producing very different levels when using an OIS curve they were more or less the same. It looks like this is due to the 'stepped' pattern of the discrete interpolation producing the same discount rates for cash flows even though they were close but different times. I am guessing using continuous compounding on the z spread calculation should fix that. Much appreciated for pointing me in the right direction, Alex On Thu, Jul 6, 2023 at 11:45 PM philippe hatstadt <pha...@ma...> wrote: > Actual/Actual or 30/360 should never ever be used as the internal day > count representation of a zero curve. Actual/360 or Actual/365 is safe. Be > careful to not confuse the day count basis of instruments versus that of > the curve itself. > Zero rates are jagged if you use linear instantaneous zeros. If you plan > to bump rates to compute hedges, a stepwise zero if better, which is the > same as log linear discount factors. Linear zeroes have bad perturbation > propagation behavior and any spline obviously. Stepwise zeros do not. > If you want a smooth curve for relative value, Nelson-Siegel works well. > > Regards > > Philippe Hatstadt > +1-203-252-0408 > > > > On Jul 6, 2023, at 5:18 PM, Alex Leonard <aml...@gm...> wrote: > > > > > > Hello, > > > > I have recently started using quantlib in python so hope this hasn't > been answered many times before > > > > I was trying to bootstrap a zero curve with benchmark USTs and I noticed > that the zero rates were jagged in between the nodes. I subsequently tried > building a zeroCurve with the bootstrapped node points and the interpolated > zero rates are still jagged even with a simple linear interp. Just as a > toy example I put together the following. I have attached the graph of the > zero rates with the zig zag forwards. Is there some interpolation method I > need to instantiate somewhere? > > > > I have additionally noticed that when I change the dayCounter to > ActualActual(1) the forwards are stepped instead of zig zagged. Any help is > much appreciated. > > > > thanks in advance, > > > > Alex > > > > ######################### > > > > import datetime > > import pandas as pd > > import matplotlib.pyplot as plt > > import QuantLib as ql > > from dateutil.relativedelta import relativedelta > > > > #setting up the day > > date = pd.Timestamp(2015, 1, 20) > > day = datetime.datetime(date.year, date.month, date.day) > > today = ql.Date(day.day, day.month, day.year) > > ql.Settings.instance().evaluationDate = today > > > > #data points and the curve > > dates = [ql.Date(20,1,2015),ql.Date(15,2,2016), ql.Date(15,2,2017), > ql.Date(15,2,2018)] > > zeros = [0.001,0.01, 0.02, 0.03] > > curve = ql.ZeroCurve(dates, zeros, ql.ActualActual(3)) > > > > #dates and zero rates to check smoothness of interpolation > > start = day > > end = day + relativedelta(years = 2) > > dates = pd.date_range(start, end, freq='B') > > > > rates = [] > > for date in dates: > > thisRate = curve.zeroRate(ql.Date(date.day,date.month,date.year), > ql.ActualActual(1), ql.Compounded, ql.Semiannual).rate() > > rates.append(thisRate*100) > > > > plt.plot(dates,rates) > > > > ######################### > > <Figure 2023-07-06 230502.png> > > _______________________________________________ > > QuantLib-users mailing list > > Qua...@li... > > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: philippe h. <pha...@ma...> - 2023-07-06 21:45:39
|
Actual/Actual or 30/360 should never ever be used as the internal day count representation of a zero curve. Actual/360 or Actual/365 is safe. Be careful to not confuse the day count basis of instruments versus that of the curve itself. Zero rates are jagged if you use linear instantaneous zeros. If you plan to bump rates to compute hedges, a stepwise zero if better, which is the same as log linear discount factors. Linear zeroes have bad perturbation propagation behavior and any spline obviously. Stepwise zeros do not. If you want a smooth curve for relative value, Nelson-Siegel works well. Regards Philippe Hatstadt +1-203-252-0408 > On Jul 6, 2023, at 5:18 PM, Alex Leonard <aml...@gm...> wrote: > > > Hello, > > I have recently started using quantlib in python so hope this hasn't been answered many times before > > I was trying to bootstrap a zero curve with benchmark USTs and I noticed that the zero rates were jagged in between the nodes. I subsequently tried building a zeroCurve with the bootstrapped node points and the interpolated zero rates are still jagged even with a simple linear interp. Just as a toy example I put together the following. I have attached the graph of the zero rates with the zig zag forwards. Is there some interpolation method I need to instantiate somewhere? > > I have additionally noticed that when I change the dayCounter to ActualActual(1) the forwards are stepped instead of zig zagged. Any help is much appreciated. > > thanks in advance, > > Alex > > ######################### > > import datetime > import pandas as pd > import matplotlib.pyplot as plt > import QuantLib as ql > from dateutil.relativedelta import relativedelta > > #setting up the day > date = pd.Timestamp(2015, 1, 20) > day = datetime.datetime(date.year, date.month, date.day) > today = ql.Date(day.day, day.month, day.year) > ql.Settings.instance().evaluationDate = today > > #data points and the curve > dates = [ql.Date(20,1,2015),ql.Date(15,2,2016), ql.Date(15,2,2017), ql.Date(15,2,2018)] > zeros = [0.001,0.01, 0.02, 0.03] > curve = ql.ZeroCurve(dates, zeros, ql.ActualActual(3)) > > #dates and zero rates to check smoothness of interpolation > start = day > end = day + relativedelta(years = 2) > dates = pd.date_range(start, end, freq='B') > > rates = [] > for date in dates: > thisRate = curve.zeroRate(ql.Date(date.day,date.month,date.year), ql.ActualActual(1), ql.Compounded, ql.Semiannual).rate() > rates.append(thisRate*100) > > plt.plot(dates,rates) > > ######################### > <Figure 2023-07-06 230502.png> > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Alex L. <aml...@gm...> - 2023-07-06 21:17:24
|
Hello,
I have recently started using quantlib in python so hope this hasn't been
answered many times before
I was trying to bootstrap a zero curve with benchmark USTs and I noticed
that the zero rates were jagged in between the nodes. I subsequently tried
building a zeroCurve with the bootstrapped node points and the interpolated
zero rates are still jagged even with a simple linear interp. Just as a
toy example I put together the following. I have attached the graph of the
zero rates with the zig zag forwards. Is there some interpolation method I
need to instantiate somewhere?
I have additionally noticed that when I change the dayCounter to
ActualActual(1) the forwards are stepped instead of zig zagged. Any help is
much appreciated.
thanks in advance,
Alex
#########################
import datetime
import pandas as pd
import matplotlib.pyplot as plt
import QuantLib as ql
from dateutil.relativedelta import relativedelta
#setting up the day
date = pd.Timestamp(2015, 1, 20)
day = datetime.datetime(date.year, date.month, date.day)
today = ql.Date(day.day, day.month, day.year)
ql.Settings.instance().evaluationDate = today
#data points and the curve
dates = [ql.Date(20,1,2015),ql.Date(15,2,2016), ql.Date(15,2,2017),
ql.Date(15,2,2018)]
zeros = [0.001,0.01, 0.02, 0.03]
curve = ql.ZeroCurve(dates, zeros, ql.ActualActual(3))
#dates and zero rates to check smoothness of interpolation
start = day
end = day + relativedelta(years = 2)
dates = pd.date_range(start, end, freq='B')
rates = []
for date in dates:
thisRate = curve.zeroRate(ql.Date(date.day,date.month,date.year),
ql.ActualActual(1), ql.Compounded, ql.Semiannual).rate()
rates.append(thisRate*100)
plt.plot(dates,rates)
#########################
|
|
From: Luigi B. <lui...@gm...> - 2023-07-05 07:04:17
|
...and this time, you can test prerelease wheels too if you like: run
python3 -m pip install -U -i https://test.pypi.org/simple/ --pre
QuantLib
to download and install them from TestPyPI. Prerelease, not for
production, blah blah.
Luigi
On Tue, Jul 4, 2023 at 5:10 PM Luigi Ballabio <lui...@gm...>
wrote:
> Hello everybody,
> I just published sources for a release candidate for 1.31 at <
> https://github.com/lballabio/QuantLib/releases/tag/1.31rc>. If you have
> some time, or if you are a well-known Debian maintainer, please try them
> out this week or the next and report any problems here. Thanks!
>
> Luigi
>
>
|
|
From: Michael (D. portal) <mi...@da...> - 2023-07-04 17:58:35
|
> Hi Luigi > > Thanks a lot! We were able to implement corporate bond functionality > using QuantlIb. All the analytics we needed worked fine. > > By the way, we are also looking for a library for mortgage bonds that e.g. > calculates yields for different prepayment vectors. Would you know what > would be the best source of a mortgage library? > > Thanks, > > Michael > > On Tue, Jul 4, 2023 at 11:06 AM Luigi Ballabio <lui...@gm...> > wrote: > >> Hello Michael, >> you're in the right place, but the docs (at >> https://www.quantlib.org/docs.shtml) are somewhat sparse so I'm not sure >> that I can point you to a specific example of the bond calculations >> you want. You might try starting from the code in our test suite ( >> https://github.com/lballabio/QuantLib/blob/QuantLib-v1.30/test-suite/bonds.cpp) >> and come back here for clarifications. >> >> Hope this helps, >> Luigi >> >> >> On Tue, Jun 27, 2023 at 9:06 PM Michael (DataDriven portal) < >> mi...@da...> wrote: >> >>> Hi All, >>>> >>>> I am looking for a Python library to calculate yield to maturity, >>>> duration, convexity and other measures for corporate and treasury bonds for >>>> different conventions (e.g. frequency, accrual, etc). >>>> >>>> Could you please help? >>>> >>>> Thanks, >>>> >>>> Michael >>>> >>> _______________________________________________ >>> QuantLib-users mailing list >>> Qua...@li... >>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>> >> |
|
From: Luigi B. <lui...@gm...> - 2023-07-04 15:10:47
|
Hello everybody,
I just published sources for a release candidate for 1.31 at <
https://github.com/lballabio/QuantLib/releases/tag/1.31rc>. If you have
some time, or if you are a well-known Debian maintainer, please try them
out this week or the next and report any problems here. Thanks!
Luigi
|
|
From: Luigi B. <lui...@gm...> - 2023-07-04 15:06:30
|
Hello Michael,
you're in the right place, but the docs (at
https://www.quantlib.org/docs.shtml) are somewhat sparse so I'm not sure
that I can point you to a specific example of the bond calculations
you want. You might try starting from the code in our test suite (
https://github.com/lballabio/QuantLib/blob/QuantLib-v1.30/test-suite/bonds.cpp)
and come back here for clarifications.
Hope this helps,
Luigi
On Tue, Jun 27, 2023 at 9:06 PM Michael (DataDriven portal) <
mi...@da...> wrote:
> Hi All,
>>
>> I am looking for a Python library to calculate yield to maturity,
>> duration, convexity and other measures for corporate and treasury bonds for
>> different conventions (e.g. frequency, accrual, etc).
>>
>> Could you please help?
>>
>> Thanks,
>>
>> Michael
>>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Michael (D. portal) <mi...@da...> - 2023-06-27 19:02:50
|
> > Hi All, > > I am looking for a Python library to calculate yield to maturity, > duration, convexity and other measures for corporate and treasury bonds for > different conventions (e.g. frequency, accrual, etc). > > Could you please help? > > Thanks, > > Michael > |
|
From: Ouyang L. <ouy...@ou...> - 2023-06-26 07:25:16
|
Hi all, Is there any simple way to calibrate q termstructure from b and r? Or if it’s possible to create a GBM process using b termstructure and r termstructure directly? Thx in advance. |
|
From: Roland L. <rol...@ac...> - 2023-06-22 10:24:56
|
Dear all, The 10th ORE release is out on https://github.com/OpenSourceRisk As announced, we have rolled out a range of hybrid products this time: * Composite trades * Collateralized Bond Obligations * Generic Total Return Swaps and Contracts For Difference (CFDs) accepting almost arbitrary underlying baskets * Convertible Bonds and Asset Swapped Convertible Option Transactions (ASCOTs) Moreover, we added to the analytics scope: * ISDA's Standard Initial Margin Model (SIMM) with all versions from inception to the most recent * a proof-of-concept Credit Portfolio Model to construct portfolio loss distributions due to credit migration, credit default and market moves across cash products and derivatives See the release notes in https://github.com/OpenSourceRisk/Engine/blob/v1.8.10.0/News.txt or in the userguide.pdf at https://github.com/OpenSourceRisk/Engine/releases/tag/v1.8.10.0 for references to the related examples. And finally, the ORE Python module has been updated and can be installed with pip install open-source-risk-engine Please explore, all feedback is welcome! Best wishes, Roland Roland Lichters Quantitative Services [Logo Description automatically generated] Maurenbrecherstrasse 16, 47803 Krefeld, Deutschland office +49 2151 9284800 mobile +49 172 9985795 rol...@ac...<mailto:rol...@ac...> acadia.inc<https://acadia.inc/> [signature_2811593998]<https://www.youtube.com/channel/UCsMyFt94Jyfwo-ecLBpy5xw>[signature_1151196288]<https://twitter.com/AcadiaSoft_>[signature_3977098555]<https://www.linkedin.com/company/acadiasoft-inc> The information contained in this e-mail, and any attachment, is confidential and is intended solely for the use of the intended recipient. Access, copying or re-use of the e-mail or any attachment, or any information contained therein, by any other person is not authorized. If you are not the intended recipient please return the e-mail to the sender and delete it from your computer. The acadia.inc privacy policy is available on our website. |
|
From: Peter C. <pca...@gm...> - 2023-06-21 16:59:34
|
Hi Jörg, thank you. This is interesting! A basic concern I have with the approach is the risk of slowing down computations unnecessarily for which you don't need the AD instrumentation. I tested this by building QuantLib from the current master (1.31-dev) with and without XAD and running the test suites. This is what I observe on my mac book pro which has an intel i9 processor: - a slowdown of around 2x averaging over all unit test cases - a slowdown of around 3x for the quantlib-benchmark cases - a slowdown of up to 10x for single test cases, e.g. MarketModelTest__testPathwiseGreeks (10.5x) or testRandomizedLattices (7x) I think this is expected and it was also discussed on this list before, when Compatibl suggested a similar approach. I still wanted to ask whether you see possibilities to address this issue for practical use cases? The clean solution is obviously to use templated functions and instantiate them with double or the ad-type as needed. You can also try and run the computations in two versions of the library. Neither seems easy to do / straightforward though. I know this question has little to do with your tool as such! Thank you Peter On Tue, 30 May 2023 at 12:39, Jorg Lotze <jor...@xc...> wrote: > > Hello all, > > As of QuantLib 1.28 (October 2022), Automatic Differentiation (AD) can be enabled in QuantLib using the open-source XAD AD tool and an XAD/QuantLib integration module. QuantLib's AD-compatibility is actively maintained via automated CI/CD checks, running daily against QuantLib's master branch. > > Below are performance results for a set of examples using QuantLib, showing the cost of AD compared to the matching plain pricing valuation (no AD) for an arbitrary number of sensitivities. Those results are reproducible and the code used is publicly available. > > The results show the time taken by the AD enabled version of QuantLib vs. the time taken for a plain (double) valuation is between a factor of 1.4 and 2.8. This means one can get arbitrary numbers of sensitivities in less than 2.8x the time taken by a plain valuation. We've included details for the benchmark configuration at the end of this email. > > Equity Option Portfolio (98 sensitivities) > - Valuation run: 2.83 ms > - AAD run: 7.00 ms (2.47 X) > > Barrier Option Replication (13 sensitivities) > - Valuation run: 1.48 ms > - AAD run: 4.16 ms (2.81 X) > > Swap Portfolio (55 sensitivities) > - Valuation run: 26.05 ms > - AAD run: 36.28 ms (1.39 X) > > Multicurve Bootstrapping (65 sensitivities) > - Valuation run: 192.11 ms > - AAD run: 299.63 ms (1.56 X) > > More details here: https://auto-differentiation.github.io/quantlib/#benchmarks > > Cheers, > Jorg > > Benchmark configuration: > - QuantLib version: 1.30 > - XAD version: 1.2.0 > - OS: Windows Server 2022 Datacenter > - Compiler: Visual Studio 2022, 17.6.1 > - RAM: 64GB > - CPU: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Alex P. <ste...@gm...> - 2023-06-16 17:28:40
|
Hi, Quick question on QuantLib: Is it possible to calibrate the (short end of the) yield curve using Fed Fund Futures? If yes, are there any code example available? Thank you very much! S. A. Popovici |
|
From: Valerio S. <val...@gm...> - 2023-06-14 17:16:37
|
Hi, I am using QuantLib Python and I would like to price a FloatFloatSwaption using the Hull-White 1 factor model with a Finite Different engine. However, when I call the .NPV() method, it raises an error. After some research, it appears to me than it is not possible to price a FloatFloatSwaption with HW1F model and a FD engine. Is it my understanding correct or am I missing something? What are the possible ways to price such an instrument with the HW1F-like model other than the GSR model and the Gaussian1dFloatFloatSwaptionEngine? Best regards, Valerio |
|
From: Jonathan S. <sw...@gm...> - 2023-06-01 11:00:07
|
Hi Tobias, I'm adding back the list in case other users encounter a similar issue. I've not seen "cannot find "/opt/tmp/QuantLib-1.30/build/ql/quantlib.hpp"" before, but it's possible that it's related to this issue: https://github.com/lballabio/QuantLib/issues/1675 You might want to try one of the fixes linked in that issue and see if it resolves your issue as well. On Thu, Jun 1, 2023 at 7:11 PM Tobias Jones <tob...@us...> wrote: > Hi Jonathan, > > > Thank you for your reply. One possibility is that the gentoo use flags > which were used to compile gcc and boost on this machine do not meet the > requirements to build quantlib. > > > The commands used are as follows: > > > # tar -xvf QuantLib-1.30.tar.gz > > # cd /opt/tmp/QuantLib-1.30/build > > # cmake .. -G "Unix Makefiles" -D CMAKE_BUILD_TYPE=Release > > # cmake .. -DCMAKE_INSTALL_PREFIX=/opt/QuantLib-1.3.0/ > > # make -j4 install > /opt/make.log 2>&1 > > > The output of the build is: > > -- The CXX compiler identification is GNU 12.2.1 > > -- Detecting CXX compiler ABI info > > -- Detecting CXX compiler ABI info - done > > -- Check for working CXX compiler: /usr/bin/c++ - skipped > > -- Detecting CXX compile features > > -- Detecting CXX compile features - done > > -- Found Boost: /usr/lib64/cmake/Boost-1.81.0/BoostConfig.cmake (found > suitable version "1.81.0", minimum required is "1.58.0") > > -- Configuring done (0.7s) > > -- Generating done (0.3s) > > -- Build files have been written to: /opt/tmp/QuantLib-1.30/build > > > The output of the make install is posted on dpaste here > https://dpaste.com/3EJ3TSHTU > > > Thanks. > > TJ > > > > > On Tuesday, May 30, 2023 10:02 PM, Jonathan Sweemer <sw...@gm...> > wrote: > > Hi TJ, > > Could you share your full command history starting from when you > downloaded the release artifacts, as well as the full CMake build output? > > It’s a bit hard to say what the root cause is based on the short snippet > below. > > 2023년 5월 30일 (화) 22:16, Tobias Jones via QuantLib-users < > qua...@li...>님이 작성: > > Hello, > > > May anyone know what could have caused the error below? The error occurred > during make install on Gentoo Linux. > > > Thanks > > > TJ > > > -- Installing: /opt/QuantLib-1.30/include/ql/utilities/vectors.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/version.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/volatilitymodel.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/config.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/qldefines.hpp > > CMake Error at ql/cmake_install.cmake:5227 (file): > > file INSTALL cannot find "/opt/tmp/QuantLib-1.30/build/ql/quantlib.hpp": > No > > such file or directory. > > Call Stack (most recent call first): > > cmake_install.cmake:47 (include) > > > > make: *** [Makefile:130: install] Error 1 > > > > > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > > > |
|
From: Jorg L. <jo...@xc...> - 2023-05-31 10:25:05
|
Hello all, As of QuantLib 1.28 (October 2022), Automatic Differentiation (AD) can be enabled in QuantLib using the open-source XAD AD tool and an XAD/QuantLib integration module. QuantLib's AD-compatibility is actively maintained via automated CI/CD checks, running daily against QuantLib's master branch. Below are performance results for a set of examples using QuantLib, showing the cost of AD compared to the matching plain pricing valuation (no AD) for an arbitrary number of sensitivities. Those results are reproducible and the code used is publicly available. The results show the time taken by the AD enabled version of QuantLib vs. the time taken for a plain valuation is between a factor of 1.4 and 2.8. This means one can get arbitrary numbers of sensitivities in less than 2.8x the time taken by a plain valuation. Details of the benchmark configuration are included at the end of this email. Equity Option Portfolio (98 sensitivities) - Valuation run: 2.83 ms - AAD run: 7.00 ms (2.47 X) Barrier Option Replication (13 sensitivities) - Valuation run: 1.48 ms - AAD run: 4.16 ms (2.81 X) Swap Portfolio (55 sensitivities) - Valuation run: 26.05 ms - AAD run: 36.28 ms (1.39 X) Multicurve Bootstrapping (65 sensitivities) - Valuation run: 192.11 ms - AAD run: 299.63 ms (1.56 X) More details here: https://auto-differentiation.github.io/quantlib/ Cheers, Jorg Benchmark configuration: - QuantLib version: 1.30 - XAD version: 1.2.0 - OS: Windows Server 2022 Datacenter - Compiler: Visual Studio 2022, 17.6.1 - RAM: 64GB - CPU: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz |
|
From: Jonathan S. <sw...@gm...> - 2023-05-30 21:02:27
|
Hi TJ, Could you share your full command history starting from when you downloaded the release artifacts, as well as the full CMake build output? It’s a bit hard to say what the root cause is based on the short snippet below. 2023년 5월 30일 (화) 22:16, Tobias Jones via QuantLib-users < qua...@li...>님이 작성: > Hello, > > > May anyone know what could have caused the error below? The error occurred > during make install on Gentoo Linux. > > > Thanks > > > TJ > > > -- Installing: /opt/QuantLib-1.30/include/ql/utilities/vectors.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/version.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/volatilitymodel.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/config.hpp > > -- Installing: /opt/QuantLib-1.30/include/ql/qldefines.hpp > > CMake Error at ql/cmake_install.cmake:5227 (file): > > file INSTALL cannot find "/opt/tmp/QuantLib-1.30/build/ql/quantlib.hpp": > No > > such file or directory. > > Call Stack (most recent call first): > > cmake_install.cmake:47 (include) > > > > make: *** [Makefile:130: install] Error 1 > > > > > > _______________________________________________ > QuantLib-users mailing list > Qua...@li... > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
|
From: Tobias J. <tob...@us...> - 2023-05-30 13:12:57
|
Hello, May anyone know what could have caused the error below? The error occurred during make install on Gentoo Linux. Thanks TJ \-- Installing: /opt/QuantLib-1.30/include/ql/utilities/vectors.hpp \-- Installing: /opt/QuantLib-1.30/include/ql/version.hpp \-- Installing: /opt/QuantLib-1.30/include/ql/volatilitymodel.hpp \-- Installing: /opt/QuantLib-1.30/include/ql/config.hpp \-- Installing: /opt/QuantLib-1.30/include/ql/qldefines.hpp CMake Error at ql/cmake_install.cmake:5227 (file): file INSTALL cannot find "/opt/tmp/QuantLib-1.30/build/ql/quantlib.hpp": No such file or directory. Call Stack (most recent call first): cmake_install.cmake:47 (include) make: *** [Makefile:130: install] Error 1 |
|
From: Jorg L. <jor...@xc...> - 2023-05-30 10:38:19
|
Hello all, As of QuantLib 1.28 (October 2022), Automatic Differentiation (AD) can be enabled in QuantLib using the open-source XAD AD tool and an XAD/QuantLib integration module. QuantLib's AD-compatibility is actively maintained via automated CI/CD checks, running daily against QuantLib's master branch. Below are performance results for a set of examples using QuantLib, showing the cost of AD compared to the matching plain pricing valuation (no AD) for an arbitrary number of sensitivities. Those results are reproducible and the code used is publicly available. The results show the time taken by the AD enabled version of QuantLib vs. the time taken for a plain (double) valuation is between a factor of 1.4 and 2.8. This means one can get arbitrary numbers of sensitivities in less than 2.8x the time taken by a plain valuation. We've included details for the benchmark configuration at the end of this email. Equity Option Portfolio (98 sensitivities) - Valuation run: 2.83 ms - AAD run: 7.00 ms (2.47 X) Barrier Option Replication (13 sensitivities) - Valuation run: 1.48 ms - AAD run: 4.16 ms (2.81 X) Swap Portfolio (55 sensitivities) - Valuation run: 26.05 ms - AAD run: 36.28 ms (1.39 X) Multicurve Bootstrapping (65 sensitivities) - Valuation run: 192.11 ms - AAD run: 299.63 ms (1.56 X) More details here: https://auto-differentiation.github.io/quantlib/#benchmarks Cheers, Jorg Benchmark configuration: - QuantLib version: 1.30 - XAD version: 1.2.0 - OS: Windows Server 2022 Datacenter - Compiler: Visual Studio 2022, 17.6.1 - RAM: 64GB - CPU: Intel(R) Xeon(R) Platinum 8375C CPU @ 2.90GHz |
|
From: Luigi B. <lui...@gm...> - 2023-05-26 13:17:28
|
Hello,
is this the latest master? As of
https://github.com/lballabio/QuantLib/pull/1679 (merged 3 days ago) cmake
should also install the quantlib-config binary. May you check that that's
the case? If so, make sure that it's in the path for executables.
Luigi
On Fri, May 26, 2023 at 1:53 PM Marius Räsener <mar...@fi...>
wrote:
> Hey again Luigi,
>
> if I try to install QuantLib-SWIG right away, I run into the following
> (which I guess is expected):
>
> root@75aa7d90173b:/QuantLib-SWIG-1.30# make -C Python
> make: Entering directory '/QuantLib-SWIG-1.30/Python'
> make all-am
> make[1]: Entering directory '/QuantLib-SWIG-1.30/Python'
> CXXFLAGS="-g -O2 -fno-strict-aliasing -Wno-unused -Wno-uninitialized
> -Wno-sign-compare -Wno-write-strings" CC="gcc" CXX="g++"
> /usr/local/bin/python3 setup.py build
> running build
> running build_py
> creating build
> creating build/lib.linux-aarch64-cpython-311
> creating build/lib.linux-aarch64-cpython-311/QuantLib
> copying QuantLib/__init__.py ->
> build/lib.linux-aarch64-cpython-311/QuantLib
> copying QuantLib/QuantLib.py ->
> build/lib.linux-aarch64-cpython-311/QuantLib
> running build_ext
> /bin/sh: 1: quantlib-config: not found
> /bin/sh: 1: quantlib-config: not found
> building 'QuantLib._QuantLib' extension
> creating build/temp.linux-aarch64-cpython-311
> creating build/temp.linux-aarch64-cpython-311/QuantLib
> gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNDEBUG
> -I/usr/local/include/python3.11 -c QuantLib/quantlib_wrap.cpp -o
> build/temp.linux-aarch64-cpython-311/QuantLib/quantlib_wrap.o -Wno-unused
> -g -O2 -fno-strict-aliasing -Wno-unused -Wno-uninitialized
> -Wno-sign-compare -Wno-write-strings
> QuantLib/quantlib_wrap.cpp:5231:10: fatal error: ql/version.hpp: No such
> file or directory
> 5231 | #include <ql/version.hpp>
> | ^~~~~~~~~~~~~~~~
> compilation terminated.
> error: command '/usr/bin/gcc' failed with exit code 1
> make[1]: *** [Makefile:443: .build-stamp] Error 1
> make[1]: Leaving directory '/QuantLib-SWIG-1.30/Python'
> make: *** [Makefile:232: all] Error 2
> make: Leaving directory '/QuantLib-SWIG-1.30/Python'
> root@75aa7d90173b:/QuantLib-SWIG-1.30#
>
> Then, I install QuantLib itself again from master branch:
>
> 8 git clone https://github.com/lballabio/QuantLib.git
> 9 apt-get install git
> 10 git clone https://github.com/lballabio/QuantLib.git
> 11 cd QuantLib
> 12 mkdir build
> 13 cd build/
> 14 cmake -G Ninja -D CMAKE_BUILD_TYPE=Release
> 15 cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
> 16 ninja
> 17 ninja install
> 18 cd test-suite/
> 19 ls
> 20 ./quantlib-test-suite
>
> Tests completed in 7 m 58 s
> *** 52 failures are detected in the test module "Master Test Suite“
>
> From the tests I got the following error a couple times. it even seems
> like that’s the only unique error message I get.
> ../test-suite/functions.cpp(282): error: in "QuantLib test suite/Factorial
> tests/QuantLib__detail__quantlib_test_case(&FunctionsTest__testWeightedModifiedBesselFunctions)":
> failed to verify exponentially weightedmodified Bessel function of second
> kind
> order : 3.5
> argument : 5
> calculated : (-3.846e-05,-2.51939e-05)
> expected : (-3.846e-05,-2.51939e-05)
> difference : (0,1.08996e-17)
>
> I now tried SWIG-1.30 again with configure and make -C Python | tee
> make_c_python_output.txt
>
> see txt file as attachment (just too long for any reasonable pasting)
>
> greetings,
> Marius
>
> Am 26.05.2023 um 12:57 schrieb Luigi Ballabio <lui...@gm...>:
>
> You don't often get email from lui...@gm.... Learn why this
> is important <https://aka.ms/LearnAboutSenderIdentification>
> Hello Marius,
> no worries — there are many of us here that don't speak English as a
> first language :)
>
> I confirm we don't have wheels for that architecture—I'll try to see if I
> can manage those by cross-compiling, but it might take some experimenting.
>
> What error do you get when you try the QuantLib-SWIG-1.30 release?
>
> Luigi
>
>
>
> On Thu, May 25, 2023 at 9:34 AM Marius Räsener <mar...@fi...>
> wrote:
>
> Good morning Jonathan, Cay and Luigi,
>
> first of all, thx for your answers.
>
> It seems that I probably made a mistake in formulating my question - I
> intended to be friendly and patient. the phrase with „finally“ running
> Python wasn’t meant to be rude, just from a logical point of view, that
> this is my goal. like in „try except finally“.
>
> simple installation with `pip install QuantLib` failed for me and was the
> actual reason why I digged deeper and tried to compile things myself.
>
> I can confirm though, that `pip install QuantLib` works on macOS itself
> (in a Python 3.11 venv) and also works with the python:slim image (also
> Py3.11) on a Docker host with amd64 architecture.
>
> As of ninja vs. make - I just gave ninja a try because make took 45
> minutes for me and with ninja compilation time goes down to below 5 mins
> for me. I’m not a C or C++ developer myself so I’m not familiar with the
> toolchain.
>
> So, I tried to compile (with ninja again) from master branch and it „just
> worked“ :) - then I’ve tried QuantLib-SWIG-1.30 (from the release tar) but
> it failed to install and also I’ve tried QuantLib-SWIG from master branch
> which seems to miss the ./configure executable.
>
> I now paste the output as Luigi requested.
>
> root@efb3d345bd04:/# pip install QuantLib
> ERROR: Could not find a version that satisfies the requirement QuantLib
> (from versions: none)
> ERROR: No matching distribution found for QuantLib
> root@efb3d345bd04:/# pip debug --verbose
> WARNING: This command is only meant for debugging. Do not use this with
> automation for parsing and getting these details, since the output and
> options of this command may change without notice.
> pip version: pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip
> (python 3.11)
> sys.version: 3.11.3 (main, May 23 2023, 08:54:51) [GCC 10.2.1 20210110]
> sys.executable: /usr/local/bin/python
> sys.getdefaultencoding: utf-8
> sys.getfilesystemencoding: utf-8
> locale.getpreferredencoding: UTF-8
> sys.platform: linux
> sys.implementation:
> name: cpython
> 'cert' config value: Not specified
> REQUESTS_CA_BUNDLE: None
> CURL_CA_BUNDLE: None
> pip._vendor.certifi.where():
> /usr/local/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem
> pip._vendor.DEBUNDLED: False
> vendored library versions:
> CacheControl==0.12.11
> colorama==0.4.6
> distlib==0.3.6
> distro==1.8.0
> msgpack==1.0.5
> packaging==21.3
> platformdirs==3.2.0
> pyparsing==3.0.9
> pyproject-hooks==1.0.0
> requests==2.28.2
> certifi==2022.12.07
> chardet==5.1.0
> idna==3.4
> urllib3==1.26.15
> rich==13.3.3 (Unable to locate actual module version, using vendor.txt
> specified version)
> pygments==2.14.0
> typing_extensions==4.5.0 (Unable to locate actual module version, using
> vendor.txt specified version)
> resolvelib==1.0.1
> setuptools==67.7.2 (Unable to locate actual module version, using
> vendor.txt specified version)
> six==1.16.0
> tenacity==8.2.2 (Unable to locate actual module version, using
> vendor.txt specified version)
> tomli==2.0.1
> webencodings==0.5.1 (Unable to locate actual module version, using
> vendor.txt specified version)
> Compatible tags: 439
> cp311-cp311-manylinux_2_31_aarch64
> cp311-cp311-manylinux_2_30_aarch64
> cp311-cp311-manylinux_2_29_aarch64
> cp311-cp311-manylinux_2_28_aarch64
> cp311-cp311-manylinux_2_27_aarch64
> cp311-cp311-manylinux_2_26_aarch64
> cp311-cp311-manylinux_2_25_aarch64
> cp311-cp311-manylinux_2_24_aarch64
> cp311-cp311-manylinux_2_23_aarch64
> cp311-cp311-manylinux_2_22_aarch64
> cp311-cp311-manylinux_2_21_aarch64
> cp311-cp311-manylinux_2_20_aarch64
> cp311-cp311-manylinux_2_19_aarch64
> cp311-cp311-manylinux_2_18_aarch64
> cp311-cp311-manylinux_2_17_aarch64
> cp311-cp311-manylinux2014_aarch64
> cp311-cp311-linux_aarch64
> cp311-abi3-manylinux_2_31_aarch64
> cp311-abi3-manylinux_2_30_aarch64
> cp311-abi3-manylinux_2_29_aarch64
> cp311-abi3-manylinux_2_28_aarch64
> cp311-abi3-manylinux_2_27_aarch64
> cp311-abi3-manylinux_2_26_aarch64
> cp311-abi3-manylinux_2_25_aarch64
> cp311-abi3-manylinux_2_24_aarch64
> cp311-abi3-manylinux_2_23_aarch64
> cp311-abi3-manylinux_2_22_aarch64
> cp311-abi3-manylinux_2_21_aarch64
> cp311-abi3-manylinux_2_20_aarch64
> cp311-abi3-manylinux_2_19_aarch64
> cp311-abi3-manylinux_2_18_aarch64
> cp311-abi3-manylinux_2_17_aarch64
> cp311-abi3-manylinux2014_aarch64
> cp311-abi3-linux_aarch64
> cp311-none-manylinux_2_31_aarch64
> cp311-none-manylinux_2_30_aarch64
> cp311-none-manylinux_2_29_aarch64
> cp311-none-manylinux_2_28_aarch64
> cp311-none-manylinux_2_27_aarch64
> cp311-none-manylinux_2_26_aarch64
> cp311-none-manylinux_2_25_aarch64
> cp311-none-manylinux_2_24_aarch64
> cp311-none-manylinux_2_23_aarch64
> cp311-none-manylinux_2_22_aarch64
> cp311-none-manylinux_2_21_aarch64
> cp311-none-manylinux_2_20_aarch64
> cp311-none-manylinux_2_19_aarch64
> cp311-none-manylinux_2_18_aarch64
> cp311-none-manylinux_2_17_aarch64
> cp311-none-manylinux2014_aarch64
> cp311-none-linux_aarch64
> cp310-abi3-manylinux_2_31_aarch64
> cp310-abi3-manylinux_2_30_aarch64
> cp310-abi3-manylinux_2_29_aarch64
> cp310-abi3-manylinux_2_28_aarch64
> cp310-abi3-manylinux_2_27_aarch64
> cp310-abi3-manylinux_2_26_aarch64
> cp310-abi3-manylinux_2_25_aarch64
> cp310-abi3-manylinux_2_24_aarch64
> cp310-abi3-manylinux_2_23_aarch64
> cp310-abi3-manylinux_2_22_aarch64
> cp310-abi3-manylinux_2_21_aarch64
> cp310-abi3-manylinux_2_20_aarch64
> cp310-abi3-manylinux_2_19_aarch64
> cp310-abi3-manylinux_2_18_aarch64
> cp310-abi3-manylinux_2_17_aarch64
> cp310-abi3-manylinux2014_aarch64
> cp310-abi3-linux_aarch64
> cp39-abi3-manylinux_2_31_aarch64
> cp39-abi3-manylinux_2_30_aarch64
> cp39-abi3-manylinux_2_29_aarch64
> cp39-abi3-manylinux_2_28_aarch64
> cp39-abi3-manylinux_2_27_aarch64
> cp39-abi3-manylinux_2_26_aarch64
> cp39-abi3-manylinux_2_25_aarch64
> cp39-abi3-manylinux_2_24_aarch64
> cp39-abi3-manylinux_2_23_aarch64
> cp39-abi3-manylinux_2_22_aarch64
> cp39-abi3-manylinux_2_21_aarch64
> cp39-abi3-manylinux_2_20_aarch64
> cp39-abi3-manylinux_2_19_aarch64
> cp39-abi3-manylinux_2_18_aarch64
> cp39-abi3-manylinux_2_17_aarch64
> cp39-abi3-manylinux2014_aarch64
> cp39-abi3-linux_aarch64
> cp38-abi3-manylinux_2_31_aarch64
> cp38-abi3-manylinux_2_30_aarch64
> cp38-abi3-manylinux_2_29_aarch64
> cp38-abi3-manylinux_2_28_aarch64
> cp38-abi3-manylinux_2_27_aarch64
> cp38-abi3-manylinux_2_26_aarch64
> cp38-abi3-manylinux_2_25_aarch64
> cp38-abi3-manylinux_2_24_aarch64
> cp38-abi3-manylinux_2_23_aarch64
> cp38-abi3-manylinux_2_22_aarch64
> cp38-abi3-manylinux_2_21_aarch64
> cp38-abi3-manylinux_2_20_aarch64
> cp38-abi3-manylinux_2_19_aarch64
> cp38-abi3-manylinux_2_18_aarch64
> cp38-abi3-manylinux_2_17_aarch64
> cp38-abi3-manylinux2014_aarch64
> cp38-abi3-linux_aarch64
> cp37-abi3-manylinux_2_31_aarch64
> cp37-abi3-manylinux_2_30_aarch64
> cp37-abi3-manylinux_2_29_aarch64
> cp37-abi3-manylinux_2_28_aarch64
> cp37-abi3-manylinux_2_27_aarch64
> cp37-abi3-manylinux_2_26_aarch64
> cp37-abi3-manylinux_2_25_aarch64
> cp37-abi3-manylinux_2_24_aarch64
> cp37-abi3-manylinux_2_23_aarch64
> cp37-abi3-manylinux_2_22_aarch64
> cp37-abi3-manylinux_2_21_aarch64
> cp37-abi3-manylinux_2_20_aarch64
> cp37-abi3-manylinux_2_19_aarch64
> cp37-abi3-manylinux_2_18_aarch64
> cp37-abi3-manylinux_2_17_aarch64
> cp37-abi3-manylinux2014_aarch64
> cp37-abi3-linux_aarch64
> cp36-abi3-manylinux_2_31_aarch64
> cp36-abi3-manylinux_2_30_aarch64
> cp36-abi3-manylinux_2_29_aarch64
> cp36-abi3-manylinux_2_28_aarch64
> cp36-abi3-manylinux_2_27_aarch64
> cp36-abi3-manylinux_2_26_aarch64
> cp36-abi3-manylinux_2_25_aarch64
> cp36-abi3-manylinux_2_24_aarch64
> cp36-abi3-manylinux_2_23_aarch64
> cp36-abi3-manylinux_2_22_aarch64
> cp36-abi3-manylinux_2_21_aarch64
> cp36-abi3-manylinux_2_20_aarch64
> cp36-abi3-manylinux_2_19_aarch64
> cp36-abi3-manylinux_2_18_aarch64
> cp36-abi3-manylinux_2_17_aarch64
> cp36-abi3-manylinux2014_aarch64
> cp36-abi3-linux_aarch64
> cp35-abi3-manylinux_2_31_aarch64
> cp35-abi3-manylinux_2_30_aarch64
> cp35-abi3-manylinux_2_29_aarch64
> cp35-abi3-manylinux_2_28_aarch64
> cp35-abi3-manylinux_2_27_aarch64
> cp35-abi3-manylinux_2_26_aarch64
> cp35-abi3-manylinux_2_25_aarch64
> cp35-abi3-manylinux_2_24_aarch64
> cp35-abi3-manylinux_2_23_aarch64
> cp35-abi3-manylinux_2_22_aarch64
> cp35-abi3-manylinux_2_21_aarch64
> cp35-abi3-manylinux_2_20_aarch64
> cp35-abi3-manylinux_2_19_aarch64
> cp35-abi3-manylinux_2_18_aarch64
> cp35-abi3-manylinux_2_17_aarch64
> cp35-abi3-manylinux2014_aarch64
> cp35-abi3-linux_aarch64
> cp34-abi3-manylinux_2_31_aarch64
> cp34-abi3-manylinux_2_30_aarch64
> cp34-abi3-manylinux_2_29_aarch64
> cp34-abi3-manylinux_2_28_aarch64
> cp34-abi3-manylinux_2_27_aarch64
> cp34-abi3-manylinux_2_26_aarch64
> cp34-abi3-manylinux_2_25_aarch64
> cp34-abi3-manylinux_2_24_aarch64
> cp34-abi3-manylinux_2_23_aarch64
> cp34-abi3-manylinux_2_22_aarch64
> cp34-abi3-manylinux_2_21_aarch64
> cp34-abi3-manylinux_2_20_aarch64
> cp34-abi3-manylinux_2_19_aarch64
> cp34-abi3-manylinux_2_18_aarch64
> cp34-abi3-manylinux_2_17_aarch64
> cp34-abi3-manylinux2014_aarch64
> cp34-abi3-linux_aarch64
> cp33-abi3-manylinux_2_31_aarch64
> cp33-abi3-manylinux_2_30_aarch64
> cp33-abi3-manylinux_2_29_aarch64
> cp33-abi3-manylinux_2_28_aarch64
> cp33-abi3-manylinux_2_27_aarch64
> cp33-abi3-manylinux_2_26_aarch64
> cp33-abi3-manylinux_2_25_aarch64
> cp33-abi3-manylinux_2_24_aarch64
> cp33-abi3-manylinux_2_23_aarch64
> cp33-abi3-manylinux_2_22_aarch64
> cp33-abi3-manylinux_2_21_aarch64
> cp33-abi3-manylinux_2_20_aarch64
> cp33-abi3-manylinux_2_19_aarch64
> cp33-abi3-manylinux_2_18_aarch64
> cp33-abi3-manylinux_2_17_aarch64
> cp33-abi3-manylinux2014_aarch64
> cp33-abi3-linux_aarch64
> cp32-abi3-manylinux_2_31_aarch64
> cp32-abi3-manylinux_2_30_aarch64
> cp32-abi3-manylinux_2_29_aarch64
> cp32-abi3-manylinux_2_28_aarch64
> cp32-abi3-manylinux_2_27_aarch64
> cp32-abi3-manylinux_2_26_aarch64
> cp32-abi3-manylinux_2_25_aarch64
> cp32-abi3-manylinux_2_24_aarch64
> cp32-abi3-manylinux_2_23_aarch64
> cp32-abi3-manylinux_2_22_aarch64
> cp32-abi3-manylinux_2_21_aarch64
> cp32-abi3-manylinux_2_20_aarch64
> cp32-abi3-manylinux_2_19_aarch64
> cp32-abi3-manylinux_2_18_aarch64
> cp32-abi3-manylinux_2_17_aarch64
> cp32-abi3-manylinux2014_aarch64
> cp32-abi3-linux_aarch64
> py311-none-manylinux_2_31_aarch64
> py311-none-manylinux_2_30_aarch64
> py311-none-manylinux_2_29_aarch64
> py311-none-manylinux_2_28_aarch64
> py311-none-manylinux_2_27_aarch64
> py311-none-manylinux_2_26_aarch64
> py311-none-manylinux_2_25_aarch64
> py311-none-manylinux_2_24_aarch64
> py311-none-manylinux_2_23_aarch64
> py311-none-manylinux_2_22_aarch64
> py311-none-manylinux_2_21_aarch64
> py311-none-manylinux_2_20_aarch64
> py311-none-manylinux_2_19_aarch64
> py311-none-manylinux_2_18_aarch64
> py311-none-manylinux_2_17_aarch64
> py311-none-manylinux2014_aarch64
> py311-none-linux_aarch64
> py3-none-manylinux_2_31_aarch64
> py3-none-manylinux_2_30_aarch64
> py3-none-manylinux_2_29_aarch64
> py3-none-manylinux_2_28_aarch64
> py3-none-manylinux_2_27_aarch64
> py3-none-manylinux_2_26_aarch64
> py3-none-manylinux_2_25_aarch64
> py3-none-manylinux_2_24_aarch64
> py3-none-manylinux_2_23_aarch64
> py3-none-manylinux_2_22_aarch64
> py3-none-manylinux_2_21_aarch64
> py3-none-manylinux_2_20_aarch64
> py3-none-manylinux_2_19_aarch64
> py3-none-manylinux_2_18_aarch64
> py3-none-manylinux_2_17_aarch64
> py3-none-manylinux2014_aarch64
> py3-none-linux_aarch64
> py310-none-manylinux_2_31_aarch64
> py310-none-manylinux_2_30_aarch64
> py310-none-manylinux_2_29_aarch64
> py310-none-manylinux_2_28_aarch64
> py310-none-manylinux_2_27_aarch64
> py310-none-manylinux_2_26_aarch64
> py310-none-manylinux_2_25_aarch64
> py310-none-manylinux_2_24_aarch64
> py310-none-manylinux_2_23_aarch64
> py310-none-manylinux_2_22_aarch64
> py310-none-manylinux_2_21_aarch64
> py310-none-manylinux_2_20_aarch64
> py310-none-manylinux_2_19_aarch64
> py310-none-manylinux_2_18_aarch64
> py310-none-manylinux_2_17_aarch64
> py310-none-manylinux2014_aarch64
> py310-none-linux_aarch64
> py39-none-manylinux_2_31_aarch64
> py39-none-manylinux_2_30_aarch64
> py39-none-manylinux_2_29_aarch64
> py39-none-manylinux_2_28_aarch64
> py39-none-manylinux_2_27_aarch64
> py39-none-manylinux_2_26_aarch64
> py39-none-manylinux_2_25_aarch64
> py39-none-manylinux_2_24_aarch64
> py39-none-manylinux_2_23_aarch64
> py39-none-manylinux_2_22_aarch64
> py39-none-manylinux_2_21_aarch64
> py39-none-manylinux_2_20_aarch64
> py39-none-manylinux_2_19_aarch64
> py39-none-manylinux_2_18_aarch64
> py39-none-manylinux_2_17_aarch64
> py39-none-manylinux2014_aarch64
> py39-none-linux_aarch64
> py38-none-manylinux_2_31_aarch64
> py38-none-manylinux_2_30_aarch64
> py38-none-manylinux_2_29_aarch64
> py38-none-manylinux_2_28_aarch64
> py38-none-manylinux_2_27_aarch64
> py38-none-manylinux_2_26_aarch64
> py38-none-manylinux_2_25_aarch64
> py38-none-manylinux_2_24_aarch64
> py38-none-manylinux_2_23_aarch64
> py38-none-manylinux_2_22_aarch64
> py38-none-manylinux_2_21_aarch64
> py38-none-manylinux_2_20_aarch64
> py38-none-manylinux_2_19_aarch64
> py38-none-manylinux_2_18_aarch64
> py38-none-manylinux_2_17_aarch64
> py38-none-manylinux2014_aarch64
> py38-none-linux_aarch64
> py37-none-manylinux_2_31_aarch64
> py37-none-manylinux_2_30_aarch64
> py37-none-manylinux_2_29_aarch64
> py37-none-manylinux_2_28_aarch64
> py37-none-manylinux_2_27_aarch64
> py37-none-manylinux_2_26_aarch64
> py37-none-manylinux_2_25_aarch64
> py37-none-manylinux_2_24_aarch64
> py37-none-manylinux_2_23_aarch64
> py37-none-manylinux_2_22_aarch64
> py37-none-manylinux_2_21_aarch64
> py37-none-manylinux_2_20_aarch64
> py37-none-manylinux_2_19_aarch64
> py37-none-manylinux_2_18_aarch64
> py37-none-manylinux_2_17_aarch64
> py37-none-manylinux2014_aarch64
> py37-none-linux_aarch64
> py36-none-manylinux_2_31_aarch64
> py36-none-manylinux_2_30_aarch64
> py36-none-manylinux_2_29_aarch64
> py36-none-manylinux_2_28_aarch64
> py36-none-manylinux_2_27_aarch64
> py36-none-manylinux_2_26_aarch64
> py36-none-manylinux_2_25_aarch64
> py36-none-manylinux_2_24_aarch64
> py36-none-manylinux_2_23_aarch64
> py36-none-manylinux_2_22_aarch64
> py36-none-manylinux_2_21_aarch64
> py36-none-manylinux_2_20_aarch64
> py36-none-manylinux_2_19_aarch64
> py36-none-manylinux_2_18_aarch64
> py36-none-manylinux_2_17_aarch64
> py36-none-manylinux2014_aarch64
> py36-none-linux_aarch64
> py35-none-manylinux_2_31_aarch64
> py35-none-manylinux_2_30_aarch64
> py35-none-manylinux_2_29_aarch64
> py35-none-manylinux_2_28_aarch64
> py35-none-manylinux_2_27_aarch64
> py35-none-manylinux_2_26_aarch64
> py35-none-manylinux_2_25_aarch64
> py35-none-manylinux_2_24_aarch64
> py35-none-manylinux_2_23_aarch64
> py35-none-manylinux_2_22_aarch64
> py35-none-manylinux_2_21_aarch64
> py35-none-manylinux_2_20_aarch64
> py35-none-manylinux_2_19_aarch64
> py35-none-manylinux_2_18_aarch64
> py35-none-manylinux_2_17_aarch64
> py35-none-manylinux2014_aarch64
> py35-none-linux_aarch64
> py34-none-manylinux_2_31_aarch64
> py34-none-manylinux_2_30_aarch64
> py34-none-manylinux_2_29_aarch64
> py34-none-manylinux_2_28_aarch64
> py34-none-manylinux_2_27_aarch64
> py34-none-manylinux_2_26_aarch64
> py34-none-manylinux_2_25_aarch64
> py34-none-manylinux_2_24_aarch64
> py34-none-manylinux_2_23_aarch64
> py34-none-manylinux_2_22_aarch64
> py34-none-manylinux_2_21_aarch64
> py34-none-manylinux_2_20_aarch64
> py34-none-manylinux_2_19_aarch64
> py34-none-manylinux_2_18_aarch64
> py34-none-manylinux_2_17_aarch64
> py34-none-manylinux2014_aarch64
> py34-none-linux_aarch64
> py33-none-manylinux_2_31_aarch64
> py33-none-manylinux_2_30_aarch64
> py33-none-manylinux_2_29_aarch64
> py33-none-manylinux_2_28_aarch64
> py33-none-manylinux_2_27_aarch64
> py33-none-manylinux_2_26_aarch64
> py33-none-manylinux_2_25_aarch64
> py33-none-manylinux_2_24_aarch64
> py33-none-manylinux_2_23_aarch64
> py33-none-manylinux_2_22_aarch64
> py33-none-manylinux_2_21_aarch64
> py33-none-manylinux_2_20_aarch64
> py33-none-manylinux_2_19_aarch64
> py33-none-manylinux_2_18_aarch64
> py33-none-manylinux_2_17_aarch64
> py33-none-manylinux2014_aarch64
> py33-none-linux_aarch64
> py32-none-manylinux_2_31_aarch64
> py32-none-manylinux_2_30_aarch64
> py32-none-manylinux_2_29_aarch64
> py32-none-manylinux_2_28_aarch64
> py32-none-manylinux_2_27_aarch64
> py32-none-manylinux_2_26_aarch64
> py32-none-manylinux_2_25_aarch64
> py32-none-manylinux_2_24_aarch64
> py32-none-manylinux_2_23_aarch64
> py32-none-manylinux_2_22_aarch64
> py32-none-manylinux_2_21_aarch64
> py32-none-manylinux_2_20_aarch64
> py32-none-manylinux_2_19_aarch64
> py32-none-manylinux_2_18_aarch64
> py32-none-manylinux_2_17_aarch64
> py32-none-manylinux2014_aarch64
> py32-none-linux_aarch64
> py31-none-manylinux_2_31_aarch64
> py31-none-manylinux_2_30_aarch64
> py31-none-manylinux_2_29_aarch64
> py31-none-manylinux_2_28_aarch64
> py31-none-manylinux_2_27_aarch64
> py31-none-manylinux_2_26_aarch64
> py31-none-manylinux_2_25_aarch64
> py31-none-manylinux_2_24_aarch64
> py31-none-manylinux_2_23_aarch64
> py31-none-manylinux_2_22_aarch64
> py31-none-manylinux_2_21_aarch64
> py31-none-manylinux_2_20_aarch64
> py31-none-manylinux_2_19_aarch64
> py31-none-manylinux_2_18_aarch64
> py31-none-manylinux_2_17_aarch64
> py31-none-manylinux2014_aarch64
> py31-none-linux_aarch64
> py30-none-manylinux_2_31_aarch64
> py30-none-manylinux_2_30_aarch64
> py30-none-manylinux_2_29_aarch64
> py30-none-manylinux_2_28_aarch64
> py30-none-manylinux_2_27_aarch64
> py30-none-manylinux_2_26_aarch64
> py30-none-manylinux_2_25_aarch64
> py30-none-manylinux_2_24_aarch64
> py30-none-manylinux_2_23_aarch64
> py30-none-manylinux_2_22_aarch64
> py30-none-manylinux_2_21_aarch64
> py30-none-manylinux_2_20_aarch64
> py30-none-manylinux_2_19_aarch64
> py30-none-manylinux_2_18_aarch64
> py30-none-manylinux_2_17_aarch64
> py30-none-manylinux2014_aarch64
> py30-none-linux_aarch64
> cp311-none-any
> py311-none-any
> py3-none-any
> py310-none-any
> py39-none-any
> py38-none-any
> py37-none-any
> py36-none-any
> py35-none-any
> py34-none-any
> py33-none-any
> py32-none-any
> py31-none-any
> py30-none-any
>
> thx again to everybody.
>
> Am 24.05.2023 um 22:39 schrieb Cay Oest <cay...@fr...>:
>
> You don't often get email from cay...@fr.... Learn why this is
> important <https://aka.ms/LearnAboutSenderIdentification>
> CAUTION: This email originated from outside of the organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
> Dear Marius,
>
> Given that you did choose not to
> `pip install ql`
> in dedicated `slim` Python Docker container
> `python:slim`
> for whatever reason, and that you really needed to grab the latest version
> `quantLib 1.30`,
> And really needed to use
> `ninja`
> you should ask the community, I refer to sweemer’s reply.
>
> Otherwise:
> You could just use pip or in that particular weird container
> `apt install quantlib`, which will get you version 1.21. The underlying
> Linux version is `Debian`.
> Well, if 1.21 doesn’t suffice, you should really refrain to git.
> There is no point in insisting on the latest version of QuantLib or
> <random_github_repository> without using git. 😉
>
> Kind regards,
>
> Cay
>
> *From:* Jonathan Sweemer <sw...@gm...>
> *Sent:* Mittwoch, 24. Mai 2023 22:42
> *To:* Marius Räsener <mar...@fi...>
> *Cc:* qua...@li...
> *Subject:* Re: [Quantlib-users] Building and installing QuantLib on
> Docker with aarch64 (Apple silicon)
>
> Hi Marius,
>
> This was reported on GitHub here:
> https://github.com/lballabio/QuantLib/issues/1675
>
> Your options are 1) download from the master branch instead of the 1.30
> tag, 2) manually apply the fix linked in the issue above, or 3) install
> using automake instead of CMake.
>
> 2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi...>님이 작성:
>
> Hey everybody,
>
> I’m trying to get a working docker image to finally run some Python code
> which uses QuantLib.
>
> Dockerfile:
>
> ```
> FROM python:slim
>
> RUN apt-get update \
> && apt-get install -y \
> curl \
> build-essential \
> libboost-all-dev \
> cmake \
> ninja-build
>
> RUN curl -L
> https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz
> --output QuantLib-1.30.tar.gz \
> && tar xzf QuantLib-1.30.tar.gz \
> && rm QuantLib-1.30.tar.gz
> ```
>
> then I just run an instance and continue manually (to run have a faster
> trial and error loop)
>
> docker build --ssh default . -f Dockerfile -t foo
>
> and
>
> docker run -it --rm foo bash
>
> inside the container I do the following:
>
> cd QuantLib-1.30/build
> cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
> ninja
> ninja install
>
> Now, at `ninja install` I run into the following issue, and it seems I
> can’t find anything useful in the internetz.
>
> .
> .
> .
> -- Installing: /usr/local/include/ql/currencies/all.hpp
> -- Installing: /usr/local/include/ql/experimental/all.hpp
> CMake Error at ql/cmake_install.cmake:5243 (file):
> file INSTALL cannot find
> "/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such
> file or directory.
> Call Stack (most recent call first):
> cmake_install.cmake:47 (include)
>
>
> FAILED: CMakeFiles/install.util
> cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake
> ninja: build stopped: subcommand failed.
>
> Can someone point me into the right direction?
>
> Disclaimer: I actually work at this from a ops perspective and I don’t
> really know what QuantLib is doing or any other details about it :)
>
> Thx in advance and have a nice day,
> Marius
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
|
|
From: Marius R. <mar...@fi...> - 2023-05-26 11:53:33
|
Hey again Luigi,
if I try to install QuantLib-SWIG right away, I run into the following (which I guess is expected):
root@75aa7d90173b:/QuantLib-SWIG-1.30# make -C Python
make: Entering directory '/QuantLib-SWIG-1.30/Python'
make all-am
make[1]: Entering directory '/QuantLib-SWIG-1.30/Python'
CXXFLAGS="-g -O2 -fno-strict-aliasing -Wno-unused -Wno-uninitialized -Wno-sign-compare -Wno-write-strings" CC="gcc" CXX="g++" /usr/local/bin/python3 setup.py build
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-311
creating build/lib.linux-aarch64-cpython-311/QuantLib
copying QuantLib/__init__.py -> build/lib.linux-aarch64-cpython-311/QuantLib
copying QuantLib/QuantLib.py -> build/lib.linux-aarch64-cpython-311/QuantLib
running build_ext
/bin/sh: 1: quantlib-config: not found
/bin/sh: 1: quantlib-config: not found
building 'QuantLib._QuantLib' extension
creating build/temp.linux-aarch64-cpython-311
creating build/temp.linux-aarch64-cpython-311/QuantLib
gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DNDEBUG -I/usr/local/include/python3.11 -c QuantLib/quantlib_wrap.cpp -o build/temp.linux-aarch64-cpython-311/QuantLib/quantlib_wrap.o -Wno-unused -g -O2 -fno-strict-aliasing -Wno-unused -Wno-uninitialized -Wno-sign-compare -Wno-write-strings
QuantLib/quantlib_wrap.cpp:5231:10: fatal error: ql/version.hpp: No such file or directory
5231 | #include <ql/version.hpp>
| ^~~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
make[1]: *** [Makefile:443: .build-stamp] Error 1
make[1]: Leaving directory '/QuantLib-SWIG-1.30/Python'
make: *** [Makefile:232: all] Error 2
make: Leaving directory '/QuantLib-SWIG-1.30/Python'
root@75aa7d90173b:/QuantLib-SWIG-1.30#
Then, I install QuantLib itself again from master branch:
8 git clone https://github.com/lballabio/QuantLib.git
9 apt-get install git
10 git clone https://github.com/lballabio/QuantLib.git
11 cd QuantLib
12 mkdir build
13 cd build/
14 cmake -G Ninja -D CMAKE_BUILD_TYPE=Release
15 cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
16 ninja
17 ninja install
18 cd test-suite/
19 ls
20 ./quantlib-test-suite
Tests completed in 7 m 58 s
*** 52 failures are detected in the test module "Master Test Suite“
From the tests I got the following error a couple times. it even seems like that’s the only unique error message I get.
../test-suite/functions.cpp(282): error: in "QuantLib test suite/Factorial tests/QuantLib__detail__quantlib_test_case(&FunctionsTest__testWeightedModifiedBesselFunctions)": failed to verify exponentially weightedmodified Bessel function of second kind
order : 3.5
argument : 5
calculated : (-3.846e-05,-2.51939e-05)
expected : (-3.846e-05,-2.51939e-05)
difference : (0,1.08996e-17)
I now tried SWIG-1.30 again with configure and make -C Python | tee make_c_python_output.txt
see txt file as attachment (just too long for any reasonable pasting)
greetings,
Marius
Am 26.05.2023 um 12:57 schrieb Luigi Ballabio <lui...@gm...>:
You don't often get email from lui...@gm.... Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
Hello Marius,
no worries — there are many of us here that don't speak English as a first language :)
I confirm we don't have wheels for that architecture—I'll try to see if I can manage those by cross-compiling, but it might take some experimenting.
What error do you get when you try the QuantLib-SWIG-1.30 release?
Luigi
On Thu, May 25, 2023 at 9:34 AM Marius Räsener <mar...@fi...<mailto:mar...@fi...>> wrote:
Good morning Jonathan, Cay and Luigi,
first of all, thx for your answers.
It seems that I probably made a mistake in formulating my question - I intended to be friendly and patient. the phrase with „finally“ running Python wasn’t meant to be rude, just from a logical point of view, that this is my goal. like in „try except finally“.
simple installation with `pip install QuantLib` failed for me and was the actual reason why I digged deeper and tried to compile things myself.
I can confirm though, that `pip install QuantLib` works on macOS itself (in a Python 3.11 venv) and also works with the python:slim image (also Py3.11) on a Docker host with amd64 architecture.
As of ninja vs. make - I just gave ninja a try because make took 45 minutes for me and with ninja compilation time goes down to below 5 mins for me. I’m not a C or C++ developer myself so I’m not familiar with the toolchain.
So, I tried to compile (with ninja again) from master branch and it „just worked“ :) - then I’ve tried QuantLib-SWIG-1.30 (from the release tar) but it failed to install and also I’ve tried QuantLib-SWIG from master branch which seems to miss the ./configure executable.
I now paste the output as Luigi requested.
root@efb3d345bd04:/# pip install QuantLib
ERROR: Could not find a version that satisfies the requirement QuantLib (from versions: none)
ERROR: No matching distribution found for QuantLib
root@efb3d345bd04:/# pip debug --verbose
WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice.
pip version: pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)
sys.version: 3.11.3 (main, May 23 2023, 08:54:51) [GCC 10.2.1 20210110]
sys.executable: /usr/local/bin/python
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
name: cpython
'cert' config value: Not specified
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /usr/local/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
CacheControl==0.12.11
colorama==0.4.6
distlib==0.3.6
distro==1.8.0
msgpack==1.0.5
packaging==21.3
platformdirs==3.2.0
pyparsing==3.0.9
pyproject-hooks==1.0.0
requests==2.28.2
certifi==2022.12.07
chardet==5.1.0
idna==3.4
urllib3==1.26.15
rich==13.3.3 (Unable to locate actual module version, using vendor.txt specified version)
pygments==2.14.0
typing_extensions==4.5.0 (Unable to locate actual module version, using vendor.txt specified version)
resolvelib==1.0.1
setuptools==67.7.2 (Unable to locate actual module version, using vendor.txt specified version)
six==1.16.0
tenacity==8.2.2 (Unable to locate actual module version, using vendor.txt specified version)
tomli==2.0.1
webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 439
cp311-cp311-manylinux_2_31_aarch64
cp311-cp311-manylinux_2_30_aarch64
cp311-cp311-manylinux_2_29_aarch64
cp311-cp311-manylinux_2_28_aarch64
cp311-cp311-manylinux_2_27_aarch64
cp311-cp311-manylinux_2_26_aarch64
cp311-cp311-manylinux_2_25_aarch64
cp311-cp311-manylinux_2_24_aarch64
cp311-cp311-manylinux_2_23_aarch64
cp311-cp311-manylinux_2_22_aarch64
cp311-cp311-manylinux_2_21_aarch64
cp311-cp311-manylinux_2_20_aarch64
cp311-cp311-manylinux_2_19_aarch64
cp311-cp311-manylinux_2_18_aarch64
cp311-cp311-manylinux_2_17_aarch64
cp311-cp311-manylinux2014_aarch64
cp311-cp311-linux_aarch64
cp311-abi3-manylinux_2_31_aarch64
cp311-abi3-manylinux_2_30_aarch64
cp311-abi3-manylinux_2_29_aarch64
cp311-abi3-manylinux_2_28_aarch64
cp311-abi3-manylinux_2_27_aarch64
cp311-abi3-manylinux_2_26_aarch64
cp311-abi3-manylinux_2_25_aarch64
cp311-abi3-manylinux_2_24_aarch64
cp311-abi3-manylinux_2_23_aarch64
cp311-abi3-manylinux_2_22_aarch64
cp311-abi3-manylinux_2_21_aarch64
cp311-abi3-manylinux_2_20_aarch64
cp311-abi3-manylinux_2_19_aarch64
cp311-abi3-manylinux_2_18_aarch64
cp311-abi3-manylinux_2_17_aarch64
cp311-abi3-manylinux2014_aarch64
cp311-abi3-linux_aarch64
cp311-none-manylinux_2_31_aarch64
cp311-none-manylinux_2_30_aarch64
cp311-none-manylinux_2_29_aarch64
cp311-none-manylinux_2_28_aarch64
cp311-none-manylinux_2_27_aarch64
cp311-none-manylinux_2_26_aarch64
cp311-none-manylinux_2_25_aarch64
cp311-none-manylinux_2_24_aarch64
cp311-none-manylinux_2_23_aarch64
cp311-none-manylinux_2_22_aarch64
cp311-none-manylinux_2_21_aarch64
cp311-none-manylinux_2_20_aarch64
cp311-none-manylinux_2_19_aarch64
cp311-none-manylinux_2_18_aarch64
cp311-none-manylinux_2_17_aarch64
cp311-none-manylinux2014_aarch64
cp311-none-linux_aarch64
cp310-abi3-manylinux_2_31_aarch64
cp310-abi3-manylinux_2_30_aarch64
cp310-abi3-manylinux_2_29_aarch64
cp310-abi3-manylinux_2_28_aarch64
cp310-abi3-manylinux_2_27_aarch64
cp310-abi3-manylinux_2_26_aarch64
cp310-abi3-manylinux_2_25_aarch64
cp310-abi3-manylinux_2_24_aarch64
cp310-abi3-manylinux_2_23_aarch64
cp310-abi3-manylinux_2_22_aarch64
cp310-abi3-manylinux_2_21_aarch64
cp310-abi3-manylinux_2_20_aarch64
cp310-abi3-manylinux_2_19_aarch64
cp310-abi3-manylinux_2_18_aarch64
cp310-abi3-manylinux_2_17_aarch64
cp310-abi3-manylinux2014_aarch64
cp310-abi3-linux_aarch64
cp39-abi3-manylinux_2_31_aarch64
cp39-abi3-manylinux_2_30_aarch64
cp39-abi3-manylinux_2_29_aarch64
cp39-abi3-manylinux_2_28_aarch64
cp39-abi3-manylinux_2_27_aarch64
cp39-abi3-manylinux_2_26_aarch64
cp39-abi3-manylinux_2_25_aarch64
cp39-abi3-manylinux_2_24_aarch64
cp39-abi3-manylinux_2_23_aarch64
cp39-abi3-manylinux_2_22_aarch64
cp39-abi3-manylinux_2_21_aarch64
cp39-abi3-manylinux_2_20_aarch64
cp39-abi3-manylinux_2_19_aarch64
cp39-abi3-manylinux_2_18_aarch64
cp39-abi3-manylinux_2_17_aarch64
cp39-abi3-manylinux2014_aarch64
cp39-abi3-linux_aarch64
cp38-abi3-manylinux_2_31_aarch64
cp38-abi3-manylinux_2_30_aarch64
cp38-abi3-manylinux_2_29_aarch64
cp38-abi3-manylinux_2_28_aarch64
cp38-abi3-manylinux_2_27_aarch64
cp38-abi3-manylinux_2_26_aarch64
cp38-abi3-manylinux_2_25_aarch64
cp38-abi3-manylinux_2_24_aarch64
cp38-abi3-manylinux_2_23_aarch64
cp38-abi3-manylinux_2_22_aarch64
cp38-abi3-manylinux_2_21_aarch64
cp38-abi3-manylinux_2_20_aarch64
cp38-abi3-manylinux_2_19_aarch64
cp38-abi3-manylinux_2_18_aarch64
cp38-abi3-manylinux_2_17_aarch64
cp38-abi3-manylinux2014_aarch64
cp38-abi3-linux_aarch64
cp37-abi3-manylinux_2_31_aarch64
cp37-abi3-manylinux_2_30_aarch64
cp37-abi3-manylinux_2_29_aarch64
cp37-abi3-manylinux_2_28_aarch64
cp37-abi3-manylinux_2_27_aarch64
cp37-abi3-manylinux_2_26_aarch64
cp37-abi3-manylinux_2_25_aarch64
cp37-abi3-manylinux_2_24_aarch64
cp37-abi3-manylinux_2_23_aarch64
cp37-abi3-manylinux_2_22_aarch64
cp37-abi3-manylinux_2_21_aarch64
cp37-abi3-manylinux_2_20_aarch64
cp37-abi3-manylinux_2_19_aarch64
cp37-abi3-manylinux_2_18_aarch64
cp37-abi3-manylinux_2_17_aarch64
cp37-abi3-manylinux2014_aarch64
cp37-abi3-linux_aarch64
cp36-abi3-manylinux_2_31_aarch64
cp36-abi3-manylinux_2_30_aarch64
cp36-abi3-manylinux_2_29_aarch64
cp36-abi3-manylinux_2_28_aarch64
cp36-abi3-manylinux_2_27_aarch64
cp36-abi3-manylinux_2_26_aarch64
cp36-abi3-manylinux_2_25_aarch64
cp36-abi3-manylinux_2_24_aarch64
cp36-abi3-manylinux_2_23_aarch64
cp36-abi3-manylinux_2_22_aarch64
cp36-abi3-manylinux_2_21_aarch64
cp36-abi3-manylinux_2_20_aarch64
cp36-abi3-manylinux_2_19_aarch64
cp36-abi3-manylinux_2_18_aarch64
cp36-abi3-manylinux_2_17_aarch64
cp36-abi3-manylinux2014_aarch64
cp36-abi3-linux_aarch64
cp35-abi3-manylinux_2_31_aarch64
cp35-abi3-manylinux_2_30_aarch64
cp35-abi3-manylinux_2_29_aarch64
cp35-abi3-manylinux_2_28_aarch64
cp35-abi3-manylinux_2_27_aarch64
cp35-abi3-manylinux_2_26_aarch64
cp35-abi3-manylinux_2_25_aarch64
cp35-abi3-manylinux_2_24_aarch64
cp35-abi3-manylinux_2_23_aarch64
cp35-abi3-manylinux_2_22_aarch64
cp35-abi3-manylinux_2_21_aarch64
cp35-abi3-manylinux_2_20_aarch64
cp35-abi3-manylinux_2_19_aarch64
cp35-abi3-manylinux_2_18_aarch64
cp35-abi3-manylinux_2_17_aarch64
cp35-abi3-manylinux2014_aarch64
cp35-abi3-linux_aarch64
cp34-abi3-manylinux_2_31_aarch64
cp34-abi3-manylinux_2_30_aarch64
cp34-abi3-manylinux_2_29_aarch64
cp34-abi3-manylinux_2_28_aarch64
cp34-abi3-manylinux_2_27_aarch64
cp34-abi3-manylinux_2_26_aarch64
cp34-abi3-manylinux_2_25_aarch64
cp34-abi3-manylinux_2_24_aarch64
cp34-abi3-manylinux_2_23_aarch64
cp34-abi3-manylinux_2_22_aarch64
cp34-abi3-manylinux_2_21_aarch64
cp34-abi3-manylinux_2_20_aarch64
cp34-abi3-manylinux_2_19_aarch64
cp34-abi3-manylinux_2_18_aarch64
cp34-abi3-manylinux_2_17_aarch64
cp34-abi3-manylinux2014_aarch64
cp34-abi3-linux_aarch64
cp33-abi3-manylinux_2_31_aarch64
cp33-abi3-manylinux_2_30_aarch64
cp33-abi3-manylinux_2_29_aarch64
cp33-abi3-manylinux_2_28_aarch64
cp33-abi3-manylinux_2_27_aarch64
cp33-abi3-manylinux_2_26_aarch64
cp33-abi3-manylinux_2_25_aarch64
cp33-abi3-manylinux_2_24_aarch64
cp33-abi3-manylinux_2_23_aarch64
cp33-abi3-manylinux_2_22_aarch64
cp33-abi3-manylinux_2_21_aarch64
cp33-abi3-manylinux_2_20_aarch64
cp33-abi3-manylinux_2_19_aarch64
cp33-abi3-manylinux_2_18_aarch64
cp33-abi3-manylinux_2_17_aarch64
cp33-abi3-manylinux2014_aarch64
cp33-abi3-linux_aarch64
cp32-abi3-manylinux_2_31_aarch64
cp32-abi3-manylinux_2_30_aarch64
cp32-abi3-manylinux_2_29_aarch64
cp32-abi3-manylinux_2_28_aarch64
cp32-abi3-manylinux_2_27_aarch64
cp32-abi3-manylinux_2_26_aarch64
cp32-abi3-manylinux_2_25_aarch64
cp32-abi3-manylinux_2_24_aarch64
cp32-abi3-manylinux_2_23_aarch64
cp32-abi3-manylinux_2_22_aarch64
cp32-abi3-manylinux_2_21_aarch64
cp32-abi3-manylinux_2_20_aarch64
cp32-abi3-manylinux_2_19_aarch64
cp32-abi3-manylinux_2_18_aarch64
cp32-abi3-manylinux_2_17_aarch64
cp32-abi3-manylinux2014_aarch64
cp32-abi3-linux_aarch64
py311-none-manylinux_2_31_aarch64
py311-none-manylinux_2_30_aarch64
py311-none-manylinux_2_29_aarch64
py311-none-manylinux_2_28_aarch64
py311-none-manylinux_2_27_aarch64
py311-none-manylinux_2_26_aarch64
py311-none-manylinux_2_25_aarch64
py311-none-manylinux_2_24_aarch64
py311-none-manylinux_2_23_aarch64
py311-none-manylinux_2_22_aarch64
py311-none-manylinux_2_21_aarch64
py311-none-manylinux_2_20_aarch64
py311-none-manylinux_2_19_aarch64
py311-none-manylinux_2_18_aarch64
py311-none-manylinux_2_17_aarch64
py311-none-manylinux2014_aarch64
py311-none-linux_aarch64
py3-none-manylinux_2_31_aarch64
py3-none-manylinux_2_30_aarch64
py3-none-manylinux_2_29_aarch64
py3-none-manylinux_2_28_aarch64
py3-none-manylinux_2_27_aarch64
py3-none-manylinux_2_26_aarch64
py3-none-manylinux_2_25_aarch64
py3-none-manylinux_2_24_aarch64
py3-none-manylinux_2_23_aarch64
py3-none-manylinux_2_22_aarch64
py3-none-manylinux_2_21_aarch64
py3-none-manylinux_2_20_aarch64
py3-none-manylinux_2_19_aarch64
py3-none-manylinux_2_18_aarch64
py3-none-manylinux_2_17_aarch64
py3-none-manylinux2014_aarch64
py3-none-linux_aarch64
py310-none-manylinux_2_31_aarch64
py310-none-manylinux_2_30_aarch64
py310-none-manylinux_2_29_aarch64
py310-none-manylinux_2_28_aarch64
py310-none-manylinux_2_27_aarch64
py310-none-manylinux_2_26_aarch64
py310-none-manylinux_2_25_aarch64
py310-none-manylinux_2_24_aarch64
py310-none-manylinux_2_23_aarch64
py310-none-manylinux_2_22_aarch64
py310-none-manylinux_2_21_aarch64
py310-none-manylinux_2_20_aarch64
py310-none-manylinux_2_19_aarch64
py310-none-manylinux_2_18_aarch64
py310-none-manylinux_2_17_aarch64
py310-none-manylinux2014_aarch64
py310-none-linux_aarch64
py39-none-manylinux_2_31_aarch64
py39-none-manylinux_2_30_aarch64
py39-none-manylinux_2_29_aarch64
py39-none-manylinux_2_28_aarch64
py39-none-manylinux_2_27_aarch64
py39-none-manylinux_2_26_aarch64
py39-none-manylinux_2_25_aarch64
py39-none-manylinux_2_24_aarch64
py39-none-manylinux_2_23_aarch64
py39-none-manylinux_2_22_aarch64
py39-none-manylinux_2_21_aarch64
py39-none-manylinux_2_20_aarch64
py39-none-manylinux_2_19_aarch64
py39-none-manylinux_2_18_aarch64
py39-none-manylinux_2_17_aarch64
py39-none-manylinux2014_aarch64
py39-none-linux_aarch64
py38-none-manylinux_2_31_aarch64
py38-none-manylinux_2_30_aarch64
py38-none-manylinux_2_29_aarch64
py38-none-manylinux_2_28_aarch64
py38-none-manylinux_2_27_aarch64
py38-none-manylinux_2_26_aarch64
py38-none-manylinux_2_25_aarch64
py38-none-manylinux_2_24_aarch64
py38-none-manylinux_2_23_aarch64
py38-none-manylinux_2_22_aarch64
py38-none-manylinux_2_21_aarch64
py38-none-manylinux_2_20_aarch64
py38-none-manylinux_2_19_aarch64
py38-none-manylinux_2_18_aarch64
py38-none-manylinux_2_17_aarch64
py38-none-manylinux2014_aarch64
py38-none-linux_aarch64
py37-none-manylinux_2_31_aarch64
py37-none-manylinux_2_30_aarch64
py37-none-manylinux_2_29_aarch64
py37-none-manylinux_2_28_aarch64
py37-none-manylinux_2_27_aarch64
py37-none-manylinux_2_26_aarch64
py37-none-manylinux_2_25_aarch64
py37-none-manylinux_2_24_aarch64
py37-none-manylinux_2_23_aarch64
py37-none-manylinux_2_22_aarch64
py37-none-manylinux_2_21_aarch64
py37-none-manylinux_2_20_aarch64
py37-none-manylinux_2_19_aarch64
py37-none-manylinux_2_18_aarch64
py37-none-manylinux_2_17_aarch64
py37-none-manylinux2014_aarch64
py37-none-linux_aarch64
py36-none-manylinux_2_31_aarch64
py36-none-manylinux_2_30_aarch64
py36-none-manylinux_2_29_aarch64
py36-none-manylinux_2_28_aarch64
py36-none-manylinux_2_27_aarch64
py36-none-manylinux_2_26_aarch64
py36-none-manylinux_2_25_aarch64
py36-none-manylinux_2_24_aarch64
py36-none-manylinux_2_23_aarch64
py36-none-manylinux_2_22_aarch64
py36-none-manylinux_2_21_aarch64
py36-none-manylinux_2_20_aarch64
py36-none-manylinux_2_19_aarch64
py36-none-manylinux_2_18_aarch64
py36-none-manylinux_2_17_aarch64
py36-none-manylinux2014_aarch64
py36-none-linux_aarch64
py35-none-manylinux_2_31_aarch64
py35-none-manylinux_2_30_aarch64
py35-none-manylinux_2_29_aarch64
py35-none-manylinux_2_28_aarch64
py35-none-manylinux_2_27_aarch64
py35-none-manylinux_2_26_aarch64
py35-none-manylinux_2_25_aarch64
py35-none-manylinux_2_24_aarch64
py35-none-manylinux_2_23_aarch64
py35-none-manylinux_2_22_aarch64
py35-none-manylinux_2_21_aarch64
py35-none-manylinux_2_20_aarch64
py35-none-manylinux_2_19_aarch64
py35-none-manylinux_2_18_aarch64
py35-none-manylinux_2_17_aarch64
py35-none-manylinux2014_aarch64
py35-none-linux_aarch64
py34-none-manylinux_2_31_aarch64
py34-none-manylinux_2_30_aarch64
py34-none-manylinux_2_29_aarch64
py34-none-manylinux_2_28_aarch64
py34-none-manylinux_2_27_aarch64
py34-none-manylinux_2_26_aarch64
py34-none-manylinux_2_25_aarch64
py34-none-manylinux_2_24_aarch64
py34-none-manylinux_2_23_aarch64
py34-none-manylinux_2_22_aarch64
py34-none-manylinux_2_21_aarch64
py34-none-manylinux_2_20_aarch64
py34-none-manylinux_2_19_aarch64
py34-none-manylinux_2_18_aarch64
py34-none-manylinux_2_17_aarch64
py34-none-manylinux2014_aarch64
py34-none-linux_aarch64
py33-none-manylinux_2_31_aarch64
py33-none-manylinux_2_30_aarch64
py33-none-manylinux_2_29_aarch64
py33-none-manylinux_2_28_aarch64
py33-none-manylinux_2_27_aarch64
py33-none-manylinux_2_26_aarch64
py33-none-manylinux_2_25_aarch64
py33-none-manylinux_2_24_aarch64
py33-none-manylinux_2_23_aarch64
py33-none-manylinux_2_22_aarch64
py33-none-manylinux_2_21_aarch64
py33-none-manylinux_2_20_aarch64
py33-none-manylinux_2_19_aarch64
py33-none-manylinux_2_18_aarch64
py33-none-manylinux_2_17_aarch64
py33-none-manylinux2014_aarch64
py33-none-linux_aarch64
py32-none-manylinux_2_31_aarch64
py32-none-manylinux_2_30_aarch64
py32-none-manylinux_2_29_aarch64
py32-none-manylinux_2_28_aarch64
py32-none-manylinux_2_27_aarch64
py32-none-manylinux_2_26_aarch64
py32-none-manylinux_2_25_aarch64
py32-none-manylinux_2_24_aarch64
py32-none-manylinux_2_23_aarch64
py32-none-manylinux_2_22_aarch64
py32-none-manylinux_2_21_aarch64
py32-none-manylinux_2_20_aarch64
py32-none-manylinux_2_19_aarch64
py32-none-manylinux_2_18_aarch64
py32-none-manylinux_2_17_aarch64
py32-none-manylinux2014_aarch64
py32-none-linux_aarch64
py31-none-manylinux_2_31_aarch64
py31-none-manylinux_2_30_aarch64
py31-none-manylinux_2_29_aarch64
py31-none-manylinux_2_28_aarch64
py31-none-manylinux_2_27_aarch64
py31-none-manylinux_2_26_aarch64
py31-none-manylinux_2_25_aarch64
py31-none-manylinux_2_24_aarch64
py31-none-manylinux_2_23_aarch64
py31-none-manylinux_2_22_aarch64
py31-none-manylinux_2_21_aarch64
py31-none-manylinux_2_20_aarch64
py31-none-manylinux_2_19_aarch64
py31-none-manylinux_2_18_aarch64
py31-none-manylinux_2_17_aarch64
py31-none-manylinux2014_aarch64
py31-none-linux_aarch64
py30-none-manylinux_2_31_aarch64
py30-none-manylinux_2_30_aarch64
py30-none-manylinux_2_29_aarch64
py30-none-manylinux_2_28_aarch64
py30-none-manylinux_2_27_aarch64
py30-none-manylinux_2_26_aarch64
py30-none-manylinux_2_25_aarch64
py30-none-manylinux_2_24_aarch64
py30-none-manylinux_2_23_aarch64
py30-none-manylinux_2_22_aarch64
py30-none-manylinux_2_21_aarch64
py30-none-manylinux_2_20_aarch64
py30-none-manylinux_2_19_aarch64
py30-none-manylinux_2_18_aarch64
py30-none-manylinux_2_17_aarch64
py30-none-manylinux2014_aarch64
py30-none-linux_aarch64
cp311-none-any
py311-none-any
py3-none-any
py310-none-any
py39-none-any
py38-none-any
py37-none-any
py36-none-any
py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any
thx again to everybody.
Am 24.05.2023 um 22:39 schrieb Cay Oest <cay...@fr...<mailto:cay...@fr...>>:
You don't often get email from cay...@fr...<mailto:cay...@fr...>. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification>
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Dear Marius,
Given that you did choose not to
`pip install ql`
in dedicated `slim` Python Docker container
`python:slim`
for whatever reason, and that you really needed to grab the latest version
`quantLib 1.30`,
And really needed to use
`ninja`
you should ask the community, I refer to sweemer’s reply.
Otherwise:
You could just use pip or in that particular weird container
`apt install quantlib`, which will get you version 1.21. The underlying Linux version is `Debian`.
Well, if 1.21 doesn’t suffice, you should really refrain to git.
There is no point in insisting on the latest version of QuantLib or <random_github_repository> without using git. 😉
Kind regards,
Cay
From: Jonathan Sweemer <sw...@gm...<mailto:sw...@gm...>>
Sent: Mittwoch, 24. Mai 2023 22:42
To: Marius Räsener <mar...@fi...<mailto:mar...@fi...>>
Cc: qua...@li...<mailto:qua...@li...>
Subject: Re: [Quantlib-users] Building and installing QuantLib on Docker with aarch64 (Apple silicon)
Hi Marius,
This was reported on GitHub here:
https://github.com/lballabio/QuantLib/issues/1675
Your options are 1) download from the master branch instead of the 1.30 tag, 2) manually apply the fix linked in the issue above, or 3) install using automake instead of CMake.
2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi...<mailto:mar...@fi...>>님이 작성:
Hey everybody,
I’m trying to get a working docker image to finally run some Python code which uses QuantLib.
Dockerfile:
```
FROM python:slim
RUN apt-get update \
&& apt-get install -y \
curl \
build-essential \
libboost-all-dev \
cmake \
ninja-build
RUN curl -L https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz --output QuantLib-1.30.tar.gz \
&& tar xzf QuantLib-1.30.tar.gz \
&& rm QuantLib-1.30.tar.gz
```
then I just run an instance and continue manually (to run have a faster trial and error loop)
docker build --ssh default . -f Dockerfile -t foo
and
docker run -it --rm foo bash
inside the container I do the following:
cd QuantLib-1.30/build
cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
ninja
ninja install
Now, at `ninja install` I run into the following issue, and it seems I can’t find anything useful in the internetz.
.
.
.
-- Installing: /usr/local/include/ql/currencies/all.hpp
-- Installing: /usr/local/include/ql/experimental/all.hpp
CMake Error at ql/cmake_install.cmake:5243 (file):
file INSTALL cannot find
"/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such
file or directory.
Call Stack (most recent call first):
cmake_install.cmake:47 (include)
FAILED: CMakeFiles/install.util
cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake
ninja: build stopped: subcommand failed.
Can someone point me into the right direction?
Disclaimer: I actually work at this from a ops perspective and I don’t really know what QuantLib is doing or any other details about it :)
Thx in advance and have a nice day,
Marius
_______________________________________________
QuantLib-users mailing list
Qua...@li...<mailto:Qua...@li...>
https://lists.sourceforge.net/lists/listinfo/quantlib-users
_______________________________________________
QuantLib-users mailing list
Qua...@li...<mailto:Qua...@li...>
https://lists.sourceforge.net/lists/listinfo/quantlib-users
|
|
From: Luigi B. <lui...@gm...> - 2023-05-26 10:57:56
|
Hello Marius,
no worries — there are many of us here that don't speak English as a
first language :)
I confirm we don't have wheels for that architecture—I'll try to see if I
can manage those by cross-compiling, but it might take some experimenting.
What error do you get when you try the QuantLib-SWIG-1.30 release?
Luigi
On Thu, May 25, 2023 at 9:34 AM Marius Räsener <mar...@fi...>
wrote:
> Good morning Jonathan, Cay and Luigi,
>
> first of all, thx for your answers.
>
> It seems that I probably made a mistake in formulating my question - I
> intended to be friendly and patient. the phrase with „finally“ running
> Python wasn’t meant to be rude, just from a logical point of view, that
> this is my goal. like in „try except finally“.
>
> simple installation with `pip install QuantLib` failed for me and was the
> actual reason why I digged deeper and tried to compile things myself.
>
> I can confirm though, that `pip install QuantLib` works on macOS itself
> (in a Python 3.11 venv) and also works with the python:slim image (also
> Py3.11) on a Docker host with amd64 architecture.
>
> As of ninja vs. make - I just gave ninja a try because make took 45
> minutes for me and with ninja compilation time goes down to below 5 mins
> for me. I’m not a C or C++ developer myself so I’m not familiar with the
> toolchain.
>
> So, I tried to compile (with ninja again) from master branch and it „just
> worked“ :) - then I’ve tried QuantLib-SWIG-1.30 (from the release tar) but
> it failed to install and also I’ve tried QuantLib-SWIG from master branch
> which seems to miss the ./configure executable.
>
> I now paste the output as Luigi requested.
>
> root@efb3d345bd04:/# pip install QuantLib
> ERROR: Could not find a version that satisfies the requirement QuantLib
> (from versions: none)
> ERROR: No matching distribution found for QuantLib
> root@efb3d345bd04:/# pip debug --verbose
> WARNING: This command is only meant for debugging. Do not use this with
> automation for parsing and getting these details, since the output and
> options of this command may change without notice.
> pip version: pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip
> (python 3.11)
> sys.version: 3.11.3 (main, May 23 2023, 08:54:51) [GCC 10.2.1 20210110]
> sys.executable: /usr/local/bin/python
> sys.getdefaultencoding: utf-8
> sys.getfilesystemencoding: utf-8
> locale.getpreferredencoding: UTF-8
> sys.platform: linux
> sys.implementation:
> name: cpython
> 'cert' config value: Not specified
> REQUESTS_CA_BUNDLE: None
> CURL_CA_BUNDLE: None
> pip._vendor.certifi.where():
> /usr/local/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem
> pip._vendor.DEBUNDLED: False
> vendored library versions:
> CacheControl==0.12.11
> colorama==0.4.6
> distlib==0.3.6
> distro==1.8.0
> msgpack==1.0.5
> packaging==21.3
> platformdirs==3.2.0
> pyparsing==3.0.9
> pyproject-hooks==1.0.0
> requests==2.28.2
> certifi==2022.12.07
> chardet==5.1.0
> idna==3.4
> urllib3==1.26.15
> rich==13.3.3 (Unable to locate actual module version, using vendor.txt
> specified version)
> pygments==2.14.0
> typing_extensions==4.5.0 (Unable to locate actual module version, using
> vendor.txt specified version)
> resolvelib==1.0.1
> setuptools==67.7.2 (Unable to locate actual module version, using
> vendor.txt specified version)
> six==1.16.0
> tenacity==8.2.2 (Unable to locate actual module version, using
> vendor.txt specified version)
> tomli==2.0.1
> webencodings==0.5.1 (Unable to locate actual module version, using
> vendor.txt specified version)
> Compatible tags: 439
> cp311-cp311-manylinux_2_31_aarch64
> cp311-cp311-manylinux_2_30_aarch64
> cp311-cp311-manylinux_2_29_aarch64
> cp311-cp311-manylinux_2_28_aarch64
> cp311-cp311-manylinux_2_27_aarch64
> cp311-cp311-manylinux_2_26_aarch64
> cp311-cp311-manylinux_2_25_aarch64
> cp311-cp311-manylinux_2_24_aarch64
> cp311-cp311-manylinux_2_23_aarch64
> cp311-cp311-manylinux_2_22_aarch64
> cp311-cp311-manylinux_2_21_aarch64
> cp311-cp311-manylinux_2_20_aarch64
> cp311-cp311-manylinux_2_19_aarch64
> cp311-cp311-manylinux_2_18_aarch64
> cp311-cp311-manylinux_2_17_aarch64
> cp311-cp311-manylinux2014_aarch64
> cp311-cp311-linux_aarch64
> cp311-abi3-manylinux_2_31_aarch64
> cp311-abi3-manylinux_2_30_aarch64
> cp311-abi3-manylinux_2_29_aarch64
> cp311-abi3-manylinux_2_28_aarch64
> cp311-abi3-manylinux_2_27_aarch64
> cp311-abi3-manylinux_2_26_aarch64
> cp311-abi3-manylinux_2_25_aarch64
> cp311-abi3-manylinux_2_24_aarch64
> cp311-abi3-manylinux_2_23_aarch64
> cp311-abi3-manylinux_2_22_aarch64
> cp311-abi3-manylinux_2_21_aarch64
> cp311-abi3-manylinux_2_20_aarch64
> cp311-abi3-manylinux_2_19_aarch64
> cp311-abi3-manylinux_2_18_aarch64
> cp311-abi3-manylinux_2_17_aarch64
> cp311-abi3-manylinux2014_aarch64
> cp311-abi3-linux_aarch64
> cp311-none-manylinux_2_31_aarch64
> cp311-none-manylinux_2_30_aarch64
> cp311-none-manylinux_2_29_aarch64
> cp311-none-manylinux_2_28_aarch64
> cp311-none-manylinux_2_27_aarch64
> cp311-none-manylinux_2_26_aarch64
> cp311-none-manylinux_2_25_aarch64
> cp311-none-manylinux_2_24_aarch64
> cp311-none-manylinux_2_23_aarch64
> cp311-none-manylinux_2_22_aarch64
> cp311-none-manylinux_2_21_aarch64
> cp311-none-manylinux_2_20_aarch64
> cp311-none-manylinux_2_19_aarch64
> cp311-none-manylinux_2_18_aarch64
> cp311-none-manylinux_2_17_aarch64
> cp311-none-manylinux2014_aarch64
> cp311-none-linux_aarch64
> cp310-abi3-manylinux_2_31_aarch64
> cp310-abi3-manylinux_2_30_aarch64
> cp310-abi3-manylinux_2_29_aarch64
> cp310-abi3-manylinux_2_28_aarch64
> cp310-abi3-manylinux_2_27_aarch64
> cp310-abi3-manylinux_2_26_aarch64
> cp310-abi3-manylinux_2_25_aarch64
> cp310-abi3-manylinux_2_24_aarch64
> cp310-abi3-manylinux_2_23_aarch64
> cp310-abi3-manylinux_2_22_aarch64
> cp310-abi3-manylinux_2_21_aarch64
> cp310-abi3-manylinux_2_20_aarch64
> cp310-abi3-manylinux_2_19_aarch64
> cp310-abi3-manylinux_2_18_aarch64
> cp310-abi3-manylinux_2_17_aarch64
> cp310-abi3-manylinux2014_aarch64
> cp310-abi3-linux_aarch64
> cp39-abi3-manylinux_2_31_aarch64
> cp39-abi3-manylinux_2_30_aarch64
> cp39-abi3-manylinux_2_29_aarch64
> cp39-abi3-manylinux_2_28_aarch64
> cp39-abi3-manylinux_2_27_aarch64
> cp39-abi3-manylinux_2_26_aarch64
> cp39-abi3-manylinux_2_25_aarch64
> cp39-abi3-manylinux_2_24_aarch64
> cp39-abi3-manylinux_2_23_aarch64
> cp39-abi3-manylinux_2_22_aarch64
> cp39-abi3-manylinux_2_21_aarch64
> cp39-abi3-manylinux_2_20_aarch64
> cp39-abi3-manylinux_2_19_aarch64
> cp39-abi3-manylinux_2_18_aarch64
> cp39-abi3-manylinux_2_17_aarch64
> cp39-abi3-manylinux2014_aarch64
> cp39-abi3-linux_aarch64
> cp38-abi3-manylinux_2_31_aarch64
> cp38-abi3-manylinux_2_30_aarch64
> cp38-abi3-manylinux_2_29_aarch64
> cp38-abi3-manylinux_2_28_aarch64
> cp38-abi3-manylinux_2_27_aarch64
> cp38-abi3-manylinux_2_26_aarch64
> cp38-abi3-manylinux_2_25_aarch64
> cp38-abi3-manylinux_2_24_aarch64
> cp38-abi3-manylinux_2_23_aarch64
> cp38-abi3-manylinux_2_22_aarch64
> cp38-abi3-manylinux_2_21_aarch64
> cp38-abi3-manylinux_2_20_aarch64
> cp38-abi3-manylinux_2_19_aarch64
> cp38-abi3-manylinux_2_18_aarch64
> cp38-abi3-manylinux_2_17_aarch64
> cp38-abi3-manylinux2014_aarch64
> cp38-abi3-linux_aarch64
> cp37-abi3-manylinux_2_31_aarch64
> cp37-abi3-manylinux_2_30_aarch64
> cp37-abi3-manylinux_2_29_aarch64
> cp37-abi3-manylinux_2_28_aarch64
> cp37-abi3-manylinux_2_27_aarch64
> cp37-abi3-manylinux_2_26_aarch64
> cp37-abi3-manylinux_2_25_aarch64
> cp37-abi3-manylinux_2_24_aarch64
> cp37-abi3-manylinux_2_23_aarch64
> cp37-abi3-manylinux_2_22_aarch64
> cp37-abi3-manylinux_2_21_aarch64
> cp37-abi3-manylinux_2_20_aarch64
> cp37-abi3-manylinux_2_19_aarch64
> cp37-abi3-manylinux_2_18_aarch64
> cp37-abi3-manylinux_2_17_aarch64
> cp37-abi3-manylinux2014_aarch64
> cp37-abi3-linux_aarch64
> cp36-abi3-manylinux_2_31_aarch64
> cp36-abi3-manylinux_2_30_aarch64
> cp36-abi3-manylinux_2_29_aarch64
> cp36-abi3-manylinux_2_28_aarch64
> cp36-abi3-manylinux_2_27_aarch64
> cp36-abi3-manylinux_2_26_aarch64
> cp36-abi3-manylinux_2_25_aarch64
> cp36-abi3-manylinux_2_24_aarch64
> cp36-abi3-manylinux_2_23_aarch64
> cp36-abi3-manylinux_2_22_aarch64
> cp36-abi3-manylinux_2_21_aarch64
> cp36-abi3-manylinux_2_20_aarch64
> cp36-abi3-manylinux_2_19_aarch64
> cp36-abi3-manylinux_2_18_aarch64
> cp36-abi3-manylinux_2_17_aarch64
> cp36-abi3-manylinux2014_aarch64
> cp36-abi3-linux_aarch64
> cp35-abi3-manylinux_2_31_aarch64
> cp35-abi3-manylinux_2_30_aarch64
> cp35-abi3-manylinux_2_29_aarch64
> cp35-abi3-manylinux_2_28_aarch64
> cp35-abi3-manylinux_2_27_aarch64
> cp35-abi3-manylinux_2_26_aarch64
> cp35-abi3-manylinux_2_25_aarch64
> cp35-abi3-manylinux_2_24_aarch64
> cp35-abi3-manylinux_2_23_aarch64
> cp35-abi3-manylinux_2_22_aarch64
> cp35-abi3-manylinux_2_21_aarch64
> cp35-abi3-manylinux_2_20_aarch64
> cp35-abi3-manylinux_2_19_aarch64
> cp35-abi3-manylinux_2_18_aarch64
> cp35-abi3-manylinux_2_17_aarch64
> cp35-abi3-manylinux2014_aarch64
> cp35-abi3-linux_aarch64
> cp34-abi3-manylinux_2_31_aarch64
> cp34-abi3-manylinux_2_30_aarch64
> cp34-abi3-manylinux_2_29_aarch64
> cp34-abi3-manylinux_2_28_aarch64
> cp34-abi3-manylinux_2_27_aarch64
> cp34-abi3-manylinux_2_26_aarch64
> cp34-abi3-manylinux_2_25_aarch64
> cp34-abi3-manylinux_2_24_aarch64
> cp34-abi3-manylinux_2_23_aarch64
> cp34-abi3-manylinux_2_22_aarch64
> cp34-abi3-manylinux_2_21_aarch64
> cp34-abi3-manylinux_2_20_aarch64
> cp34-abi3-manylinux_2_19_aarch64
> cp34-abi3-manylinux_2_18_aarch64
> cp34-abi3-manylinux_2_17_aarch64
> cp34-abi3-manylinux2014_aarch64
> cp34-abi3-linux_aarch64
> cp33-abi3-manylinux_2_31_aarch64
> cp33-abi3-manylinux_2_30_aarch64
> cp33-abi3-manylinux_2_29_aarch64
> cp33-abi3-manylinux_2_28_aarch64
> cp33-abi3-manylinux_2_27_aarch64
> cp33-abi3-manylinux_2_26_aarch64
> cp33-abi3-manylinux_2_25_aarch64
> cp33-abi3-manylinux_2_24_aarch64
> cp33-abi3-manylinux_2_23_aarch64
> cp33-abi3-manylinux_2_22_aarch64
> cp33-abi3-manylinux_2_21_aarch64
> cp33-abi3-manylinux_2_20_aarch64
> cp33-abi3-manylinux_2_19_aarch64
> cp33-abi3-manylinux_2_18_aarch64
> cp33-abi3-manylinux_2_17_aarch64
> cp33-abi3-manylinux2014_aarch64
> cp33-abi3-linux_aarch64
> cp32-abi3-manylinux_2_31_aarch64
> cp32-abi3-manylinux_2_30_aarch64
> cp32-abi3-manylinux_2_29_aarch64
> cp32-abi3-manylinux_2_28_aarch64
> cp32-abi3-manylinux_2_27_aarch64
> cp32-abi3-manylinux_2_26_aarch64
> cp32-abi3-manylinux_2_25_aarch64
> cp32-abi3-manylinux_2_24_aarch64
> cp32-abi3-manylinux_2_23_aarch64
> cp32-abi3-manylinux_2_22_aarch64
> cp32-abi3-manylinux_2_21_aarch64
> cp32-abi3-manylinux_2_20_aarch64
> cp32-abi3-manylinux_2_19_aarch64
> cp32-abi3-manylinux_2_18_aarch64
> cp32-abi3-manylinux_2_17_aarch64
> cp32-abi3-manylinux2014_aarch64
> cp32-abi3-linux_aarch64
> py311-none-manylinux_2_31_aarch64
> py311-none-manylinux_2_30_aarch64
> py311-none-manylinux_2_29_aarch64
> py311-none-manylinux_2_28_aarch64
> py311-none-manylinux_2_27_aarch64
> py311-none-manylinux_2_26_aarch64
> py311-none-manylinux_2_25_aarch64
> py311-none-manylinux_2_24_aarch64
> py311-none-manylinux_2_23_aarch64
> py311-none-manylinux_2_22_aarch64
> py311-none-manylinux_2_21_aarch64
> py311-none-manylinux_2_20_aarch64
> py311-none-manylinux_2_19_aarch64
> py311-none-manylinux_2_18_aarch64
> py311-none-manylinux_2_17_aarch64
> py311-none-manylinux2014_aarch64
> py311-none-linux_aarch64
> py3-none-manylinux_2_31_aarch64
> py3-none-manylinux_2_30_aarch64
> py3-none-manylinux_2_29_aarch64
> py3-none-manylinux_2_28_aarch64
> py3-none-manylinux_2_27_aarch64
> py3-none-manylinux_2_26_aarch64
> py3-none-manylinux_2_25_aarch64
> py3-none-manylinux_2_24_aarch64
> py3-none-manylinux_2_23_aarch64
> py3-none-manylinux_2_22_aarch64
> py3-none-manylinux_2_21_aarch64
> py3-none-manylinux_2_20_aarch64
> py3-none-manylinux_2_19_aarch64
> py3-none-manylinux_2_18_aarch64
> py3-none-manylinux_2_17_aarch64
> py3-none-manylinux2014_aarch64
> py3-none-linux_aarch64
> py310-none-manylinux_2_31_aarch64
> py310-none-manylinux_2_30_aarch64
> py310-none-manylinux_2_29_aarch64
> py310-none-manylinux_2_28_aarch64
> py310-none-manylinux_2_27_aarch64
> py310-none-manylinux_2_26_aarch64
> py310-none-manylinux_2_25_aarch64
> py310-none-manylinux_2_24_aarch64
> py310-none-manylinux_2_23_aarch64
> py310-none-manylinux_2_22_aarch64
> py310-none-manylinux_2_21_aarch64
> py310-none-manylinux_2_20_aarch64
> py310-none-manylinux_2_19_aarch64
> py310-none-manylinux_2_18_aarch64
> py310-none-manylinux_2_17_aarch64
> py310-none-manylinux2014_aarch64
> py310-none-linux_aarch64
> py39-none-manylinux_2_31_aarch64
> py39-none-manylinux_2_30_aarch64
> py39-none-manylinux_2_29_aarch64
> py39-none-manylinux_2_28_aarch64
> py39-none-manylinux_2_27_aarch64
> py39-none-manylinux_2_26_aarch64
> py39-none-manylinux_2_25_aarch64
> py39-none-manylinux_2_24_aarch64
> py39-none-manylinux_2_23_aarch64
> py39-none-manylinux_2_22_aarch64
> py39-none-manylinux_2_21_aarch64
> py39-none-manylinux_2_20_aarch64
> py39-none-manylinux_2_19_aarch64
> py39-none-manylinux_2_18_aarch64
> py39-none-manylinux_2_17_aarch64
> py39-none-manylinux2014_aarch64
> py39-none-linux_aarch64
> py38-none-manylinux_2_31_aarch64
> py38-none-manylinux_2_30_aarch64
> py38-none-manylinux_2_29_aarch64
> py38-none-manylinux_2_28_aarch64
> py38-none-manylinux_2_27_aarch64
> py38-none-manylinux_2_26_aarch64
> py38-none-manylinux_2_25_aarch64
> py38-none-manylinux_2_24_aarch64
> py38-none-manylinux_2_23_aarch64
> py38-none-manylinux_2_22_aarch64
> py38-none-manylinux_2_21_aarch64
> py38-none-manylinux_2_20_aarch64
> py38-none-manylinux_2_19_aarch64
> py38-none-manylinux_2_18_aarch64
> py38-none-manylinux_2_17_aarch64
> py38-none-manylinux2014_aarch64
> py38-none-linux_aarch64
> py37-none-manylinux_2_31_aarch64
> py37-none-manylinux_2_30_aarch64
> py37-none-manylinux_2_29_aarch64
> py37-none-manylinux_2_28_aarch64
> py37-none-manylinux_2_27_aarch64
> py37-none-manylinux_2_26_aarch64
> py37-none-manylinux_2_25_aarch64
> py37-none-manylinux_2_24_aarch64
> py37-none-manylinux_2_23_aarch64
> py37-none-manylinux_2_22_aarch64
> py37-none-manylinux_2_21_aarch64
> py37-none-manylinux_2_20_aarch64
> py37-none-manylinux_2_19_aarch64
> py37-none-manylinux_2_18_aarch64
> py37-none-manylinux_2_17_aarch64
> py37-none-manylinux2014_aarch64
> py37-none-linux_aarch64
> py36-none-manylinux_2_31_aarch64
> py36-none-manylinux_2_30_aarch64
> py36-none-manylinux_2_29_aarch64
> py36-none-manylinux_2_28_aarch64
> py36-none-manylinux_2_27_aarch64
> py36-none-manylinux_2_26_aarch64
> py36-none-manylinux_2_25_aarch64
> py36-none-manylinux_2_24_aarch64
> py36-none-manylinux_2_23_aarch64
> py36-none-manylinux_2_22_aarch64
> py36-none-manylinux_2_21_aarch64
> py36-none-manylinux_2_20_aarch64
> py36-none-manylinux_2_19_aarch64
> py36-none-manylinux_2_18_aarch64
> py36-none-manylinux_2_17_aarch64
> py36-none-manylinux2014_aarch64
> py36-none-linux_aarch64
> py35-none-manylinux_2_31_aarch64
> py35-none-manylinux_2_30_aarch64
> py35-none-manylinux_2_29_aarch64
> py35-none-manylinux_2_28_aarch64
> py35-none-manylinux_2_27_aarch64
> py35-none-manylinux_2_26_aarch64
> py35-none-manylinux_2_25_aarch64
> py35-none-manylinux_2_24_aarch64
> py35-none-manylinux_2_23_aarch64
> py35-none-manylinux_2_22_aarch64
> py35-none-manylinux_2_21_aarch64
> py35-none-manylinux_2_20_aarch64
> py35-none-manylinux_2_19_aarch64
> py35-none-manylinux_2_18_aarch64
> py35-none-manylinux_2_17_aarch64
> py35-none-manylinux2014_aarch64
> py35-none-linux_aarch64
> py34-none-manylinux_2_31_aarch64
> py34-none-manylinux_2_30_aarch64
> py34-none-manylinux_2_29_aarch64
> py34-none-manylinux_2_28_aarch64
> py34-none-manylinux_2_27_aarch64
> py34-none-manylinux_2_26_aarch64
> py34-none-manylinux_2_25_aarch64
> py34-none-manylinux_2_24_aarch64
> py34-none-manylinux_2_23_aarch64
> py34-none-manylinux_2_22_aarch64
> py34-none-manylinux_2_21_aarch64
> py34-none-manylinux_2_20_aarch64
> py34-none-manylinux_2_19_aarch64
> py34-none-manylinux_2_18_aarch64
> py34-none-manylinux_2_17_aarch64
> py34-none-manylinux2014_aarch64
> py34-none-linux_aarch64
> py33-none-manylinux_2_31_aarch64
> py33-none-manylinux_2_30_aarch64
> py33-none-manylinux_2_29_aarch64
> py33-none-manylinux_2_28_aarch64
> py33-none-manylinux_2_27_aarch64
> py33-none-manylinux_2_26_aarch64
> py33-none-manylinux_2_25_aarch64
> py33-none-manylinux_2_24_aarch64
> py33-none-manylinux_2_23_aarch64
> py33-none-manylinux_2_22_aarch64
> py33-none-manylinux_2_21_aarch64
> py33-none-manylinux_2_20_aarch64
> py33-none-manylinux_2_19_aarch64
> py33-none-manylinux_2_18_aarch64
> py33-none-manylinux_2_17_aarch64
> py33-none-manylinux2014_aarch64
> py33-none-linux_aarch64
> py32-none-manylinux_2_31_aarch64
> py32-none-manylinux_2_30_aarch64
> py32-none-manylinux_2_29_aarch64
> py32-none-manylinux_2_28_aarch64
> py32-none-manylinux_2_27_aarch64
> py32-none-manylinux_2_26_aarch64
> py32-none-manylinux_2_25_aarch64
> py32-none-manylinux_2_24_aarch64
> py32-none-manylinux_2_23_aarch64
> py32-none-manylinux_2_22_aarch64
> py32-none-manylinux_2_21_aarch64
> py32-none-manylinux_2_20_aarch64
> py32-none-manylinux_2_19_aarch64
> py32-none-manylinux_2_18_aarch64
> py32-none-manylinux_2_17_aarch64
> py32-none-manylinux2014_aarch64
> py32-none-linux_aarch64
> py31-none-manylinux_2_31_aarch64
> py31-none-manylinux_2_30_aarch64
> py31-none-manylinux_2_29_aarch64
> py31-none-manylinux_2_28_aarch64
> py31-none-manylinux_2_27_aarch64
> py31-none-manylinux_2_26_aarch64
> py31-none-manylinux_2_25_aarch64
> py31-none-manylinux_2_24_aarch64
> py31-none-manylinux_2_23_aarch64
> py31-none-manylinux_2_22_aarch64
> py31-none-manylinux_2_21_aarch64
> py31-none-manylinux_2_20_aarch64
> py31-none-manylinux_2_19_aarch64
> py31-none-manylinux_2_18_aarch64
> py31-none-manylinux_2_17_aarch64
> py31-none-manylinux2014_aarch64
> py31-none-linux_aarch64
> py30-none-manylinux_2_31_aarch64
> py30-none-manylinux_2_30_aarch64
> py30-none-manylinux_2_29_aarch64
> py30-none-manylinux_2_28_aarch64
> py30-none-manylinux_2_27_aarch64
> py30-none-manylinux_2_26_aarch64
> py30-none-manylinux_2_25_aarch64
> py30-none-manylinux_2_24_aarch64
> py30-none-manylinux_2_23_aarch64
> py30-none-manylinux_2_22_aarch64
> py30-none-manylinux_2_21_aarch64
> py30-none-manylinux_2_20_aarch64
> py30-none-manylinux_2_19_aarch64
> py30-none-manylinux_2_18_aarch64
> py30-none-manylinux_2_17_aarch64
> py30-none-manylinux2014_aarch64
> py30-none-linux_aarch64
> cp311-none-any
> py311-none-any
> py3-none-any
> py310-none-any
> py39-none-any
> py38-none-any
> py37-none-any
> py36-none-any
> py35-none-any
> py34-none-any
> py33-none-any
> py32-none-any
> py31-none-any
> py30-none-any
>
> thx again to everybody.
>
> Am 24.05.2023 um 22:39 schrieb Cay Oest <cay...@fr...>:
>
> You don't often get email from cay...@fr.... Learn why this is
> important <https://aka.ms/LearnAboutSenderIdentification>
> CAUTION: This email originated from outside of the organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
> Dear Marius,
>
> Given that you did choose not to
> `pip install ql`
> in dedicated `slim` Python Docker container
> `python:slim`
> for whatever reason, and that you really needed to grab the latest version
> `quantLib 1.30`,
> And really needed to use
> `ninja`
> you should ask the community, I refer to sweemer’s reply.
>
> Otherwise:
> You could just use pip or in that particular weird container
> `apt install quantlib`, which will get you version 1.21. The underlying
> Linux version is `Debian`.
> Well, if 1.21 doesn’t suffice, you should really refrain to git.
> There is no point in insisting on the latest version of QuantLib or
> <random_github_repository> without using git. 😉
>
> Kind regards,
>
> Cay
>
> *From:* Jonathan Sweemer <sw...@gm...>
> *Sent:* Mittwoch, 24. Mai 2023 22:42
> *To:* Marius Räsener <mar...@fi...>
> *Cc:* qua...@li...
> *Subject:* Re: [Quantlib-users] Building and installing QuantLib on
> Docker with aarch64 (Apple silicon)
>
> Hi Marius,
>
> This was reported on GitHub here:
> https://github.com/lballabio/QuantLib/issues/1675
>
> Your options are 1) download from the master branch instead of the 1.30
> tag, 2) manually apply the fix linked in the issue above, or 3) install
> using automake instead of CMake.
>
> 2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi...>님이 작성:
>
> Hey everybody,
>
> I’m trying to get a working docker image to finally run some Python code
> which uses QuantLib.
>
> Dockerfile:
>
> ```
> FROM python:slim
>
> RUN apt-get update \
> && apt-get install -y \
> curl \
> build-essential \
> libboost-all-dev \
> cmake \
> ninja-build
>
> RUN curl -L
> https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz
> --output QuantLib-1.30.tar.gz \
> && tar xzf QuantLib-1.30.tar.gz \
> && rm QuantLib-1.30.tar.gz
> ```
>
> then I just run an instance and continue manually (to run have a faster
> trial and error loop)
>
> docker build --ssh default . -f Dockerfile -t foo
>
> and
>
> docker run -it --rm foo bash
>
> inside the container I do the following:
>
> cd QuantLib-1.30/build
> cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
> ninja
> ninja install
>
> Now, at `ninja install` I run into the following issue, and it seems I
> can’t find anything useful in the internetz.
>
> .
> .
> .
> -- Installing: /usr/local/include/ql/currencies/all.hpp
> -- Installing: /usr/local/include/ql/experimental/all.hpp
> CMake Error at ql/cmake_install.cmake:5243 (file):
> file INSTALL cannot find
> "/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such
> file or directory.
> Call Stack (most recent call first):
> cmake_install.cmake:47 (include)
>
>
> FAILED: CMakeFiles/install.util
> cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake
> ninja: build stopped: subcommand failed.
>
> Can someone point me into the right direction?
>
> Disclaimer: I actually work at this from a ops perspective and I don’t
> really know what QuantLib is doing or any other details about it :)
>
> Thx in advance and have a nice day,
> Marius
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Marius R. <mar...@fi...> - 2023-05-25 07:31:00
|
Good morning Jonathan, Cay and Luigi, first of all, thx for your answers. It seems that I probably made a mistake in formulating my question - I intended to be friendly and patient. the phrase with „finally“ running Python wasn’t meant to be rude, just from a logical point of view, that this is my goal. like in „try except finally“. simple installation with `pip install QuantLib` failed for me and was the actual reason why I digged deeper and tried to compile things myself. I can confirm though, that `pip install QuantLib` works on macOS itself (in a Python 3.11 venv) and also works with the python:slim image (also Py3.11) on a Docker host with amd64 architecture. As of ninja vs. make - I just gave ninja a try because make took 45 minutes for me and with ninja compilation time goes down to below 5 mins for me. I’m not a C or C++ developer myself so I’m not familiar with the toolchain. So, I tried to compile (with ninja again) from master branch and it „just worked“ :) - then I’ve tried QuantLib-SWIG-1.30 (from the release tar) but it failed to install and also I’ve tried QuantLib-SWIG from master branch which seems to miss the ./configure executable. I now paste the output as Luigi requested. root@efb3d345bd04:/# pip install QuantLib ERROR: Could not find a version that satisfies the requirement QuantLib (from versions: none) ERROR: No matching distribution found for QuantLib root@efb3d345bd04:/# pip debug --verbose WARNING: This command is only meant for debugging. Do not use this with automation for parsing and getting these details, since the output and options of this command may change without notice. pip version: pip 23.1.2 from /usr/local/lib/python3.11/site-packages/pip (python 3.11) sys.version: 3.11.3 (main, May 23 2023, 08:54:51) [GCC 10.2.1 20210110] sys.executable: /usr/local/bin/python sys.getdefaultencoding: utf-8 sys.getfilesystemencoding: utf-8 locale.getpreferredencoding: UTF-8 sys.platform: linux sys.implementation: name: cpython 'cert' config value: Not specified REQUESTS_CA_BUNDLE: None CURL_CA_BUNDLE: None pip._vendor.certifi.where(): /usr/local/lib/python3.11/site-packages/pip/_vendor/certifi/cacert.pem pip._vendor.DEBUNDLED: False vendored library versions: CacheControl==0.12.11 colorama==0.4.6 distlib==0.3.6 distro==1.8.0 msgpack==1.0.5 packaging==21.3 platformdirs==3.2.0 pyparsing==3.0.9 pyproject-hooks==1.0.0 requests==2.28.2 certifi==2022.12.07 chardet==5.1.0 idna==3.4 urllib3==1.26.15 rich==13.3.3 (Unable to locate actual module version, using vendor.txt specified version) pygments==2.14.0 typing_extensions==4.5.0 (Unable to locate actual module version, using vendor.txt specified version) resolvelib==1.0.1 setuptools==67.7.2 (Unable to locate actual module version, using vendor.txt specified version) six==1.16.0 tenacity==8.2.2 (Unable to locate actual module version, using vendor.txt specified version) tomli==2.0.1 webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version) Compatible tags: 439 cp311-cp311-manylinux_2_31_aarch64 cp311-cp311-manylinux_2_30_aarch64 cp311-cp311-manylinux_2_29_aarch64 cp311-cp311-manylinux_2_28_aarch64 cp311-cp311-manylinux_2_27_aarch64 cp311-cp311-manylinux_2_26_aarch64 cp311-cp311-manylinux_2_25_aarch64 cp311-cp311-manylinux_2_24_aarch64 cp311-cp311-manylinux_2_23_aarch64 cp311-cp311-manylinux_2_22_aarch64 cp311-cp311-manylinux_2_21_aarch64 cp311-cp311-manylinux_2_20_aarch64 cp311-cp311-manylinux_2_19_aarch64 cp311-cp311-manylinux_2_18_aarch64 cp311-cp311-manylinux_2_17_aarch64 cp311-cp311-manylinux2014_aarch64 cp311-cp311-linux_aarch64 cp311-abi3-manylinux_2_31_aarch64 cp311-abi3-manylinux_2_30_aarch64 cp311-abi3-manylinux_2_29_aarch64 cp311-abi3-manylinux_2_28_aarch64 cp311-abi3-manylinux_2_27_aarch64 cp311-abi3-manylinux_2_26_aarch64 cp311-abi3-manylinux_2_25_aarch64 cp311-abi3-manylinux_2_24_aarch64 cp311-abi3-manylinux_2_23_aarch64 cp311-abi3-manylinux_2_22_aarch64 cp311-abi3-manylinux_2_21_aarch64 cp311-abi3-manylinux_2_20_aarch64 cp311-abi3-manylinux_2_19_aarch64 cp311-abi3-manylinux_2_18_aarch64 cp311-abi3-manylinux_2_17_aarch64 cp311-abi3-manylinux2014_aarch64 cp311-abi3-linux_aarch64 cp311-none-manylinux_2_31_aarch64 cp311-none-manylinux_2_30_aarch64 cp311-none-manylinux_2_29_aarch64 cp311-none-manylinux_2_28_aarch64 cp311-none-manylinux_2_27_aarch64 cp311-none-manylinux_2_26_aarch64 cp311-none-manylinux_2_25_aarch64 cp311-none-manylinux_2_24_aarch64 cp311-none-manylinux_2_23_aarch64 cp311-none-manylinux_2_22_aarch64 cp311-none-manylinux_2_21_aarch64 cp311-none-manylinux_2_20_aarch64 cp311-none-manylinux_2_19_aarch64 cp311-none-manylinux_2_18_aarch64 cp311-none-manylinux_2_17_aarch64 cp311-none-manylinux2014_aarch64 cp311-none-linux_aarch64 cp310-abi3-manylinux_2_31_aarch64 cp310-abi3-manylinux_2_30_aarch64 cp310-abi3-manylinux_2_29_aarch64 cp310-abi3-manylinux_2_28_aarch64 cp310-abi3-manylinux_2_27_aarch64 cp310-abi3-manylinux_2_26_aarch64 cp310-abi3-manylinux_2_25_aarch64 cp310-abi3-manylinux_2_24_aarch64 cp310-abi3-manylinux_2_23_aarch64 cp310-abi3-manylinux_2_22_aarch64 cp310-abi3-manylinux_2_21_aarch64 cp310-abi3-manylinux_2_20_aarch64 cp310-abi3-manylinux_2_19_aarch64 cp310-abi3-manylinux_2_18_aarch64 cp310-abi3-manylinux_2_17_aarch64 cp310-abi3-manylinux2014_aarch64 cp310-abi3-linux_aarch64 cp39-abi3-manylinux_2_31_aarch64 cp39-abi3-manylinux_2_30_aarch64 cp39-abi3-manylinux_2_29_aarch64 cp39-abi3-manylinux_2_28_aarch64 cp39-abi3-manylinux_2_27_aarch64 cp39-abi3-manylinux_2_26_aarch64 cp39-abi3-manylinux_2_25_aarch64 cp39-abi3-manylinux_2_24_aarch64 cp39-abi3-manylinux_2_23_aarch64 cp39-abi3-manylinux_2_22_aarch64 cp39-abi3-manylinux_2_21_aarch64 cp39-abi3-manylinux_2_20_aarch64 cp39-abi3-manylinux_2_19_aarch64 cp39-abi3-manylinux_2_18_aarch64 cp39-abi3-manylinux_2_17_aarch64 cp39-abi3-manylinux2014_aarch64 cp39-abi3-linux_aarch64 cp38-abi3-manylinux_2_31_aarch64 cp38-abi3-manylinux_2_30_aarch64 cp38-abi3-manylinux_2_29_aarch64 cp38-abi3-manylinux_2_28_aarch64 cp38-abi3-manylinux_2_27_aarch64 cp38-abi3-manylinux_2_26_aarch64 cp38-abi3-manylinux_2_25_aarch64 cp38-abi3-manylinux_2_24_aarch64 cp38-abi3-manylinux_2_23_aarch64 cp38-abi3-manylinux_2_22_aarch64 cp38-abi3-manylinux_2_21_aarch64 cp38-abi3-manylinux_2_20_aarch64 cp38-abi3-manylinux_2_19_aarch64 cp38-abi3-manylinux_2_18_aarch64 cp38-abi3-manylinux_2_17_aarch64 cp38-abi3-manylinux2014_aarch64 cp38-abi3-linux_aarch64 cp37-abi3-manylinux_2_31_aarch64 cp37-abi3-manylinux_2_30_aarch64 cp37-abi3-manylinux_2_29_aarch64 cp37-abi3-manylinux_2_28_aarch64 cp37-abi3-manylinux_2_27_aarch64 cp37-abi3-manylinux_2_26_aarch64 cp37-abi3-manylinux_2_25_aarch64 cp37-abi3-manylinux_2_24_aarch64 cp37-abi3-manylinux_2_23_aarch64 cp37-abi3-manylinux_2_22_aarch64 cp37-abi3-manylinux_2_21_aarch64 cp37-abi3-manylinux_2_20_aarch64 cp37-abi3-manylinux_2_19_aarch64 cp37-abi3-manylinux_2_18_aarch64 cp37-abi3-manylinux_2_17_aarch64 cp37-abi3-manylinux2014_aarch64 cp37-abi3-linux_aarch64 cp36-abi3-manylinux_2_31_aarch64 cp36-abi3-manylinux_2_30_aarch64 cp36-abi3-manylinux_2_29_aarch64 cp36-abi3-manylinux_2_28_aarch64 cp36-abi3-manylinux_2_27_aarch64 cp36-abi3-manylinux_2_26_aarch64 cp36-abi3-manylinux_2_25_aarch64 cp36-abi3-manylinux_2_24_aarch64 cp36-abi3-manylinux_2_23_aarch64 cp36-abi3-manylinux_2_22_aarch64 cp36-abi3-manylinux_2_21_aarch64 cp36-abi3-manylinux_2_20_aarch64 cp36-abi3-manylinux_2_19_aarch64 cp36-abi3-manylinux_2_18_aarch64 cp36-abi3-manylinux_2_17_aarch64 cp36-abi3-manylinux2014_aarch64 cp36-abi3-linux_aarch64 cp35-abi3-manylinux_2_31_aarch64 cp35-abi3-manylinux_2_30_aarch64 cp35-abi3-manylinux_2_29_aarch64 cp35-abi3-manylinux_2_28_aarch64 cp35-abi3-manylinux_2_27_aarch64 cp35-abi3-manylinux_2_26_aarch64 cp35-abi3-manylinux_2_25_aarch64 cp35-abi3-manylinux_2_24_aarch64 cp35-abi3-manylinux_2_23_aarch64 cp35-abi3-manylinux_2_22_aarch64 cp35-abi3-manylinux_2_21_aarch64 cp35-abi3-manylinux_2_20_aarch64 cp35-abi3-manylinux_2_19_aarch64 cp35-abi3-manylinux_2_18_aarch64 cp35-abi3-manylinux_2_17_aarch64 cp35-abi3-manylinux2014_aarch64 cp35-abi3-linux_aarch64 cp34-abi3-manylinux_2_31_aarch64 cp34-abi3-manylinux_2_30_aarch64 cp34-abi3-manylinux_2_29_aarch64 cp34-abi3-manylinux_2_28_aarch64 cp34-abi3-manylinux_2_27_aarch64 cp34-abi3-manylinux_2_26_aarch64 cp34-abi3-manylinux_2_25_aarch64 cp34-abi3-manylinux_2_24_aarch64 cp34-abi3-manylinux_2_23_aarch64 cp34-abi3-manylinux_2_22_aarch64 cp34-abi3-manylinux_2_21_aarch64 cp34-abi3-manylinux_2_20_aarch64 cp34-abi3-manylinux_2_19_aarch64 cp34-abi3-manylinux_2_18_aarch64 cp34-abi3-manylinux_2_17_aarch64 cp34-abi3-manylinux2014_aarch64 cp34-abi3-linux_aarch64 cp33-abi3-manylinux_2_31_aarch64 cp33-abi3-manylinux_2_30_aarch64 cp33-abi3-manylinux_2_29_aarch64 cp33-abi3-manylinux_2_28_aarch64 cp33-abi3-manylinux_2_27_aarch64 cp33-abi3-manylinux_2_26_aarch64 cp33-abi3-manylinux_2_25_aarch64 cp33-abi3-manylinux_2_24_aarch64 cp33-abi3-manylinux_2_23_aarch64 cp33-abi3-manylinux_2_22_aarch64 cp33-abi3-manylinux_2_21_aarch64 cp33-abi3-manylinux_2_20_aarch64 cp33-abi3-manylinux_2_19_aarch64 cp33-abi3-manylinux_2_18_aarch64 cp33-abi3-manylinux_2_17_aarch64 cp33-abi3-manylinux2014_aarch64 cp33-abi3-linux_aarch64 cp32-abi3-manylinux_2_31_aarch64 cp32-abi3-manylinux_2_30_aarch64 cp32-abi3-manylinux_2_29_aarch64 cp32-abi3-manylinux_2_28_aarch64 cp32-abi3-manylinux_2_27_aarch64 cp32-abi3-manylinux_2_26_aarch64 cp32-abi3-manylinux_2_25_aarch64 cp32-abi3-manylinux_2_24_aarch64 cp32-abi3-manylinux_2_23_aarch64 cp32-abi3-manylinux_2_22_aarch64 cp32-abi3-manylinux_2_21_aarch64 cp32-abi3-manylinux_2_20_aarch64 cp32-abi3-manylinux_2_19_aarch64 cp32-abi3-manylinux_2_18_aarch64 cp32-abi3-manylinux_2_17_aarch64 cp32-abi3-manylinux2014_aarch64 cp32-abi3-linux_aarch64 py311-none-manylinux_2_31_aarch64 py311-none-manylinux_2_30_aarch64 py311-none-manylinux_2_29_aarch64 py311-none-manylinux_2_28_aarch64 py311-none-manylinux_2_27_aarch64 py311-none-manylinux_2_26_aarch64 py311-none-manylinux_2_25_aarch64 py311-none-manylinux_2_24_aarch64 py311-none-manylinux_2_23_aarch64 py311-none-manylinux_2_22_aarch64 py311-none-manylinux_2_21_aarch64 py311-none-manylinux_2_20_aarch64 py311-none-manylinux_2_19_aarch64 py311-none-manylinux_2_18_aarch64 py311-none-manylinux_2_17_aarch64 py311-none-manylinux2014_aarch64 py311-none-linux_aarch64 py3-none-manylinux_2_31_aarch64 py3-none-manylinux_2_30_aarch64 py3-none-manylinux_2_29_aarch64 py3-none-manylinux_2_28_aarch64 py3-none-manylinux_2_27_aarch64 py3-none-manylinux_2_26_aarch64 py3-none-manylinux_2_25_aarch64 py3-none-manylinux_2_24_aarch64 py3-none-manylinux_2_23_aarch64 py3-none-manylinux_2_22_aarch64 py3-none-manylinux_2_21_aarch64 py3-none-manylinux_2_20_aarch64 py3-none-manylinux_2_19_aarch64 py3-none-manylinux_2_18_aarch64 py3-none-manylinux_2_17_aarch64 py3-none-manylinux2014_aarch64 py3-none-linux_aarch64 py310-none-manylinux_2_31_aarch64 py310-none-manylinux_2_30_aarch64 py310-none-manylinux_2_29_aarch64 py310-none-manylinux_2_28_aarch64 py310-none-manylinux_2_27_aarch64 py310-none-manylinux_2_26_aarch64 py310-none-manylinux_2_25_aarch64 py310-none-manylinux_2_24_aarch64 py310-none-manylinux_2_23_aarch64 py310-none-manylinux_2_22_aarch64 py310-none-manylinux_2_21_aarch64 py310-none-manylinux_2_20_aarch64 py310-none-manylinux_2_19_aarch64 py310-none-manylinux_2_18_aarch64 py310-none-manylinux_2_17_aarch64 py310-none-manylinux2014_aarch64 py310-none-linux_aarch64 py39-none-manylinux_2_31_aarch64 py39-none-manylinux_2_30_aarch64 py39-none-manylinux_2_29_aarch64 py39-none-manylinux_2_28_aarch64 py39-none-manylinux_2_27_aarch64 py39-none-manylinux_2_26_aarch64 py39-none-manylinux_2_25_aarch64 py39-none-manylinux_2_24_aarch64 py39-none-manylinux_2_23_aarch64 py39-none-manylinux_2_22_aarch64 py39-none-manylinux_2_21_aarch64 py39-none-manylinux_2_20_aarch64 py39-none-manylinux_2_19_aarch64 py39-none-manylinux_2_18_aarch64 py39-none-manylinux_2_17_aarch64 py39-none-manylinux2014_aarch64 py39-none-linux_aarch64 py38-none-manylinux_2_31_aarch64 py38-none-manylinux_2_30_aarch64 py38-none-manylinux_2_29_aarch64 py38-none-manylinux_2_28_aarch64 py38-none-manylinux_2_27_aarch64 py38-none-manylinux_2_26_aarch64 py38-none-manylinux_2_25_aarch64 py38-none-manylinux_2_24_aarch64 py38-none-manylinux_2_23_aarch64 py38-none-manylinux_2_22_aarch64 py38-none-manylinux_2_21_aarch64 py38-none-manylinux_2_20_aarch64 py38-none-manylinux_2_19_aarch64 py38-none-manylinux_2_18_aarch64 py38-none-manylinux_2_17_aarch64 py38-none-manylinux2014_aarch64 py38-none-linux_aarch64 py37-none-manylinux_2_31_aarch64 py37-none-manylinux_2_30_aarch64 py37-none-manylinux_2_29_aarch64 py37-none-manylinux_2_28_aarch64 py37-none-manylinux_2_27_aarch64 py37-none-manylinux_2_26_aarch64 py37-none-manylinux_2_25_aarch64 py37-none-manylinux_2_24_aarch64 py37-none-manylinux_2_23_aarch64 py37-none-manylinux_2_22_aarch64 py37-none-manylinux_2_21_aarch64 py37-none-manylinux_2_20_aarch64 py37-none-manylinux_2_19_aarch64 py37-none-manylinux_2_18_aarch64 py37-none-manylinux_2_17_aarch64 py37-none-manylinux2014_aarch64 py37-none-linux_aarch64 py36-none-manylinux_2_31_aarch64 py36-none-manylinux_2_30_aarch64 py36-none-manylinux_2_29_aarch64 py36-none-manylinux_2_28_aarch64 py36-none-manylinux_2_27_aarch64 py36-none-manylinux_2_26_aarch64 py36-none-manylinux_2_25_aarch64 py36-none-manylinux_2_24_aarch64 py36-none-manylinux_2_23_aarch64 py36-none-manylinux_2_22_aarch64 py36-none-manylinux_2_21_aarch64 py36-none-manylinux_2_20_aarch64 py36-none-manylinux_2_19_aarch64 py36-none-manylinux_2_18_aarch64 py36-none-manylinux_2_17_aarch64 py36-none-manylinux2014_aarch64 py36-none-linux_aarch64 py35-none-manylinux_2_31_aarch64 py35-none-manylinux_2_30_aarch64 py35-none-manylinux_2_29_aarch64 py35-none-manylinux_2_28_aarch64 py35-none-manylinux_2_27_aarch64 py35-none-manylinux_2_26_aarch64 py35-none-manylinux_2_25_aarch64 py35-none-manylinux_2_24_aarch64 py35-none-manylinux_2_23_aarch64 py35-none-manylinux_2_22_aarch64 py35-none-manylinux_2_21_aarch64 py35-none-manylinux_2_20_aarch64 py35-none-manylinux_2_19_aarch64 py35-none-manylinux_2_18_aarch64 py35-none-manylinux_2_17_aarch64 py35-none-manylinux2014_aarch64 py35-none-linux_aarch64 py34-none-manylinux_2_31_aarch64 py34-none-manylinux_2_30_aarch64 py34-none-manylinux_2_29_aarch64 py34-none-manylinux_2_28_aarch64 py34-none-manylinux_2_27_aarch64 py34-none-manylinux_2_26_aarch64 py34-none-manylinux_2_25_aarch64 py34-none-manylinux_2_24_aarch64 py34-none-manylinux_2_23_aarch64 py34-none-manylinux_2_22_aarch64 py34-none-manylinux_2_21_aarch64 py34-none-manylinux_2_20_aarch64 py34-none-manylinux_2_19_aarch64 py34-none-manylinux_2_18_aarch64 py34-none-manylinux_2_17_aarch64 py34-none-manylinux2014_aarch64 py34-none-linux_aarch64 py33-none-manylinux_2_31_aarch64 py33-none-manylinux_2_30_aarch64 py33-none-manylinux_2_29_aarch64 py33-none-manylinux_2_28_aarch64 py33-none-manylinux_2_27_aarch64 py33-none-manylinux_2_26_aarch64 py33-none-manylinux_2_25_aarch64 py33-none-manylinux_2_24_aarch64 py33-none-manylinux_2_23_aarch64 py33-none-manylinux_2_22_aarch64 py33-none-manylinux_2_21_aarch64 py33-none-manylinux_2_20_aarch64 py33-none-manylinux_2_19_aarch64 py33-none-manylinux_2_18_aarch64 py33-none-manylinux_2_17_aarch64 py33-none-manylinux2014_aarch64 py33-none-linux_aarch64 py32-none-manylinux_2_31_aarch64 py32-none-manylinux_2_30_aarch64 py32-none-manylinux_2_29_aarch64 py32-none-manylinux_2_28_aarch64 py32-none-manylinux_2_27_aarch64 py32-none-manylinux_2_26_aarch64 py32-none-manylinux_2_25_aarch64 py32-none-manylinux_2_24_aarch64 py32-none-manylinux_2_23_aarch64 py32-none-manylinux_2_22_aarch64 py32-none-manylinux_2_21_aarch64 py32-none-manylinux_2_20_aarch64 py32-none-manylinux_2_19_aarch64 py32-none-manylinux_2_18_aarch64 py32-none-manylinux_2_17_aarch64 py32-none-manylinux2014_aarch64 py32-none-linux_aarch64 py31-none-manylinux_2_31_aarch64 py31-none-manylinux_2_30_aarch64 py31-none-manylinux_2_29_aarch64 py31-none-manylinux_2_28_aarch64 py31-none-manylinux_2_27_aarch64 py31-none-manylinux_2_26_aarch64 py31-none-manylinux_2_25_aarch64 py31-none-manylinux_2_24_aarch64 py31-none-manylinux_2_23_aarch64 py31-none-manylinux_2_22_aarch64 py31-none-manylinux_2_21_aarch64 py31-none-manylinux_2_20_aarch64 py31-none-manylinux_2_19_aarch64 py31-none-manylinux_2_18_aarch64 py31-none-manylinux_2_17_aarch64 py31-none-manylinux2014_aarch64 py31-none-linux_aarch64 py30-none-manylinux_2_31_aarch64 py30-none-manylinux_2_30_aarch64 py30-none-manylinux_2_29_aarch64 py30-none-manylinux_2_28_aarch64 py30-none-manylinux_2_27_aarch64 py30-none-manylinux_2_26_aarch64 py30-none-manylinux_2_25_aarch64 py30-none-manylinux_2_24_aarch64 py30-none-manylinux_2_23_aarch64 py30-none-manylinux_2_22_aarch64 py30-none-manylinux_2_21_aarch64 py30-none-manylinux_2_20_aarch64 py30-none-manylinux_2_19_aarch64 py30-none-manylinux_2_18_aarch64 py30-none-manylinux_2_17_aarch64 py30-none-manylinux2014_aarch64 py30-none-linux_aarch64 cp311-none-any py311-none-any py3-none-any py310-none-any py39-none-any py38-none-any py37-none-any py36-none-any py35-none-any py34-none-any py33-none-any py32-none-any py31-none-any py30-none-any thx again to everybody. Am 24.05.2023 um 22:39 schrieb Cay Oest <cay...@fr...>: You don't often get email from cay...@fr...<mailto:cay...@fr...>. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. Dear Marius, Given that you did choose not to `pip install ql` in dedicated `slim` Python Docker container `python:slim` for whatever reason, and that you really needed to grab the latest version `quantLib 1.30`, And really needed to use `ninja` you should ask the community, I refer to sweemer’s reply. Otherwise: You could just use pip or in that particular weird container `apt install quantlib`, which will get you version 1.21. The underlying Linux version is `Debian`. Well, if 1.21 doesn’t suffice, you should really refrain to git. There is no point in insisting on the latest version of QuantLib or <random_github_repository> without using git. 😉 Kind regards, Cay From: Jonathan Sweemer <sw...@gm...<mailto:sw...@gm...>> Sent: Mittwoch, 24. Mai 2023 22:42 To: Marius Räsener <mar...@fi...<mailto:mar...@fi...>> Cc: qua...@li...<mailto:qua...@li...> Subject: Re: [Quantlib-users] Building and installing QuantLib on Docker with aarch64 (Apple silicon) Hi Marius, This was reported on GitHub here: https://github.com/lballabio/QuantLib/issues/1675 Your options are 1) download from the master branch instead of the 1.30 tag, 2) manually apply the fix linked in the issue above, or 3) install using automake instead of CMake. 2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi...<mailto:mar...@fi...>>님이 작성: Hey everybody, I’m trying to get a working docker image to finally run some Python code which uses QuantLib. Dockerfile: ``` FROM python:slim RUN apt-get update \ && apt-get install -y \ curl \ build-essential \ libboost-all-dev \ cmake \ ninja-build RUN curl -L https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz --output QuantLib-1.30.tar.gz \ && tar xzf QuantLib-1.30.tar.gz \ && rm QuantLib-1.30.tar.gz ``` then I just run an instance and continue manually (to run have a faster trial and error loop) docker build --ssh default . -f Dockerfile -t foo and docker run -it --rm foo bash inside the container I do the following: cd QuantLib-1.30/build cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release ninja ninja install Now, at `ninja install` I run into the following issue, and it seems I can’t find anything useful in the internetz. . . . -- Installing: /usr/local/include/ql/currencies/all.hpp -- Installing: /usr/local/include/ql/experimental/all.hpp CMake Error at ql/cmake_install.cmake:5243 (file): file INSTALL cannot find "/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such file or directory. Call Stack (most recent call first): cmake_install.cmake:47 (include) FAILED: CMakeFiles/install.util cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake ninja: build stopped: subcommand failed. Can someone point me into the right direction? Disclaimer: I actually work at this from a ops perspective and I don’t really know what QuantLib is doing or any other details about it :) Thx in advance and have a nice day, Marius _______________________________________________ QuantLib-users mailing list Qua...@li...<mailto:Qua...@li...> https://lists.sourceforge.net/lists/listinfo/quantlib-users |
|
From: Luigi B. <lui...@gm...> - 2023-05-25 07:13:57
|
Hello Marius,
as Cay mentioned, I'd try using "pip install QuantLib" and sidestep the
compilation entirely. If that doesn't work, may you please give more
details on your operating system, and may you run "pip debug --verbose"
inside the Docker container and report the output?
Thanks,
Luigi
On Thu, May 25, 2023 at 12:43 AM Cay Oest <cay...@fr...> wrote:
> Dear Marius,
>
>
>
> Given that you did choose not to
>
> `pip install ql`
>
> in dedicated `slim` Python Docker container
>
> `python:slim`
>
> for whatever reason, and that you really needed to grab the latest version
>
> `quantLib 1.30`,
>
> And really needed to use
>
> `ninja`
>
> you should ask the community, I refer to sweemer’s reply.
>
>
>
> Otherwise:
>
> You could just use pip or in that particular weird container
>
> `apt install quantlib`, which will get you version 1.21. The underlying
> Linux version is `Debian`.
>
> Well, if 1.21 doesn’t suffice, you should really refrain to git.
>
> There is no point in insisting on the latest version of QuantLib or
> <random_github_repository> without using git. 😉
>
>
>
> Kind regards,
>
>
>
> Cay
>
>
>
> *From:* Jonathan Sweemer <sw...@gm...>
> *Sent:* Mittwoch, 24. Mai 2023 22:42
> *To:* Marius Räsener <mar...@fi...>
> *Cc:* qua...@li...
> *Subject:* Re: [Quantlib-users] Building and installing QuantLib on
> Docker with aarch64 (Apple silicon)
>
>
>
> Hi Marius,
>
>
>
> This was reported on GitHub here:
>
> https://github.com/lballabio/QuantLib/issues/1675
>
>
>
> Your options are 1) download from the master branch instead of the 1.30
> tag, 2) manually apply the fix linked in the issue above, or 3) install
> using automake instead of CMake.
>
>
>
> 2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi...>님이 작성:
>
> Hey everybody,
>
> I’m trying to get a working docker image to finally run some Python code
> which uses QuantLib.
>
> Dockerfile:
>
> ```
> FROM python:slim
>
> RUN apt-get update \
> && apt-get install -y \
> curl \
> build-essential \
> libboost-all-dev \
> cmake \
> ninja-build
>
> RUN curl -L
> https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz
> --output QuantLib-1.30.tar.gz \
> && tar xzf QuantLib-1.30.tar.gz \
> && rm QuantLib-1.30.tar.gz
> ```
>
> then I just run an instance and continue manually (to run have a faster
> trial and error loop)
>
> docker build --ssh default . -f Dockerfile -t foo
>
> and
>
> docker run -it --rm foo bash
>
> inside the container I do the following:
>
> cd QuantLib-1.30/build
> cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release
> ninja
> ninja install
>
> Now, at `ninja install` I run into the following issue, and it seems I
> can’t find anything useful in the internetz.
>
> .
> .
> .
> -- Installing: /usr/local/include/ql/currencies/all.hpp
> -- Installing: /usr/local/include/ql/experimental/all.hpp
> CMake Error at ql/cmake_install.cmake:5243 (file):
> file INSTALL cannot find
> "/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such
> file or directory.
> Call Stack (most recent call first):
> cmake_install.cmake:47 (include)
>
>
> FAILED: CMakeFiles/install.util
> cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake
> ninja: build stopped: subcommand failed.
>
> Can someone point me into the right direction?
>
> Disclaimer: I actually work at this from a ops perspective and I don’t
> really know what QuantLib is doing or any other details about it :)
>
> Thx in advance and have a nice day,
> Marius
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|
|
From: Cay O. <cay...@fr...> - 2023-05-24 22:40:08
|
Dear Marius, Given that you did choose not to `pip install ql` in dedicated `slim` Python Docker container `python:slim` for whatever reason, and that you really needed to grab the latest version `quantLib 1.30`, And really needed to use `ninja` you should ask the community, I refer to sweemer’s reply. Otherwise: You could just use pip or in that particular weird container `apt install quantlib`, which will get you version 1.21. The underlying Linux version is `Debian`. Well, if 1.21 doesn’t suffice, you should really refrain to git. There is no point in insisting on the latest version of QuantLib or <random_github_repository> without using git. 😉 Kind regards, Cay From: Jonathan Sweemer <sw...@gm...> Sent: Mittwoch, 24. Mai 2023 22:42 To: Marius Räsener <mar...@fi...> Cc: qua...@li... Subject: Re: [Quantlib-users] Building and installing QuantLib on Docker with aarch64 (Apple silicon) Hi Marius, This was reported on GitHub here: https://github.com/lballabio/QuantLib/issues/1675 Your options are 1) download from the master branch instead of the 1.30 tag, 2) manually apply the fix linked in the issue above, or 3) install using automake instead of CMake. 2023년 5월 25일 (목) 02:32, Marius Räsener <mar...@fi... <mailto:mar...@fi...> >님이 작성: Hey everybody, I’m trying to get a working docker image to finally run some Python code which uses QuantLib. Dockerfile: ``` FROM python:slim RUN apt-get update \ && apt-get install -y \ curl \ build-essential \ libboost-all-dev \ cmake \ ninja-build RUN curl -L https://github.com/lballabio/QuantLib/releases/download/QuantLib-v1.30/QuantLib-1.30.tar.gz --output QuantLib-1.30.tar.gz \ && tar xzf QuantLib-1.30.tar.gz \ && rm QuantLib-1.30.tar.gz ``` then I just run an instance and continue manually (to run have a faster trial and error loop) docker build --ssh default . -f Dockerfile -t foo and docker run -it --rm foo bash inside the container I do the following: cd QuantLib-1.30/build cmake .. -G Ninja -D CMAKE_BUILD_TYPE=Release ninja ninja install Now, at `ninja install` I run into the following issue, and it seems I can’t find anything useful in the internetz. . . . -- Installing: /usr/local/include/ql/currencies/all.hpp -- Installing: /usr/local/include/ql/experimental/all.hpp CMake Error at ql/cmake_install.cmake:5243 (file): file INSTALL cannot find "/QuantLib-1.30/build/ql/experimental/amortizingbonds/all.hpp": No such file or directory. Call Stack (most recent call first): cmake_install.cmake:47 (include) FAILED: CMakeFiles/install.util cd /QuantLib-1.30/build && /usr/bin/cmake -P cmake_install.cmake ninja: build stopped: subcommand failed. Can someone point me into the right direction? Disclaimer: I actually work at this from a ops perspective and I don’t really know what QuantLib is doing or any other details about it :) Thx in advance and have a nice day, Marius _______________________________________________ QuantLib-users mailing list Qua...@li... <mailto:Qua...@li...> https://lists.sourceforge.net/lists/listinfo/quantlib-users |