Package: mpqc Version: 2.3.1-15 Severity: serious Tags: patch upstream Justification: fails to build from source (but built successfully in the past)
mpqc fails to build from source on mips, mipsel and s390x due to the following error: | atominfo.cc: In member function 'int sc::AtomInfo::string_to_Z(const string&, int)': | atominfo.cc:496:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] | ExEnv::err0() << sprintf("AtomInfo: invalid name: %s\n",name.c_str()); | ^ | atominfo.cc:496:75: error: format not a string literal and no format arguments [-Werror=format-security] | cc1plus: some warnings being treated as errors Strangely this doesn't happen on other architectures where only the first warning is printed | atominfo.cc: In member function 'int sc::AtomInfo::string_to_Z(const string&, int)': | atominfo.cc:496:75: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings] Looking at the (very weird) code, the error is obviously valid: | ExEnv::err0() << sprintf("AtomInfo: invalid name: %s\n",name.c_str()); Considering I understood what the upstream author wanted to do, here is a patch to fix the issue: --- mpqc-2.3.1.orig/src/lib/chemistry/molecule/atominfo.cc +++ mpqc-2.3.1/src/lib/chemistry/molecule/atominfo.cc @@ -493,7 +493,7 @@ AtomInfo::string_to_Z(const std::string if (iname != symbol_to_Z_.end()) return iname->second; if (allow_exceptions) { - ExEnv::err0() << sprintf("AtomInfo: invalid name: %s\n",name.c_str()); + ExEnv::err0() << ("AtomInfo: invalid name: " + name + "\n").c_str(); throw std::runtime_error("invalid atom name"); } -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: mipsel (mips64) Kernel: Linux 3.2.0-4-5kc-malta Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org