openssl error when building Boinc server

Message boards : Server programs : openssl error when building Boinc server
Message board moderation

To post messages, you must log in.

AuthorMessage
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63848 - Posted: 26 Aug 2015, 15:24:33 UTC

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 .
...
ID: 63848 · Report as offensive
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63849 - Posted: 26 Aug 2015, 15:42:28 UTC - in response to Message 63848.  

There's also a link to this issue here:
https://bugzilla.redhat.com/show_bug.cgi?id=202929
ID: 63849 · Report as offensive
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63870 - Posted: 27 Aug 2015, 15:42:40 UTC - in response to Message 63849.  

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:
ID: 63870 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 667
Finland
Message 63874 - Posted: 27 Aug 2015, 17:34:43 UTC - in response to Message 63870.  
Last modified: 27 Aug 2015, 17:58:18 UTC

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?
ID: 63874 · Report as offensive
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63877 - Posted: 27 Aug 2015, 21:09:23 UTC - in response to Message 63874.  

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!
ID: 63877 · Report as offensive
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63878 - Posted: 27 Aug 2015, 21:25:04 UTC - in response to Message 63877.  

I think the -m32 is coming from mysql_config --cflags
i probably installed a 32bit version instead of a 64bit one
ID: 63878 · Report as offensive
jeff saremi

Send message
Joined: 26 Aug 15
Posts: 9
United States
Message 63887 - Posted: 28 Aug 2015, 15:28:04 UTC - in response to Message 63878.  

The problem was that my libmysqlclient installation was a 32bit. Once i changed it to 64 the compilation went through
ID: 63887 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 667
Finland
Message 63890 - Posted: 28 Aug 2015, 15:58:31 UTC - in response to Message 63877.  

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 it working past the first issues.
ID: 63890 · Report as offensive

Message boards : Server programs : openssl error when building Boinc server

Copyright © 2017 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.