[
https://issues.apache.org/jira/browse/TS-4560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15335012#comment-15335012
]
ASF GitHub Bot commented on TS-4560:
------------------------------------
GitHub user jpeach opened a pull request:
https://github.com/apache/trafficserver/pull/720
TS-4560: Fix C++ API shared_ptr detection.
Since ink_autoconf.h is not installed, we can't use it to figure
out which shared_ptr implementation to use. Further, Traffic Server
might not have been built with the same toolchain that 3rd party
plugins are using.
Since shared_ptr is used in the C++ API headers, both Traffic Server
and the plugins need to agree on which implementation to use. The
best (but not perfect) solution is to hardcode it into the header
file during the Traffic Server build. This means that both parties
are consistent and any remaining problems could be attributed to
C++ standard library compatibility.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jpeach/trafficserver fix/4560
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/720.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #720
----
commit b9c29f62db44573e390a203123c864f71fdf935f
Author: James Peach <[email protected]>
Date: 2016-06-16T23:51:40Z
TS-4560: Fix C++ API shared_ptr detection.
Since ink_autoconf.h is not installed, we can't use it to figure
out which shared_ptr implementation to use. Further, Traffic Server
might not have been built with the same toolchain that 3rd party
plugins are using.
Since shared_ptr is used in the C++ API headers, both Traffic Server
and the plugins need to agree on which implementation to use. The
best (but not perfect) solution is to hardcode it into the header
file during the Traffic Server build. This means that both parties
are consistent and any remaining problems could be attributed to
C++ standard library compatibility.
----
> C++ API should not depend on ink_autoconf.h
> -------------------------------------------
>
> Key: TS-4560
> URL: https://issues.apache.org/jira/browse/TS-4560
> Project: Traffic Server
> Issue Type: Bug
> Components: CPP API
> Reporter: James Peach
> Assignee: James Peach
>
> {{atscppapi/shared_ptr.h}} includes {{ink_autoconf.h}}. {{ink_autoconf.h}} is
> not installed (and must not be installed). This makes it impossible for
> people to consume the C++ API.
> It is totally reasonable IMHO to expect to be able to build plugins with a
> different toolchain than Traffic Server was built with. Consider installing
> {{devtoolset-3}} and building plugins against a distribution package, or
> building plugins with clang.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)