What steps will reproduce the problem? 1. Uses g++45 (while the command g++ is in version 4.2) to compile pure; 2. Uses pure -c to compile a script: pure -c hello.pure -o hello
What is the expected output? What do you see instead?
/usr/local/lib/libpure.so: undefined reference to _ZNKSt5ctypeIcE13_M_widen_initEv@GLIBCXX_3.4.11'
/usr/local/lib/libpure.so: undefined reference to
_ZNSt15_List_node_base9_M_unhookEv@GLIBCXX_3.4.14'
/usr/local/lib/libpure.so: undefined reference to _ZNSt15_List_node_base11_M_transferEPS_S0_@GLIBCXX_3.4.14'
/usr/local/lib/libpure.so: undefined reference to
_ZNSt15_List_node_base7_M_hookEPS_@GLIBCXX_3.4.14'
What version of the product are you using? On what operating system? pure-0.46 FreeBSD 8.2-STABLE amd64
Please provide any additional information below. In interpreter.cc, the commands gcc and g++ are hard coded. But lower version g++ does not know how to link libpure.so which was compiled by a higher version g++. So if a system comes with different versions of gcc, problem occurs.
My suggestion: Make `pure' accepts the environment variables CC and CXX. They work similar to PURE_CC/PURE_CXX, but for the batch compilation only. Sample patch for 0.46-rel is included.
- patch-interpreter.cc 1.27KB
Comment #1
Posted on Mar 29, 2011 by Massive PandaApplied in rev. dd8a6fcd9e9e. Thanks!
Status: Fixed
Labels:
Type-Enhancement
Priority-Medium