Your message dated Sat, 14 Sep 2013 21:04:33 +0000
with message-id <[email protected]>
and subject line Bug#722252: fixed in lapack 3.4.2+dfsg-2
has caused the Debian Bug report #722252,
regarding lapack: -Bsymbolic-functions prevents override of xerblas_
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
722252: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=722252
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: lapack
Version: 3.4.2+dfsg-1
Severity: wishlist

The lapack build uses dpkg-buildflags --get LDFLAGS to obtain the LDFLAGS.
This can include -Bsymbolic-functions in some distributions (e.g. ubuntu, but not debian). The use of -Bsymbolic-functions to create liblapack.so binds the xerblas_ implementation to the one provided in lapack itself. This is very problematic as the lapack xerblas_ aborts the process on invalid parameters. User programs must have the option to override this error handler with their own code.

To fix this to work on all derivatives and in case of a debian default change please adapt the build do handle it. There are two options, either strip the variable from dpkg-buildflags output (DEB_LDFLAGS_STRIP) or keep it in and provide ld with a list of functions to not bind to the library with --dynamic-list:

$ cat lapack.dym
{
  xerblas;
# or LAPACKE_xerblas;
};

§ gcc -shared ... -Bsymoblic-functions --dynamic-list=lapack.dym


To test it use attached c file (linked against liblapacke) which should print the overrided xerblas. This could be used as an autopkgtest so derivatives are notified of the issue when they change their dpkg defaults.
#include <stdio.h>
#include <lapacke.h>
void LAPACKE_xerbla( const char *name, lapack_int info )
{
    if( info < 0 ) { 
        printf( "override %d in %s\n", -(int) info, name );
    }   
}


int main (int argc, const char * argv[])
{
   double a[5][3] = {1,1,1,2,3,4,3,5,2,4,2,5,5,4,3};
   double b[5][2] = {-10,-3,12,14,14,12,16,16,18,16};
   lapack_int info,m,n,lda,ldb,nrhs;
   int i,j;

   m = 5;
   n = 9;
   nrhs = 2;
   lda = 3;
   ldb = 2;

   info = LAPACKE_dgels(LAPACK_ROW_MAJOR,'N',m,n,nrhs,*a,lda,*b,ldb);
printf("%d\n", info);

   for(i=0;i<n;i++)
   {
      for(j=0;j<nrhs;j++)
      {
         printf("%lf ",b[i][j]);
      }
      printf("\n");
   }
   return(info);
}

--- End Message ---
--- Begin Message ---
Source: lapack
Source-Version: 3.4.2+dfsg-2

We believe that the bug you reported is fixed in the latest version of
lapack, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sébastien Villemot <[email protected]> (supplier of updated lapack package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 14 Sep 2013 21:59:36 +0200
Source: lapack
Binary: liblapack3 liblapack3gf liblapacke liblapacke-dev liblapack-dev 
liblapack-pic liblapack-test liblapack-doc liblapack-doc-man
Architecture: source amd64 all
Version: 3.4.2+dfsg-2
Distribution: unstable
Urgency: low
Maintainer: Debian Science Team 
<[email protected]>
Changed-By: Sébastien Villemot <[email protected]>
Description: 
 liblapack-dev - Library of linear algebra routines 3 - static version
 liblapack-doc - Library of linear algebra routines 3 - documentation
 liblapack-doc-man - Library of linear algebra routines 3 - documentation 
(manual page
 liblapack-pic - Library of linear algebra routines 3 - static PIC version
 liblapack-test - Library of linear algebra routines 3 - testing programs
 liblapack3 - Library of linear algebra routines 3 - shared version
 liblapack3gf - Transitional package for liblapack3
 liblapacke - Library of linear algebra routines 3 - C lib shared version
 liblapacke-dev - Library of linear algebra routines 3 - Headers
Closes: 695825 718948 722252
Changes: 
 lapack (3.4.2+dfsg-2) unstable; urgency=low
 .
   [ Sébastien Villemot ]
   * Bump to debhelper compat level 9
   * Simplification and improvement of debian/rules:
     + use dh
     + remove hack to workaround timeouts in testsuite
     + ship testsuite summary generated by LAPACK build system instead of
       generating our own
     + do not run testsuite if DEB_BUILD_OPTIONS contains "nocheck"
       (Closes: #718948)
     + ensure that flags from dpkg-buildflags are injected everywhere
   * Install static library in liblapacke-dev
   * Remove remnants of old system for notifying testsuite errors at
     installation of the library
   * Switch VCS to Git
   * liblapack-dev now alternatively depends on libblas.so (Closes: #695825)
   * liblapack-dev now provides liblapack.so (instead of liblapack-3.so), for
     consistency with libblas-dev
   * Do not ship a copy of jquery.js; instead link to the version from the 
Debian
     package
   * Fix debian/watch
 .
   [ Julian Taylor ]
   * strip -Bsymbolic-functions from LDFLAGS. -Bsymbolic-functions breaks
     xerbla_ error handling overrides as internal calls to it will not go
     over the plt anymore. With bfd linker --dynamic-list could be used
     instead but it doesn't seem work with gold linker. (Closes: #722252)
Checksums-Sha1: 
 75453312997c66b9035a84d95e2ff0428e18e7fb 2535 lapack_3.4.2+dfsg-2.dsc
 34fe5637a77139c57ad43c81908caec8e22bb8a9 19173 
lapack_3.4.2+dfsg-2.debian.tar.gz
 a194d24fabbf91e34269a081e622390fde49de5e 2939040 
liblapack3_3.4.2+dfsg-2_amd64.deb
 1368d2c7b8b3da73596d1cbae58bf5e2920f0da5 11220 
liblapack3gf_3.4.2+dfsg-2_all.deb
 88e2daa9e4ee234aa7f92a91eb36654867b40a54 276002 
liblapacke_3.4.2+dfsg-2_amd64.deb
 b52c4ab9a9fa7f42ff472509ee188280a5937ccb 250502 
liblapacke-dev_3.4.2+dfsg-2_amd64.deb
 948ee378fa095a162274a34e800b1c2bdcc51e57 2953132 
liblapack-dev_3.4.2+dfsg-2_amd64.deb
 087f8e50ed570b7d3bab25e031a3baa5eefaf87a 2952564 
liblapack-pic_3.4.2+dfsg-2_amd64.deb
 6f6abae4fe3fc840882f55e92896a5bf44e221e4 5372324 
liblapack-test_3.4.2+dfsg-2_amd64.deb
 c7075730faa2be908b04e247ef8e688b735a2c15 32151730 
liblapack-doc_3.4.2+dfsg-2_all.deb
 2113c629d64cd0b599347a4e1b75b48dfacc5247 2907692 
liblapack-doc-man_3.4.2+dfsg-2_all.deb
Checksums-Sha256: 
 953059d8086f3c5924a3b7aee4abfd651bc3e12d3eff4dada04238c6ea300538 2535 
lapack_3.4.2+dfsg-2.dsc
 661154e1c4c0e25866e0afe0bda5164709d9d208d9b2ced3a8f9f97238f58cd1 19173 
lapack_3.4.2+dfsg-2.debian.tar.gz
 2ed3742b79487e8ab62645666e88a7457bfb2bd0d8264862f51f3bd02ff234dc 2939040 
liblapack3_3.4.2+dfsg-2_amd64.deb
 2e67a800acbc2295ecdb36249692d224f51398bbcc386a6c311d992baa0451f8 11220 
liblapack3gf_3.4.2+dfsg-2_all.deb
 4a03b048e1f569d8060e434d106e874a07246ef7db6984070533dfae43f579ca 276002 
liblapacke_3.4.2+dfsg-2_amd64.deb
 f268fd3e76b091813000686b8425c1f08c8061f123899ccbcc7b679782c4363a 250502 
liblapacke-dev_3.4.2+dfsg-2_amd64.deb
 9cde59bc160319da3932ad6e3d86dbd68a6f4b92a57735fa2bab6817eb0390dd 2953132 
liblapack-dev_3.4.2+dfsg-2_amd64.deb
 a5845723c509c55ca092daaa4afba1746a748b53fdcedcb4724c01b41e0989ef 2952564 
liblapack-pic_3.4.2+dfsg-2_amd64.deb
 a45045e9f02cd2e8b5e0288a33d3a9aa0f96948deb63dfdbbd1110650bb14a08 5372324 
liblapack-test_3.4.2+dfsg-2_amd64.deb
 18be4805c1d3af69cf14607635fbc9e13947061f2057e1634182550f3a24748b 32151730 
liblapack-doc_3.4.2+dfsg-2_all.deb
 c3a28b81f7d2d8ef5a46d802651d6d08a1fbf4018b72fd64eb9a278d967f52b0 2907692 
liblapack-doc-man_3.4.2+dfsg-2_all.deb
Files: 
 1aae24accf702924a6c83b5bff12e14b 2535 libs optional lapack_3.4.2+dfsg-2.dsc
 5526a719f8549a7ce5bf36cb57eeec36 19173 libs optional 
lapack_3.4.2+dfsg-2.debian.tar.gz
 d405033e6da3dcc588afe0e24cefad99 2939040 libs optional 
liblapack3_3.4.2+dfsg-2_amd64.deb
 88f9c3f353dc4af3e36f97d874a2c04f 11220 oldlibs optional 
liblapack3gf_3.4.2+dfsg-2_all.deb
 83582e9aafe71afa2be8564a896f2495 276002 libs optional 
liblapacke_3.4.2+dfsg-2_amd64.deb
 003676592f571741a771f73e2254deda 250502 libdevel optional 
liblapacke-dev_3.4.2+dfsg-2_amd64.deb
 c34c2a34a54ff8e0e7fe4378f9282b06 2953132 libdevel optional 
liblapack-dev_3.4.2+dfsg-2_amd64.deb
 215b016e98007e29227951b8aabd7c8e 2952564 libdevel optional 
liblapack-pic_3.4.2+dfsg-2_amd64.deb
 097cd6c35025bb33ea1f0a3cf9a381ed 5372324 devel extra 
liblapack-test_3.4.2+dfsg-2_amd64.deb
 c14f493a6fe524d1eccd742de5abd191 32151730 doc optional 
liblapack-doc_3.4.2+dfsg-2_all.deb
 0d92dd8bf11d85e7c58793a036548690 2907692 doc optional 
liblapack-doc-man_3.4.2+dfsg-2_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)

iQIcBAEBCAAGBQJSNMVEAAoJECzs6TUOzr5KQTgP/0jRuKkZG8jRtfpvmWcOaLo4
KGEOcnJhbMMmj3r3FkICW8icPnX+yL3Yv2q3Pr+47cw+/rOLI7QI7EXpaOQA3Lgo
j8NbV+hmwm8DvfXuFCopGdemoGJX+1zCRdmoBBEpcohSVw6PvcU+3sWrpZtdWoIM
IzNAQpU16NGV9hkLSSbZ4o5rrRywJv3turH5fMepw+pON66EWBa1iBKAHajuHdHR
BPoDMQCzmDmpsolyeN1uyoXqXIpf24WVxI8uw1UCFsuoGEzSKY/mgjWf6wyHGzvX
Wq3d2zYwD+kW4J3P9E3Y5EsD0gw44EpsH1XPBJtXNvX7nTvWCPZLm8N+5brylHTu
wANBDCD2Ae7vxXAlL61HBWa/7t0NnTlxuyd6+MMKSw8Xzc2g7RBHd97FBgbcX7ZN
Dt5eMqc2lPQJB86l5lwL0f8J+wY7oBYYfGOG6w+O3ykgx5dOmxxZQOKQqo4p3r5V
Aw2H+foIBUjtFHZRzy7x/oRS12e4UAPa7bQYT6Kk2L27p2v9W9FP+IiwaWpeWH1H
1zLwlXslhpCr6oFcptCgav4QsliporDXeMKQLRXCsswsziXK10h9bCvb/I49du+v
dejXacHBxBQRTFKS5V46oyncYk2gOdT+8h/WKroTNaK1hZ8eiKQhcVi5DQMyR0Zc
QSpmY64dPe2UXjVWQn1X
=3o0e
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to