HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.7.4/ext/digest/sha1/mkmf.log
"pkg-config --exists openssl"
| pkg-config --libs openssl
=> "-lssl -lcrypto \n"
"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1    -g -O2 -fPIC conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic     -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -lssl -lcrypto -lm   -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

| pkg-config --cflags-only-I openssl
=> "\n"
| pkg-config --cflags-only-other openssl
=> "\n"
| pkg-config --libs-only-l openssl
=> "-lssl -lcrypto \n"
package configuration for openssl
incflags: 
cflags: 
ldflags: 
libs: -lssl -lcrypto

have_header: checking for openssl/ssl.h... -------------------- yes

"gcc -E -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC   conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <openssl/ssl.h>
/* end */

--------------------

have_library: checking for CRYPTO_malloc() in -lcrypto... -------------------- yes

"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC  conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic      -lssl -lcrypto -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -lcrypto  -lssl -lcrypto -lm   -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘CRYPTO_malloc’ undeclared (first use in this function)
 int t(void) { void ((*volatile p)()); p = (void ((*)()))CRYPTO_malloc; return !p; }
                                                         ^~~~~~~~~~~~~
conftest.c:14: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: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))CRYPTO_malloc; return !p; }
/* end */

"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC  conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic      -lssl -lcrypto -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -lcrypto  -lssl -lcrypto -lm   -lc"
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return !!argv[argc];
13: }
14: extern void CRYPTO_malloc();
15: int t(void) { CRYPTO_malloc(); return 0; }
/* end */

--------------------

have_library: checking for SSL_new() in -lssl... -------------------- yes

"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC  conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic     -lcrypto  -lssl -lcrypto -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -lssl -lcrypto  -lssl -lcrypto -lm   -lc"
conftest.c: In function ‘t’:
conftest.c:14:57: error: ‘SSL_new’ undeclared (first use in this function)
 int t(void) { void ((*volatile p)()); p = (void ((*)()))SSL_new; return !p; }
                                                         ^~~~~~~
conftest.c:14: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: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))SSL_new; return !p; }
/* end */

"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC  conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic     -lcrypto  -lssl -lcrypto -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -lssl -lcrypto  -lssl -lcrypto -lm   -lc"
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return !!argv[argc];
13: }
14: extern void SSL_new();
15: int t(void) { SSL_new(); return 0; }
/* end */

--------------------

have_func: checking for SHA1_Transform() in openssl/sha.h with -Werror=deprecated-declarations... -------------------- yes

"gcc -o conftest -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC  conftest.c  -L. -L../../.. -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic     -lssl -lcrypto  -lssl -lcrypto -Wl,-rpath,/usr/local/rvm/rubies/ruby-2.7.4/lib -L/usr/local/rvm/rubies/ruby-2.7.4/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm  -Werror=deprecated-declarations -lssl -lcrypto  -lssl -lcrypto -lm   -lc"
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: #include <openssl/sha.h>
 4: 
 5: /*top*/
 6: extern int t(void);
 7: int main(int argc, char **argv)
 8: {
 9:   if (argc > 1000000) {
10:     int (* volatile tp)(void)=(int (*)(void))&t;
11:     printf("%d", (*tp)());
12:   }
13: 
14:   return !!argv[argc];
15: }
16: int t(void) { void ((*volatile p)()); p = (void ((*)()))SHA1_Transform; return !p; }
/* end */

--------------------

have_type: checking for SHA_CTX in openssl/sha.h... -------------------- yes

"gcc -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC    -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <openssl/sha.h>
4: 
5: /*top*/
6: typedef SHA_CTX conftest_type;
7: int conftestval[sizeof(conftest_type)?1:-1];
/* end */

--------------------

have_header: checking for sys/cdefs.h... -------------------- yes

"gcc -E -I../../../.ext/include/x86_64-linux -I../../.././include -I../../.././ext/digest/sha1     -g -O2 -fPIC   conftest.c -o conftest.i"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <sys/cdefs.h>
/* end */

--------------------

extconf.h is:
/* begin */
1: #ifndef EXTCONF_H
2: #define EXTCONF_H
3: #define HAVE_CONFIG_H 1
4: #define HAVE_OPENSSL_SSL_H 1
5: #define HAVE_SHA1_TRANSFORM 1
6: #define HAVE_TYPE_SHA_CTX 1
7: #define SHA1_USE_OPENSSL 1
8: #define HAVE_SYS_CDEFS_H 1
9: #endif
/* end */