Opened 7 years ago

Last modified 7 years ago

#11807 new Bugs

sun.jam needs updating when creating shared libraries compiled with -std=[c++03,c++11] mode.

Reported by: Aparna Kumta <aparna.kumta@…> Owned by: Vladimir Prus
Milestone: To Be Determined Component: build
Version: Boost 1.60.0 Severity: Problem
Keywords: Cc:

Description

When compiling with Oracle Solaris Studio compilers in -std=[c++03,c++11] modes, several python tests fail with the following error:

ImportError: ld.so.1: isapython2.6: fatal: relocation error: file /export/home/boost_regression_develop/boost_sparc-S2_cpp11/results/boost/bin.v2/libs/python/test/injected.test/sun-next_cpp11/ release/threading-multi/injected_ext.so: symbol _ZTIv: referenced symbol not found

These errors occur when any libraries that are linked into the application that has no C++11 runtime already linked in.

When creating shared libraries, for line 159 in the sun.jam file

157 actions link.dll bind LIBRARIES 158 { 159 "$(CONFIG_COMMAND)" $(OPTIONS) -L"$(LINKPATH)" -R"$(RPATH)" -o "$(<)" -h$(<[1]:D=) -G $(STDLIBOPT) "$(>)" "$(LIBRARIES)" -Bdynamic -l$(FINDLIBS-SA) -Bstatic -l$(FINDLIBS-ST) -B$(LINK-RUNTIME) 160 }

replacing '-G' with '-G -library=stdcpp,CrunG3'

seems to resolve the issue.

I will submit a PR shortly and specify the PR# to this ticket for reference. If interested, here is the archive on the Boost developers build regarding this issue. http://lists.boost.org/boost-build/2015/11/28379.php

Change History (1)

comment:1 by Aparna Kumta <aparna.kumta@…>, 7 years ago

Note: See TracTickets for help on using tickets.