Reviving this old thread for future reference when compiling multi core par2 binary in Linux (and perhaps other OSes).
When using an up to date C++ compiler (Aug 2011 or newer) you might end up with the error
par2cmdline.cpp: In function 'int main(int, char**)':
par2cmdline.cpp:88:3: error: 'auto_ptr' is not a member of 'std'
par2cmdline.cpp:88:28: error: expected primary-expression before '>' token
par2cmdline.cpp:88:57: error: 'commandline' was not declared in this scope
This is because auto_ptr is deprecated in the newest C++ standard - http://en.wikipedia.org/wiki/Auto_ptr
When checking the <memory> #include, I noticed there was a reference to auto_ptr
# if _GLIBCXX_USE_DEPRECATED
# include <backward/auto_ptr.h>
I ended up adding the line: #include <backward/auto_ptr.h> under the line #include "par2cmdline.h" in
afterwards the binary compiled fine.
Remember to do a "strip par2" of the binary after compiling, it will reduce the size from 4MB or so, down to approx 230KB.
When compiling in Fedora, I also had to install tbb and tbb-devel from the Fedora reposity.