You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "James Peach (JIRA)" <ji...@apache.org> on 2016/04/27 18:37:12 UTC

[jira] [Commented] (TS-4375) link failure if PCRE JIT is not enabled

    [ https://issues.apache.org/jira/browse/TS-4375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15260444#comment-15260444 ] 

James Peach commented on TS-4375:
---------------------------------

OK I figured this out.

What happens is that PCRE is linked from the OS X SDK root not from the Homebrew version. The SDK version doesn't have JIT enabled. We end up using the SDK root paths because that is where we find expat.

The workaround is:
{code}
$ brew install expat
$ brew link --force expat
{code}

> link failure if PCRE JIT is not enabled
> ---------------------------------------
>
>                 Key: TS-4375
>                 URL: https://issues.apache.org/jira/browse/TS-4375
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Build
>            Reporter: James Peach
>            Assignee: Phil Sorber
>             Fix For: 7.0.0
>
>
> This is on Darwin with Homebrew PCRE:
> {code}
> libtool: link: c++ -dynamiclib  -o .libs/libtsutil.7.dylib  .libs/Arena.o .libs/BaseLogFile.o .libs/Bitops.o .libs/ConsistentHash.o .libs/ContFlags.o .libs/Diags.o .libs/EventNotify.o .libs/Hash.o .libs/HashFNV.o .libs/HashMD5.o .libs/HashSip.o .libs/HostLookup.o .libs/IpMap.o .libs/IpMapConf.o .libs/Layout.o .libs/MMH.o .libs/MatcherUtils.o .libs/ParseRules.o .libs/RawHashTable.o .libs/RbTree.o .libs/Regex.o .libs/Regression.o .libs/TextBuffer.o .libs/Tokenizer.o .libs/Vec.o .libs/Version.o .libs/fastlz.o .libs/hugepages.o .libs/ink_args.o .libs/ink_assert.o .libs/ink_base64.o .libs/ink_cap.o .libs/ink_code.o .libs/ink_defs.o .libs/ink_error.o .libs/ink_file.o .libs/ink_hash_table.o .libs/ink_hrtime.o .libs/ink_inet.o .libs/ink_memory.o .libs/ink_mutex.o .libs/ink_queue.o .libs/ink_queue_utils.o .libs/ink_rand.o .libs/ink_res_init.o .libs/ink_res_mkquery.o .libs/ink_resource.o .libs/ink_rwlock.o .libs/ink_sock.o .libs/ink_sprintf.o .libs/ink_stack_trace.o .libs/ink_string++.o .libs/ink_string.o .libs/ink_sys_control.o .libs/ink_syslog.o .libs/ink_thread.o .libs/ink_time.o .libs/llqueue.o .libs/lockfile.o .libs/signals.o .libs/X509HostnameValidator.o   -L/usr/local/Cellar/openssl/1.0.2g/lib -L/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib -L/usr/local/Cellar/pcre/8.38/lib -lssl -lcrypto -ltcl -lresolv -lc -lpcre -lexpat  -g -mcx16   -install_name  /opt/ats/lib/libtsutil.7.dylib -compatibility_version 8 -current_version 8.0 -Wl,-single_module
> Undefined symbols for architecture x86_64:
>   "_pcre_assign_jit_stack", referenced from:
>       Regex::compile(char const*, unsigned int) in Regex.o
>   "_pcre_free_study", referenced from:
>       Regex::~Regex() in Regex.o
>   "_pcre_jit_stack_alloc", referenced from:
>       get_jit_stack(void*) in Regex.o
>   "_pcre_jit_stack_free", referenced from:
>       RegexThreadKey::RegexThreadKey() in Regex.o
> ld: symbol(s) not found for architecture x86_64
> {code}
> It looks like the PCRE JIT code checks for {{PCRE_CONFIG_JIT}}, but that would always be defined so that apps can make runtime checks for JIT support.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)