#731170 quantlib-python: Version 1.3-1 upgrade does not pull in libquantlib0

Package:
quantlib-python
Source:
quantlib-swig
Description:
Python3 bindings for the Quantlib Quantitative Finance library
Submitter:
Allen Chan
Date:
2013-12-02 20:57:07 UTC
Severity:
normal
#731170#5
Date:
2013-12-02 18:48:56 UTC
From:
To:
Dear Maintainer,

When upgrading to version 1.3-1 from 1.2-1, apt-get does not pull in the new
libquantlib0 package, which was being provided by the libquantlib-1.2 package.

I had to manually install libquantlib0 to get quantlib-python to work again.

Thank you.

#731170#10
Date:
2013-12-02 19:25:13 UTC
From:
To:
Hi Allen,

Thanks for taking the time to file a report!

On 2 December 2013 at 13:48, Allen Chan wrote:
| Package: quantlib-python
| Version: 1.3-1
| Severity: normal
|
| Dear Maintainer,
|
| When upgrading to version 1.3-1 from 1.2-1, apt-get does not pull in the new
| libquantlib0 package, which was being provided by the libquantlib-1.2 package.
|
| I had to manually install libquantlib0 to get quantlib-python to work again.

That does not sound right.  My testing instance has this package which is the
one you should use -- unless I messed something up at my end.

edd@billie:~$ wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: i386
Uncompressed Size: 15.8 M
Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Breaks: libquantlib-1.0.0, libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework for
 quantitative finance. The goal is to provide a standard free/open source
 library to quantitative analysts and developers for modeling, trading, and
 risk
 management of financial assets.

 This package provides the shared libraries required to run programs compiled
 with QuantLib.

edd@billie:~$


Also, quantlib-python correctly depends on this one:

edd@billie:~$ wajig show quantlib-python
Package: quantlib-python
State: not installed
Version: 1.3-1
Priority: optional
Section: python
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: i386
Uncompressed Size: 10.1 M
Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libquantlib0, libstdc++6 (>=
4.6), python (>= 2.7), python (< 2.8)
Description: Python bindings for the Quantlib Quantitative Finance library
 The QuantLib project is aimed to provide a comprehensive software framework
 for quantitative finance. The goal is to provide a standard free/open source
 library to quantitative analysts and developers for modeling, trading, and
 risk
 management in real-life.

 QuantLib plans to offer tools that are useful for both practical
 implementation, with features such as market conventions, solvers, PDEs,
 etc., and advanced modeling, e.g., exotic options and interest rate models.

 This package provides Python bindings to parts of the QuantLib library.

edd@billie:~$

We did in the past use libquantlib-$VERSION but have now retracted this as it
generally overcomplicates things for little actual gain.

There may still be a bug here, but could you try this combination?

Thanks!

Dirk

#731170#15
Date:
2013-12-02 19:25:13 UTC
From:
To:
Hi Allen,

Thanks for taking the time to file a report!

On 2 December 2013 at 13:48, Allen Chan wrote:
| Package: quantlib-python
| Version: 1.3-1
| Severity: normal
|
| Dear Maintainer,
|
| When upgrading to version 1.3-1 from 1.2-1, apt-get does not pull in the new
| libquantlib0 package, which was being provided by the libquantlib-1.2 package.
|
| I had to manually install libquantlib0 to get quantlib-python to work again.

That does not sound right.  My testing instance has this package which is the
one you should use -- unless I messed something up at my end.

edd@billie:~$ wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: i386
Uncompressed Size: 15.8 M
Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Breaks: libquantlib-1.0.0, libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework for
 quantitative finance. The goal is to provide a standard free/open source
 library to quantitative analysts and developers for modeling, trading, and
 risk
 management of financial assets.

 This package provides the shared libraries required to run programs compiled
 with QuantLib.

edd@billie:~$


Also, quantlib-python correctly depends on this one:

edd@billie:~$ wajig show quantlib-python
Package: quantlib-python
State: not installed
Version: 1.3-1
Priority: optional
Section: python
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: i386
Uncompressed Size: 10.1 M
Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libquantlib0, libstdc++6 (>=
4.6), python (>= 2.7), python (< 2.8)
Description: Python bindings for the Quantlib Quantitative Finance library
 The QuantLib project is aimed to provide a comprehensive software framework
 for quantitative finance. The goal is to provide a standard free/open source
 library to quantitative analysts and developers for modeling, trading, and
 risk
 management in real-life.

 QuantLib plans to offer tools that are useful for both practical
 implementation, with features such as market conventions, solvers, PDEs,
 etc., and advanced modeling, e.g., exotic options and interest rate models.

 This package provides Python bindings to parts of the QuantLib library.

edd@billie:~$

We did in the past use libquantlib-$VERSION but have now retracted this as it
generally overcomplicates things for little actual gain.

There may still be a bug here, but could you try this combination?

Thanks!

Dirk

#731170#20
Date:
2013-12-02 20:29:10 UTC
From:
To:
Hi Dirk,  thanks for looking into this.

I was able to restore my previous state and recreate the problem as shown
in the log below.  Again, I was able to solve my specific problem by
manually installing the libquantlib0 package.

============= log begin ===========
# wajig show quantlib-python
Package: quantlib-python
State: installed
Automatically installed: no
Version: 1.2-2
Priority: optional
Section: python
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 10.5 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libquantlib-1.2,
libstdc++6 (>= 4.2.1), python2.7, python (>= 2.7), python (< 2.8)
Conflicts: quantlib-python
Description: Python bindings for the Quantlib Quantitative Finance library
 The QuantLib project is aimed to provide a comprehensive software
framework for quantitative finance. The goal is to provide a standard
free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management in real-life.

 QuantLib plans to offer tools that are useful for both practical
implementation, with features such as market conventions, solvers, PDEs,
etc., and
 advanced modeling, e.g., exotic options and interest rate models.

 This package provides Python bindings to parts of the QuantLib library.

# wajig show libquantlib-1.2
Package: libquantlib-1.2
State: installed
Automatically installed: no
Version: 1.2.1-1
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 17.6 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib0, libquantlib0
Provides: libquantlib0
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 18.0 M
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  quantlib-python
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/1,690 kB of archives.
After this operation, 266 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Reading changelogs... Done
(Reading database ... 181093 files and directories currently installed.)
Preparing to replace quantlib-python 1.2-2 (using
.../quantlib-python_1.3-1_amd64.deb) ...
Unpacking replacement quantlib-python ...
Setting up quantlib-python (1.3-1) ...

# wajig show libquantlib-1.2
Package: libquantlib-1.2
State: installed
Automatically installed: no
Version: 1.2.1-1
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 17.6 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib0, libquantlib0
Provides: libquantlib0
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 18.0 M
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# python
Python 2.7.6 (default, Nov 22 2013, 14:00:40)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/QuantLib/__init__.py", line 19, in
<module>
    from QuantLib import *
  File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 26, in
<module>
    _QuantLib = swig_import_helper()
  File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 22, in
swig_import_helper
    _mod = imp.load_module('_QuantLib', fp, pathname, description)
ImportError: /usr/lib/python2.7/dist-packages/QuantLib/_QuantLib.so:
undefined symbol:
_ZNK8QuantLib12SmileSection11optionPriceEdNS_6Option4TypeEd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  libquantlib-1.2
The following NEW packages will be installed:
  libquantlib0
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B/3,544 kB of archives.
After this operation, 353 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: libquantlib-1.2: dependency problems, but removing anyway as you
requested:
 quantlib-python depends on libquantlib0; however:
  Package libquantlib0 is not installed.
  Package libquantlib-1.2 which provides libquantlib0 is to be removed.

(Reading database ... 181094 files and directories currently installed.)
Removing libquantlib-1.2 ...
Processing triggers for libc-bin ...
Selecting previously unselected package libquantlib0.
(Reading database ... 181083 files and directories currently installed.)
Unpacking libquantlib0 (from .../libquantlib0_1.3-2_amd64.deb) ...
Processing triggers for man-db ...
Setting up libquantlib0 (1.3-2) ...
Processing triggers for libc-bin ...

# python
Python 2.7.6 (default, Nov 22 2013, 14:00:40)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
============= log end ===========

#731170#25
Date:
2013-12-02 20:29:10 UTC
From:
To:
Hi Dirk,  thanks for looking into this.

I was able to restore my previous state and recreate the problem as shown
in the log below.  Again, I was able to solve my specific problem by
manually installing the libquantlib0 package.

============= log begin ===========
# wajig show quantlib-python
Package: quantlib-python
State: installed
Automatically installed: no
Version: 1.2-2
Priority: optional
Section: python
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 10.5 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libquantlib-1.2,
libstdc++6 (>= 4.2.1), python2.7, python (>= 2.7), python (< 2.8)
Conflicts: quantlib-python
Description: Python bindings for the Quantlib Quantitative Finance library
 The QuantLib project is aimed to provide a comprehensive software
framework for quantitative finance. The goal is to provide a standard
free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management in real-life.

 QuantLib plans to offer tools that are useful for both practical
implementation, with features such as market conventions, solvers, PDEs,
etc., and
 advanced modeling, e.g., exotic options and interest rate models.

 This package provides Python bindings to parts of the QuantLib library.

# wajig show libquantlib-1.2
Package: libquantlib-1.2
State: installed
Automatically installed: no
Version: 1.2.1-1
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 17.6 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib0, libquantlib0
Provides: libquantlib0
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 18.0 M
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  quantlib-python
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/1,690 kB of archives.
After this operation, 266 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Reading changelogs... Done
(Reading database ... 181093 files and directories currently installed.)
Preparing to replace quantlib-python 1.2-2 (using
.../quantlib-python_1.3-1_amd64.deb) ...
Unpacking replacement quantlib-python ...
Setting up quantlib-python (1.3-1) ...

# wajig show libquantlib-1.2
Package: libquantlib-1.2
State: installed
Automatically installed: no
Version: 1.2.1-1
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 17.6 M
Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib0, libquantlib0
Provides: libquantlib0
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# wajig show libquantlib0
Package: libquantlib0
New: yes
State: not installed
Version: 1.3-2
Priority: optional
Section: libs
Maintainer: Dirk Eddelbuettel <edd@debian.org>
Architecture: amd64
Uncompressed Size: 18.0 M
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
Conflicts: libquantlib0
Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1
Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
Provided by: libquantlib-1.2
Description: Quantitative Finance Library -- library package
 The QuantLib project aims to provide a comprehensive software framework
for quantitative finance. The goal is to provide a standard free/open
 source library to quantitative analysts and developers for modeling,
trading, and risk management of financial assets.

 This package provides the shared libraries required to run programs
compiled with QuantLib.

# python
Python 2.7.6 (default, Nov 22 2013, 14:00:40)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/QuantLib/__init__.py", line 19, in
<module>
    from QuantLib import *
  File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 26, in
<module>
    _QuantLib = swig_import_helper()
  File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 22, in
swig_import_helper
    _mod = imp.load_module('_QuantLib', fp, pathname, description)
ImportError: /usr/lib/python2.7/dist-packages/QuantLib/_QuantLib.so:
undefined symbol:
_ZNK8QuantLib12SmileSection11optionPriceEdNS_6Option4TypeEd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  libquantlib-1.2
The following NEW packages will be installed:
  libquantlib0
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
Need to get 0 B/3,544 kB of archives.
After this operation, 353 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: libquantlib-1.2: dependency problems, but removing anyway as you
requested:
 quantlib-python depends on libquantlib0; however:
  Package libquantlib0 is not installed.
  Package libquantlib-1.2 which provides libquantlib0 is to be removed.

(Reading database ... 181094 files and directories currently installed.)
Removing libquantlib-1.2 ...
Processing triggers for libc-bin ...
Selecting previously unselected package libquantlib0.
(Reading database ... 181083 files and directories currently installed.)
Unpacking libquantlib0 (from .../libquantlib0_1.3-2_amd64.deb) ...
Processing triggers for man-db ...
Setting up libquantlib0 (1.3-2) ...
Processing triggers for libc-bin ...

# python
Python 2.7.6 (default, Nov 22 2013, 14:00:40)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
============= log end ===========

#731170#30
Date:
2013-12-02 20:55:12 UTC
From:
To:
On 2 December 2013 at 15:29, Allen Chan wrote:
| Hi Dirk,  thanks for looking into this.
|
| I was able to restore my previous state and recreate the problem as shown in
| the log below.  Again, I was able to solve my specific problem by manually
| installing the libquantlib0 package.
|
| ============= log begin ===========
| # wajig show quantlib-python
| Package: quantlib-python                 
| State: installed
| Automatically installed: no
| Version: 1.2-2
| Priority: optional
| Section: python
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 10.5 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libquantlib-1.2, libstdc++6 (>
| = 4.2.1), python2.7, python (>= 2.7), python (< 2.8)
| Conflicts: quantlib-python
| Description: Python bindings for the Quantlib Quantitative Finance library
|  The QuantLib project is aimed to provide a comprehensive software framework
| for quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management in real-life. 
|  
|  QuantLib plans to offer tools that are useful for both practical
| implementation, with features such as market conventions, solvers, PDEs, etc.,
| and
|  advanced modeling, e.g., exotic options and interest rate models. 
|  
|  This package provides Python bindings to parts of the QuantLib library.
|
| # wajig show libquantlib-1.2
| Package: libquantlib-1.2                 
| State: installed
| Automatically installed: no
| Version: 1.2.1-1
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 17.6 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib0, libquantlib0
| Provides: libquantlib0
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # wajig show libquantlib0
| Package: libquantlib0                    
| New: yes
| State: not installed
| Version: 1.3-2
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 18.0 M
| Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
| Provided by: libquantlib-1.2
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # apt-get dist-upgrade
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| Calculating upgrade... Done
| The following packages will be upgraded:
|   quantlib-python
| 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
| Need to get 0 B/1,690 kB of archives.
| After this operation, 266 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| Reading changelogs... Done
| (Reading database ... 181093 files and directories currently installed.)
| Preparing to replace quantlib-python 1.2-2 (using .../
| quantlib-python_1.3-1_amd64.deb) ...
| Unpacking replacement quantlib-python ...
| Setting up quantlib-python (1.3-1) ...
|
| # wajig show libquantlib-1.2
| Package: libquantlib-1.2                 
| State: installed
| Automatically installed: no
| Version: 1.2.1-1
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 17.6 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib0, libquantlib0
| Provides: libquantlib0
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # wajig show libquantlib0
| Package: libquantlib0                    
| New: yes
| State: not installed
| Version: 1.3-2
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 18.0 M
| Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
| Provided by: libquantlib-1.2
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # python
| Python 2.7.6 (default, Nov 22 2013, 14:00:40) 
| [GCC 4.8.2] on linux2
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import QuantLib
| Traceback (most recent call last):
|   File "<stdin>", line 1, in <module>
|   File "/usr/lib/python2.7/dist-packages/QuantLib/__init__.py", line 19, in
| <module>
|     from QuantLib import *
|   File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 26, in
| <module>
|     _QuantLib = swig_import_helper()
|   File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 22, in
| swig_import_helper
|     _mod = imp.load_module('_QuantLib', fp, pathname, description)
| ImportError: /usr/lib/python2.7/dist-packages/QuantLib/_QuantLib.so: undefined
| symbol: _ZNK8QuantLib12SmileSection11optionPriceEdNS_6Option4TypeEd
| >>> 
|
| # apt-get install libquantlib0
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| The following packages will be REMOVED:
|   libquantlib-1.2
| The following NEW packages will be installed:
|   libquantlib0
| 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
| Need to get 0 B/3,544 kB of archives.
| After this operation, 353 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| dpkg: libquantlib-1.2: dependency problems, but removing anyway as you
| requested:
|  quantlib-python depends on libquantlib0; however:
|   Package libquantlib0 is not installed.
|   Package libquantlib-1.2 which provides libquantlib0 is to be removed.

This is the problem. I think this needs what is called a 'hint'.  The package
dependencies are correct -- but apt-get and dpkg simply hesitate to remove
the old libquantlib-1.2.

It is a little tricky as we 'used to use' libquantlib-1.2 to pretend it was
libquantlib0, and now we want to go back to the former.

Your initial report had it right but I read it wrong:

   When upgrading to version 1.3-1 from 1.2-1, apt-get does not pull in the new
   libquantlib0 package, which was being provided by the libquantlib-1.2 package.

I need to more strongly force libquantlib0 in, at the expense of libquantlib-1.2.
I'll have a look at that.

Thanks for the detailed follow-up!

Dirk

| (Reading database ... 181094 files and directories currently installed.)
| Removing libquantlib-1.2 ...
| Processing triggers for libc-bin ...
| Selecting previously unselected package libquantlib0.
| (Reading database ... 181083 files and directories currently installed.)
| Unpacking libquantlib0 (from .../libquantlib0_1.3-2_amd64.deb) ...
| Processing triggers for man-db ...
| Setting up libquantlib0 (1.3-2) ...
| Processing triggers for libc-bin ...
|
| # python
| Python 2.7.6 (default, Nov 22 2013, 14:00:40) 
| [GCC 4.8.2] on linux2
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import QuantLib
| >>> 
| >>> 
| ============= log end ===========
|

#731170#35
Date:
2013-12-02 20:55:12 UTC
From:
To:
On 2 December 2013 at 15:29, Allen Chan wrote:
| Hi Dirk,  thanks for looking into this.
|
| I was able to restore my previous state and recreate the problem as shown in
| the log below.  Again, I was able to solve my specific problem by manually
| installing the libquantlib0 package.
|
| ============= log begin ===========
| # wajig show quantlib-python
| Package: quantlib-python                 
| State: installed
| Automatically installed: no
| Version: 1.2-2
| Priority: optional
| Section: python
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 10.5 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libquantlib-1.2, libstdc++6 (>
| = 4.2.1), python2.7, python (>= 2.7), python (< 2.8)
| Conflicts: quantlib-python
| Description: Python bindings for the Quantlib Quantitative Finance library
|  The QuantLib project is aimed to provide a comprehensive software framework
| for quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management in real-life. 
|  
|  QuantLib plans to offer tools that are useful for both practical
| implementation, with features such as market conventions, solvers, PDEs, etc.,
| and
|  advanced modeling, e.g., exotic options and interest rate models. 
|  
|  This package provides Python bindings to parts of the QuantLib library.
|
| # wajig show libquantlib-1.2
| Package: libquantlib-1.2                 
| State: installed
| Automatically installed: no
| Version: 1.2.1-1
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 17.6 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib0, libquantlib0
| Provides: libquantlib0
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # wajig show libquantlib0
| Package: libquantlib0                    
| New: yes
| State: not installed
| Version: 1.3-2
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 18.0 M
| Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
| Provided by: libquantlib-1.2
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # apt-get dist-upgrade
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| Calculating upgrade... Done
| The following packages will be upgraded:
|   quantlib-python
| 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
| Need to get 0 B/1,690 kB of archives.
| After this operation, 266 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| Reading changelogs... Done
| (Reading database ... 181093 files and directories currently installed.)
| Preparing to replace quantlib-python 1.2-2 (using .../
| quantlib-python_1.3-1_amd64.deb) ...
| Unpacking replacement quantlib-python ...
| Setting up quantlib-python (1.3-1) ...
|
| # wajig show libquantlib-1.2
| Package: libquantlib-1.2                 
| State: installed
| Automatically installed: no
| Version: 1.2.1-1
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 17.6 M
| Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0, libquantlib0, libquantlib-1.2
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib0, libquantlib0
| Provides: libquantlib0
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # wajig show libquantlib0
| Package: libquantlib0                    
| New: yes
| State: not installed
| Version: 1.3-2
| Priority: optional
| Section: libs
| Maintainer: Dirk Eddelbuettel <edd@debian.org>
| Architecture: amd64
| Uncompressed Size: 18.0 M
| Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.6)
| Conflicts: libquantlib0
| Breaks: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1, libquantlib-1.1
| Replaces: libquantlib-1.0.0, libquantlib-1.0.0, libquantlib-1.1,
| libquantlib-1.1, libquantlib-1.2, libquantlib-1.2
| Provided by: libquantlib-1.2
| Description: Quantitative Finance Library -- library package
|  The QuantLib project aims to provide a comprehensive software framework for
| quantitative finance. The goal is to provide a standard free/open
|  source library to quantitative analysts and developers for modeling, trading,
| and risk management of financial assets. 
|  
|  This package provides the shared libraries required to run programs compiled
| with QuantLib.
|
| # python
| Python 2.7.6 (default, Nov 22 2013, 14:00:40) 
| [GCC 4.8.2] on linux2
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import QuantLib
| Traceback (most recent call last):
|   File "<stdin>", line 1, in <module>
|   File "/usr/lib/python2.7/dist-packages/QuantLib/__init__.py", line 19, in
| <module>
|     from QuantLib import *
|   File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 26, in
| <module>
|     _QuantLib = swig_import_helper()
|   File "/usr/lib/python2.7/dist-packages/QuantLib/QuantLib.py", line 22, in
| swig_import_helper
|     _mod = imp.load_module('_QuantLib', fp, pathname, description)
| ImportError: /usr/lib/python2.7/dist-packages/QuantLib/_QuantLib.so: undefined
| symbol: _ZNK8QuantLib12SmileSection11optionPriceEdNS_6Option4TypeEd
| >>> 
|
| # apt-get install libquantlib0
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| The following packages will be REMOVED:
|   libquantlib-1.2
| The following NEW packages will be installed:
|   libquantlib0
| 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
| Need to get 0 B/3,544 kB of archives.
| After this operation, 353 kB of additional disk space will be used.
| Do you want to continue? [Y/n] y
| dpkg: libquantlib-1.2: dependency problems, but removing anyway as you
| requested:
|  quantlib-python depends on libquantlib0; however:
|   Package libquantlib0 is not installed.
|   Package libquantlib-1.2 which provides libquantlib0 is to be removed.

This is the problem. I think this needs what is called a 'hint'.  The package
dependencies are correct -- but apt-get and dpkg simply hesitate to remove
the old libquantlib-1.2.

It is a little tricky as we 'used to use' libquantlib-1.2 to pretend it was
libquantlib0, and now we want to go back to the former.

Your initial report had it right but I read it wrong:

   When upgrading to version 1.3-1 from 1.2-1, apt-get does not pull in the new
   libquantlib0 package, which was being provided by the libquantlib-1.2 package.

I need to more strongly force libquantlib0 in, at the expense of libquantlib-1.2.
I'll have a look at that.

Thanks for the detailed follow-up!

Dirk

| (Reading database ... 181094 files and directories currently installed.)
| Removing libquantlib-1.2 ...
| Processing triggers for libc-bin ...
| Selecting previously unselected package libquantlib0.
| (Reading database ... 181083 files and directories currently installed.)
| Unpacking libquantlib0 (from .../libquantlib0_1.3-2_amd64.deb) ...
| Processing triggers for man-db ...
| Setting up libquantlib0 (1.3-2) ...
| Processing triggers for libc-bin ...
|
| # python
| Python 2.7.6 (default, Nov 22 2013, 14:00:40) 
| [GCC 4.8.2] on linux2
| Type "help", "copyright", "credits" or "license" for more information.
| >>> import QuantLib
| >>> 
| >>> 
| ============= log end ===========
|