Closed Fallen-Zen-zz closed 9 years ago
Can you re-run the installer with the environment variable VERBOSE=1
and tell me what you see?
Here you go:
`* Checking for OpenSSL development headers...
-> Checking for openssl/ssl.h
Running: cc -v -c '/var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c' -o '/var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c.o'
Source file contains:
-------------------------
#include <openssl/ssl.h>
-------------------------
-> Output:
-------------------------
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin15.0.0
Thread model: posix
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.11.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name passenger-compile-check.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 253.2 -v -dwarf-column-info -coverage-file /var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c.o -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0 -fdebug-compilation-dir /Library/Ruby/Gems/2.0.0/gems/passenger-5.0.20 -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.11.0 -fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option -o /var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c.o -x c /var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c
clang -cc1 version 7.0.0 based upon LLVM 3.7.0svn default target x86_64-apple-darwin15.0.0
ignoring nonexistent directory "/usr/local/include"
#include "..." search starts here:
#include <...> search starts here:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.0.0/include
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
/var/folders/6m/b07y8np14m98dzr7q5t5mw8h0000gn/T/passenger.59hzdd/passenger-compile-check.c:2:20: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
^
1 error generated.
-------------------------
-> Check failed with exit status 1
Found: no`
Also here's the output for locating ssl.h header:
`/Applications/Server.app/Contents/ServerRoot/usr/share/postgresql/html/libpq-ssl.html
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/apache2/mod_ssl.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/apache2/mod_ssl.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl/kssl.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl/ssl.h
/Library/WebServer/share/httpd/manual/mod/mod_nw_ssl.html
/Library/WebServer/share/httpd/manual/mod/mod_nw_ssl.html.en
/Library/WebServer/share/httpd/manual/mod/mod_nw_ssl.html.fr
/Library/WebServer/share/httpd/manual/mod/mod_ssl.html
/Library/WebServer/share/httpd/manual/mod/mod_ssl.html.en
/Library/WebServer/share/httpd/manual/mod/mod_ssl.html.en.orig
/Library/WebServer/share/httpd/manual/mod/mod_ssl.html.fr
/opt/local/include/boost/asio/ssl.hpp
/opt/local/include/openssl/kssl.h
/opt/local/include/openssl/ssl.h
/opt/local/share/doc/boost/doc/html/boost_asio/overview/ssl.html
/opt/local/share/doc/boost/doc/html/boost_asio/reference/ssl__stream__impl_struct/ssl.html
/usr/include/apache2/mod_ssl.h`
It looks like El Cptain no longer includes OpenSSL headers?
Can you try reinstalling the developer tools? Previous OS X upgrades broke development headers, which was fixed by reinstalling developer tools.
If that doesn't help, can you run the installer with these environment variables?
EXTRA_CFLAGS="-I/opt/local/include"
EXTRA_CXXFLAGS="-I/opt/local/include"
EXTRA_LDFLAGS="-L/opt/local/lib"
Environment variables seemed to help, thanks! Also on Mac OS X Server the apache config file is under: /Library/Server/Web/Config/apache2/.
So reinstalling the developer tools did not help?
Yes.
I am having the same issue with Passenger Nginx installer after upgrading to Mac OS X El Capitan.
@Fallen-Zen are the environment variables all you set before running passenger-install-apache2-module
again? I am having the same issue
@gremz I've also had to install OpenSSL from source.
@Fallen-Zen I've built OpenSSL 1.1.0-dev from source and linked to bin. Should I be looking elsewhere?
Setting the EXTRA_XXXLAGS makes the apache2-module compile.
System: Mac OS X El Capitan, Macports, RVM.
For those that use homebrew, you can simply install openssl using homebrew.
brew install openssl
Make sure that you have updated XCode and agreed to the license and then run
xcode-select --install
Then you can simply run the following with the included environment variables
export EXTRA_CFLAGS=-I/usr/local/opt/openssl/include && export EXTRA_CXXFLAGS=-I/usr/local/opt/openssl/include & export EXTRA_LDFLAGS=-L/usr/local/opt/openssl/lib & passenger-install-apache2-module
brew install openssl
brew link openssl --force
brew link openssl --force does not work for me (passenger-install-nginx).
Undefined symbols for architecture x86_64:
"_SSL_CTX_set_alpn_select_cb", referenced from:
_ngx_http_ssl_merge_srv_conf in ngx_http_ssl_module.o
"_SSL_CTX_set_next_protos_advertised_cb", referenced from:
_ngx_http_ssl_merge_srv_conf in ngx_http_ssl_module.o
"_SSL_select_next_proto", referenced from:
_ngx_http_ssl_alpn_select in ngx_http_ssl_module.o
"_X509_check_host", referenced from:
_ngx_ssl_check_host in ngx_event_openssl.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [objs/nginx] Error 1
What if you run passenger-install-nginx-module with --extra-configure-flags=--with-openssl=/usr/local/opt/openssl ?
Still no luck, the commands below:
export EXTRA_CFLAGS=-I/usr/local/opt/openssl/include && export EXTRA_CXXFLAGS=-I/usr/local/opt/openssl/include && export EXTRA_LDFLAGS=-L/usr/local/opt/openssl/lib passenger-install-nginx-module --extra-configure-flags=--with-openssl=/usr/local/opt/openssl
Configuration summary
+ using system PCRE library
+ using OpenSSL library: /usr/local/opt/openssl
+ md5: using OpenSSL library
+ sha1: using OpenSSL library
+ using system zlib library
nginx path prefix: "/opt/nginx-1.8.0.2"
nginx binary file: "/opt/nginx-1.8.0.2/sbin/nginx"
nginx configuration prefix: "/opt/nginx-1.8.0.2/conf"
nginx configuration file: "/opt/nginx-1.8.0.2/conf/nginx.conf"
nginx pid file: "/opt/nginx-1.8.0.2/logs/nginx.pid"
nginx error log file: "/opt/nginx-1.8.0.2/logs/error.log"
nginx http access log file: "/opt/nginx-1.8.0.2/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
# make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f objs/Makefile
cd /usr/local/opt/openssl \
&& if [ -f Makefile ]; then /Applications/Xcode.app/Contents/Developer/usr/bin/make clean; fi \
&& ./config --prefix=/usr/local/opt/openssl/.openssl no-shared \
&& /Applications/Xcode.app/Contents/Developer/usr/bin/make \
&& /Applications/Xcode.app/Contents/Developer/usr/bin/make install LIBDIR=lib
/bin/sh: ./config: No such file or directory
make[1]: *** [/usr/local/opt/openssl/.openssl/include/openssl/ssl.h] Error 127
make: *** [build] Error 2
What framework are you using Passenger for?
openssl is installed by Macports as a dependency for RVM/Ruby. On my machine the following packages depend on it:
serf1 @1.3.4_0 postgresql94 @9.4.4_0 qt5-mac @5.4.2_1 apache2 @2.2.31_0+preforkmpm python27 @2.7.10_3 kerberos5 @1.13.2_1 cyrus-sasl2 @2.1.26_4+kerberos p5.16-net-ssleay @1.710.0_0 libevent @2.0.22_1 nodejs @0.12.7_0+python27+ssl openvpn2 @2.3.4_0 curl @7.45.0_0+ssl git @2.6.1_0+credential_osxkeychain+doc+pcre+perl5_16+python27
And probably by Ruby too. The RVM dependencies are not on this list.
This covers ruby, python and nodejs. I’m wondering how you can have openssl not installed if you are working with Passenger.
I think I have fixed this problem in the GH-1630
branch. Passenger will automatically use the OpenSSL installation from Homebrew.
I am not able to upgrade to El Capitain; the El Capitan installer keeps crashing on me. So can anybody verify this for me?
Yes, I could install Passenger-Nginx on my El Capitan with GH-1630 branch. Thanks!
Seems to work for Macports OpenSSL on El Capitan too.
Can this be backported to 4.0.*
?
No. Please upgrade to 5.x instead.
I would appreciate if it was backported to 4.0.x as well.
can you apply this update to 4.0.59 ?
Sorry, no more updates will be released against 4.x. Why don't you upgrade to 5.x? It has a ton of improvements.
Sent from my Android phone. On Nov 20, 2015 10:20 AM, "Alex" notifications@github.com wrote:
can you apply this update to 4.0.59 ?
— Reply to this email directly or view it on GitHub https://github.com/phusion/passenger/issues/1630#issuecomment-158333802.
thanks for your reply, i have to work with both ree-1.8.7 and ruby 2.2.1。 so as you know,i can not upgrade my passenger normally!
发自我的 iPhone
在 2015年11月20日,17:24,Hongli Lai notifications@github.com 写道:
Sorry, no more updates will be released against 4.x. Why don't you upgrade to 5.x? It has a ton of improvements.
Sent from my Android phone. On Nov 20, 2015 10:20 AM, "Alex" notifications@github.com wrote:
can you apply this update to 4.0.59 ?
— Reply to this email directly or view it on GitHub https://github.com/phusion/passenger/issues/1630#issuecomment-158333802.
— Reply to this email directly or view it on GitHub.
Passenger 5 is compatible with REE 1.8.7 and with Ruby 2.2.1. So what is preventing you from upgrading?
The biggest thing preventing me from upgrading is that I'm using 4 in production, so I would like to use it on my development systems too.
If I put a config.ru in my directory for making it work in development with 5, it will break my production environment.
What's preventing you from upgrading to 5 in production?
It isn't a high priority right now because our current situation isn't having any problems. Running things in production is constantly weighing priorities. The reason why I pay for Passenger is because it saves me time I would otherwise need to devote to things that don't help my customers.
Upgrading from 4 to 5 is not going to benefit my customers today, so it hasn't risen to the top of my priority list.
In that case I suggest a workaround. Try this command on OS X El Capitan with Passenger 4:
env EXTRA_CFLAGS=-I/usr/local/opt/openssl/include \
EXTRA_CXXFLAGS=-I/usr/local/opt/openssl/include \
EXTRA_LDFLAGS=-L/usr/local/opt/openssl/lib \
./bin/passenger-install-nginx-module \
--extra-configure-flags='--with-cc-opt="-Wno-error -I/usr/local/opt/openssl/include" --with-ld-opt=-L/usr/local/opt/openssl/lib'
Will those same flags work if I use the apache module?
There are no known issues with El Capitan and Passenger's Apache module. The El Capitan problems seemed to be limited to the Nginx module and the Standalone mode only.
Should I open a separate issue for my OpenSSL issue with Apache and El Capitan?
Yes please do.
Look guys for openSSL and SR itself to have 0 issue this my setup on EL Capitan:
Be sure you are using the Brewed version of python! shut down SickRage before you do any of these steps
to setup brew properly follow these guide lines: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md
be sure that your .bash_profile looks similar to mine:
export PATH=/usr/local/bin:/usr/local/sbin:/usr/local/lib:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/MacGPG2/bin:/usr/local/opt/coreutils/libexec/gnubin export PATH=/usr/local/sbin:$PATH export HOMEBREW_GITHUB_API_TOKEN= export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin export PATH="$(brew --prefix coreutils)/libexec/gnubin:/usr/local/bin:$PATH"export PATH="/usr/local/sbin:$PATH"
for "HOMEBREW_GITHUB_API_TOKEN=" you can get your token here: https://github.com/settings/tokens
the important bit here is to have /usr/local first in all ur path statements
then go to /etc and edit a file called paths or you can via nano if you installed that via brew
sudo nano /etc/paths
make sure it looks like mine: /usr/local/bin /usr/bin /bin /usr/sbin /sbin
/usr/local/bin has to be on top then save Press Control + X Keys and it will ask you if you want to save it Y for yes.
then brew install openssl && brew unlink openssl && brew link openssl --overwrite --force
then quoted from here: http://stackoverflow.com/questions/22774529/what-is-the-safest-way-to-removing-python-framework-files-that-are-located-in-di, i did this:
Step 1: The native Python 2.7.x version lives here /System/Library/Frameworks/Python.framework/Versions/2.7 (or 2.6, etc), so you can remove any Python that got installed elsewhere.
sudo rm -rf /Library/Frameworks/Python.framework/ [safe to delete]
Or, according to this article, you should brew install both python 2.7 and python 3.x, and avoid using system python in Mavericks.
Step 2: Remove python in Applications directory (the one where all your apps are).
cd into folder /Applications and ls | grep Python to see what have.
Then remove: sudo rm -rf "Python 3.3"
Step 3:
brew prune [important you do this last]
sample output:
Pruned 0 dead formula Pruned 46 symbolic links from /usr/local Step 4: Run steps recommended by brew doctor
Then i installed python via brew brew install python or brew reinstall python
same with python3 (not really needed but recommended)
then i did: brew unlink python && brew link python --overwrite --force brew unlink python3 && brew link python3 --overwrite --force
then via pip
pip install setuptools --upgrade pip install Cheetah pip install cryptography pip install pyOpenSSL pip install pycrypto
then i ran pip list -o and did pip install formula --upgrade
where "formula" the names of all the outdated packages listed by the pip list -o command
do: which openssl which python and output should look like mine: XxUnkn0wnxX-iMac:~ Admin$ which openssl /usr/local/bin/openssl XxUnkn0wnxX-iMac:~ Admin$ which python /usr/local/bin/python
after that i ran SR via my App method here: https://gist.github.com/XxUnkn0wnxX/d199daecc5c414174cf9
or just run from Terminal Cd into the Dir where Sickrage is then do python SickBeard.py -d &
now you can close terminal this command makes it run in the background
and from there i just open /SickRage/Logs/sickrage.log file via console and look for error and debug the issue. be sure debugging logging is enabled in SR.
also in General Advanced settings i have "Verify SSL Certs" unticked, save then restart SR
SideNote: if using NZBToMedia With Sab on El Capitan & you have not disabled Rootless then use this: https://gist.github.com/XxUnkn0wnxX/bf3d848232f4a71b6556
when you run brew doctor ignore:
You may wish to brew unlink
these brews:
and for SR Post Processing if you want it to unpack be sure you have installed these via brew: p7zip unzip unrar
also helps NZBtoMedia
You wrote:
brew unlink python3 && brew link python --overwrite --force
it errors on me. Did you mean brew unlink python3 && brew link3 python --overwrite --force
?
That worked, but since I have almost no idea what I am doing here...
ye sorry i made a small mistake.
i meant:
brew unlink python && brew link python --overwrite --force brew unlink python3 && brew link python3 --overwrite --force
but only the 1st one should be fine the normal python python3 is only used if you have python3 installed via brew..
--force simply forces the links incase it fails normally. and --overwrite makes sure that the brewed symlinks overwrite all other python symlinks. so only the brewed version of python is used & if ur /etc/paths & .bash_profile are setup right all should be good.
simply put it you want to use the brewed version of python which you installed all the necessary modules via pip so that sickrage would run without issue. instead of using the sys ver of python that doesnt have the right modules...
brew install openssl
ln -s /usr/local/Cellar/openssl/1.0.2c/include/openssl /usr/local/include/openssl
xcode-select --install
Did it for me :-)
https://guide.macports.org/
sudo port install openssl
or sudo port upgrade openssl
i having the same issue on macOS (Sierra) I compiling NGIN from source and install a 3rd party module
./configure --prefix=/Users/managerd/git/nginx-src/nginx-1.9.13 --with-pcre=/Users/managerd/git/pcre/pcre-8.39 --with-zlib=/Users/managerd/git/zlib/zlib-1.2.8 --with-http_ssl_module --with-openssl=./
/bin/sh: ./config: No such file or directory make[1]: *** [.openssl/include/openssl/ssl.h] Error 127
@knasim check the path you are passing to --with-openssl
, doesn't look like the same issue.
Please post to our Community support forum for further help, the original issue is solved and closed.
@OnixGH - it doesn't seem to matter what path you pass to it .
For example you give it: --with-openssl=/tmp/foo/openssl
after you run make it craps out with an invalid path to the SSL headers.
i.e. /tmp/foo/openssl./.openssl/include/openssl/ssl.h
Same issue as @knasim on OSX Sierra.
@sharkzp @knasim please use https://groups.google.com/forum/#!topic/phusion-passenger/feL69qGWFXg for further discussion.
@CamJN thank you but I was able to figure out the problem.
First is the issue with internal package which is resolved by adding this to ./configure
--with-cc-opt="-I/usr/local/opt/openssl/include" \
--with-ld-opt="-L/usr/local/opt/openssl/lib"
Another one is disabling csrutil
for some reason after update it was enabled for me again. But of course I wouldn't recommend anyone to do that if they don't know what they are doing.
@sharkzp can you paste your full command here .
update: resolved it on my end. you have to supply the path to the openssl source code. otherwise when building nginx from source it will continually crap put if you just put it to openssl binaries folder.
Try
xcode-select --install
To install xcode commandline utilities.
After upgrading to El Capitan I'm unable to install the Apache module by running
passenger-install-apache2-module
.I'm getting this error:
* Checking for OpenSSL development headers... Found: no
There's for sure a default installation of OpenSSL on the system, also tried installing the latest one (OpenSSL 1.0.2d 9 Jul 2015) to
/opt/local/bin/openssl
but that did not help at all. Still the same problem.How can I point to the correct path?