Cannot install openssl

Hi all,

I’ve been struggling to install OpenSSL on ruby, it doesn’t work when I do bundle install and it doesn’t work when I try to install it through: install openssl, or even through : ‘gem install openssl -v ‘2.0.7’ --source ‘https://rubygems.org/’’ I just keep getting errors, see the below:

=== OpenSSL for Ruby configurator ===

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: int main(int argc, char *argv)
6: {
7: return 0;
8: }
/
end */

“gcc -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Werror=deprecated-declarations -c conftest.c”
checked program was:
/* begin /
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
/
end */

=== Checking for system dependent stuff… ===
have_library: checking for t_open() in -lnsl… -------------------- no

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lnsl -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
conftest.c: In function ‘t’:
conftest.c:16:57: error: ‘t_open’ undeclared (first use in this function)
conftest.c:16:57: note: each undeclared identifier is reported only once for each function it appears in
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: int t(void) { void ((volatile p)()); p = (void (()()))t_open; return !p; }
/
end */

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lnsl -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
c:/railsinstaller/devkit/mingw/bin/…/lib/gcc/i686-w64-mingw32/4.7.2/…/…/…/…/i686-w64-mingw32/bin/ld.exe: cannot find -lnsl
collect2.exe: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: extern void t_open();
17: int t(void) { t_open(); return 0; }
/
end */


have_library: checking for socket() in -lsocket… -------------------- no

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lsocket -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
c:/railsinstaller/devkit/mingw/bin/…/lib/gcc/i686-w64-mingw32/4.7.2/…/…/…/…/i686-w64-mingw32/bin/ld.exe: cannot find -lsocket
collect2.exe: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: int t(void) { void ((volatile p)()); p = (void (()()))socket; return !p; }
/
end */

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lsocket -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
conftest.c:16:13: error: conflicting types for ‘socket’
In file included from C:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/win32.h:41:0,
from C:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/defines.h:168,
from C:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/ruby.h:36,
from C:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby.h:33,
from conftest.c:1:
c:\railsinstaller\devkit\mingw\bin../lib/gcc/i686-w64-mingw32/4.7.2/…/…/…/…/i686-w64-mingw32/include/winsock2.h:1018:37: note: previous declaration of ‘socket’ was here
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: extern void socket();
17: int t(void) { socket(); return 0; }
/
end */


=== Checking for required stuff… ===
package configuration for openssl is not found
have_library: checking for main() in -lgdi32… -------------------- yes

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lmsvcrt-ruby230 -lgdi32 -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: int t(void) { void ((volatile p)()); p = (void (()()))main; return !p; }
/
end */


have_library: checking for main() in -lcrypt32… -------------------- yes

"gcc -o conftest.exe -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -L. -LC:/RailsInstaller/Ruby2.3.3/lib -L. -lgdi32 -lmsvcrt-ruby230 -lcrypt32 -lgdi32 -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi "
checked program was:
/* begin */
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5:
6: /top/
7: extern int t(void);
8: int main(int argc, char *argv)
9: {
10: if (argc > 1000000) {
11: printf(“%p”, &t);
12: }
13:
14: return 0;
15: }
16: int t(void) { void ((volatile p)()); p = (void (()()))main; return !p; }
/
end */


have_header: checking for openssl/ssl.h… -------------------- no

“gcc -E -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/i386-mingw32 -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0/ruby/backward -IC:/RailsInstaller/Ruby2.3.3/include/ruby-2.3.0 -I. -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0501 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 -O3 -fno-omit-frame-pointer -fno-fast-math -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat conftest.c -o conftest.i”
conftest.c:5:25: fatal error: openssl/ssl.h: No such file or directory
compilation terminated.
checked program was:
/* begin /
1: #include “ruby.h”
2:
3: #include <winsock2.h>
4: #include <windows.h>
5: #include <openssl/ssl.h>
/
end */


=== Checking for required stuff failed. ===
Makefile wasn’t created. Fix the errors above.

You are missing the ssh library.
To install this on:

  1. Arch Linux:
pacman -S openssl
  1. Debian / Most Debian Based Systems:
apt install libssl-dev
  1. Fedora:
yum install rubygem-openssl
  1. OpenSUSE:
zypper install libopenssl-devel

I’m on windows and I can’t seem to install this to work.