Message boards : Server programs : openssl error when building Boinc server
Message board moderation
Author | Message |
---|---|
Send message Joined: 26 Aug 15 Posts: 9 |
There are two issue here: 1. Regardless of what i put in --with-ssl this piece of compilation keeps falling back on /usr/include: make[2]: Entering directory `/bb/mbigf/mbig2351/code/boinc/sched' CXX libsched_la-credit.lo CXX libsched_la-sched_shmem.lo CXX libsched_la-sched_util.lo CXX libsched_la-sched_util_basic.lo CXX libsched_la-sched_config.lo CXX libsched_la-sched_limit.lo CXX libsched_la-sched_msgs.lo CXX libsched_la-boinc_db.lo CXX libsched_la-db_base.lo CXX libsched_la-process_result_template.lo In file included from /usr/include/openssl/e_os2.h:56, from /usr/include/openssl/asn1.h:63, from /usr/include/openssl/rsa.h:62, from ../lib/crypt.h:27, from ../tools/process_result_template.cpp:28: /usr/include/openssl/opensslconf.h:13:30: error: opensslconf-i386.h: No such file or directory In file included from /usr/include/openssl/asn1.h:74, from /usr/include/openssl/rsa.h:62, from ../lib/crypt.h:27, from ../tools/process_result_template.cpp:28: /usr/include/openssl/bn.h:320: error: expected ';' before '*' token /usr/include/openssl/bn.h:336: error: 'BN_ULONG' does not name a type /usr/include/openssl/bn.h:440: error: 'BN_ULONG' was not declared in this scope 2. The second issue is why openssl-conf-i386.h is being looked for. Is that possible that somehow a 32bit compilation is being forced? More details: **** Configure line: ./configure --disable-client --disable-manager --prefix /home/jsaremi/sys/Linux --enable-server MYSQL_CONFIG=/home/jsaremi/code/libmysqlclientdev/usr/bin/mysql_config --with-ssl=/home/jsaremi/code/openssl/usr --enable-bitness=64 ***** Openssl override is recognized: ... checking for gzopen in -lz... yes checking for openssl... yes OpenSSL found in /home/jsaremi/code/openssl/usr ... **** my override ssl path is used in some components! ... CXX libboinc_crypt_la-crypt.lo In file included from /home/jsaremi/code/openssl/usr/include/openssl/ssl.h:1310, from crypt.cpp:38: /home/jsaremi/code/openssl/usr/include/openssl/srtp.h:138: warning: redundant redeclaration of 'SRTP_PROTECTION_PROFILE* SSL_get_selected_srtp_profile(SSL*)' in same scope /home/jsaremi/code/openssl/usr/include/openssl/srtp.h:135: warning: previous declaration of 'SRTP_PROTECTION_PROFILE* SSL_get_selected_srtp_profile(SSL*)' CXXLD libboinc_crypt.la CXX crypt_prog-crypt_prog.o rm -f libboinc_crypt.a /opt/swt/install/coreutils-8.21-64/bin/ln .libs/libboinc_crypt.a . ... |
Send message Joined: 26 Aug 15 Posts: 9 |
There's also a link to this issue here: https://bugzilla.redhat.com/show_bug.cgi?id=202929 |
Send message Joined: 26 Aug 15 Posts: 9 |
running make inside the tools folder with V=1 produces the following. As you notice none of the SSL paths that i had added to configure show up here: /home/jsaremi/code/boinc/tools $ make V=1 /usr/bin/g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../api -I../db -I../lib -I../lib/mac -I../sched -I../tools -I../vda -pthread -Wall -Wextra -Wshadow -Wredundant-decls -Wdisabled-optimization -Wpointer-arith -Wstrict-aliasing -Wcast-align -I/home/jsaremi/code/libmysqlclientdev/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -fasynchronous-unwind-tables -DPIC -fPIC -DUNDEF_HAVE_INITGROUPS -g -g -O2 -Wall -MT cancel_jobs.o -MD -MP -MF .deps/cancel_jobs.Tpo -c -o cancel_jobs.o cancel_jobs.cpp In file included from /usr/include/openssl/e_os2.h:56, from /usr/include/openssl/asn1.h:63, from /usr/include/openssl/rsa.h:62, from ../lib/crypt.h:27, from backend_lib.h:23, from cancel_jobs.cpp:25: /usr/include/openssl/opensslconf.h:13:30: error: opensslconf-i386.h: No such file or directory In file included from /usr/include/openssl/asn1.h:74, from /usr/include/openssl/rsa.h:62, from ../lib/crypt.h:27, from backend_lib.h:23, from cancel_jobs.cpp:25: |
Send message Joined: 20 Nov 12 Posts: 801 |
You could try changing sched/Automake.am as follows: libsched_la_CFLAGS = $(AM_CPPFLAGS) ${SSL_CFLAGS} libsched_la_CXXFLAGS = $(AM_CPPFLAGS) ${SSL_CXXFLAGS} Added the SSL flags there. Untested, might need the flags elsewhere too, might be wrong place, etc... edit: You'll need to re-run configure and possibly _autosetup before that. :edit Now the stupid question, why are you using self-compiled MySQL and OpenSSL? You say this is RHEL so aren't those already packaged? |
Send message Joined: 26 Aug 15 Posts: 9 |
Thanks very much Juha. Your instructions helped. However I am still getting -m32 thrown into the mix. I have tried a bunch of tricks such as ./configure CC="gcc -m64" CXX="g++ -m64" however i end up with -m64 and -m32 on the parse line! which causes the -m32 to take priority finally How can i force a clean 64bit compilation? --enable-bitness=64 does not help either Wrt your question. Yes that is very stupid however i have no choice since I can't install anything. I have do everything in my home directory! |
Send message Joined: 26 Aug 15 Posts: 9 |
I think the -m32 is coming from mysql_config --cflags i probably installed a 32bit version instead of a 64bit one |
Send message Joined: 26 Aug 15 Posts: 9 |
The problem was that my libmysqlclient installation was a 32bit. Once i changed it to 64 the compilation went through |
Send message Joined: 20 Nov 12 Posts: 801 |
Wrt your question. Yes that is very stupid however i have no choice since I can't install anything. I have do everything in my home directory! Fair enough. Glad you got |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.