Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to get Passenger working on Mountain Lion after the upgrade from 10.7, but I'm having issues when running passenger-install-apache2-module:

g++ ext/apache2/HelperAgent.cpp -o agents/apache2/PassengerHelperAgent -Iext -Iext/common -D_REENTRANT -I/usr/local/include -DHASH_NAMESPACE="__gnu_cxx" -DHASH_FUN_H="<ext/hash_fun.h>" -DHAS_ALLOCA_H -DHAS_SFENCE -DHAS_LFENCE -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-long-long -Wno-missing-field-initializers -g -DPASSENGER_DEBUG -DBOOST_DISABLE_ASSERTS ext/common/libpassenger_common.a ext/common/libboost_oxt.a -lpthread  
Undefined symbols for architecture x86_64:
  "_regcompA", referenced from:
      Passenger::FilterSupport::Filter::Value::Value(bool, Passenger::StaticString const&, bool)in libpassenger_common.a(aggregate.o)
      Passenger::FilterSupport::Filter::Value::initializeFrom(Passenger::FilterSupport::Filter::Value const&)in libpassenger_common.a(aggregate.o)
  "_regexecA", referenced from:
      Passenger::FilterSupport::Filter::Comparison::compareStringOrRegexp(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Passenger::FilterSupport::Context const&)in libpassenger_common.a(aggregate.o)
  "_regfreeA", referenced from:
      Passenger::FilterSupport::Filter::Value::freeStorage()    in libpassenger_common.a(aggregate.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
rake aborted!
Command failed with status (1): [g++ ext/apache2/HelperAgent.cpp -o agents/...]

All the required software checks are green.

I've installed the PCRE headers as suggested in the Phusion blog post, although that was a bit of a gamble since it's aimed at Nginx issues.

Does anyone have any ideas?

Thanks, Griff

share|improve this question
    
are you using a packet manager? I had the same issue with homebrew and fixed it by uninstalling homebrew and reinstalling everything. –  gnzlbg Dec 3 '12 at 15:47
    
I'm installing Passenger from the gem. I do have homebrew installed, though I'm pretty sure that Apache, Ruby etc. weren't installed through it. Might be worth uninstalling it and trying again in any event –  Griff Dec 4 '12 at 16:22
    
Try uninstalling boost if you have installed it with homebrew. For me that was the deal. –  gnzlbg Dec 5 '12 at 17:32

1 Answer 1

This is a separate problem from the PCRE problem. Phusion Passenger uses regexp functions from the POSIX standard.

At first appearance, this error seems to be implying that OS X 10.8 does not support POSIX regexp functions. But that would be a very strange conclusion seeing that:

  • 10.6 and 10.7 supported them just fine.
  • the header file regex.h is available, otherwise you would get a compiler error about regex.h missing instead of this linker error.
  • even Apple claims to officially support it.

The only conclusion I can draw at the moment is that either your system is broken, or OS X 10.8 has become broken. I am on holidays right now, ping times to Europe and the US are over 1000+ ms, and I don't have OS X 10.8, so I cannot further analyze the problem right now. As such, short-term advice I can give you are:

  • Reinstall your system.
  • Contact Apple for support.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.