libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c logging/logging.c -fPIC -DPIC -o logging/.libs/logging.o libhttp/httpconnection.c: In function ‘httpPromoteToSSL’: libhttp/httpconnection.c:107:7: warning: implicit declaration of function ‘SSL_set_app_data’ [-Wimplicit-function-declaration] SSL_set_app_data(http->sslHndl, http); ^ libhttp/httpconnection.c: In function ‘httpRead’: libhttp/httpconnection.c:122:5: warning: implicit declaration of function ‘ERR_peek_error’ [-Wimplicit-function-declaration] dcheck(!ERR_peek_error()); ^ libhttp/httpconnection.c:123:5: warning: implicit declaration of function ‘SSL_read’ [-Wimplicit-function-declaration] rc = SSL_read(http->sslHndl, buf, len); ^ libhttp/httpconnection.c:127:7: warning: implicit declaration of function ‘SSL_get_error’ [-Wimplicit-function-declaration] switch (http->lastError = SSL_get_error(http->sslHndl, rc)) { ^ libhttp/httpconnection.c:137:7: warning: implicit declaration of function ‘ERR_clear_error’ [-Wimplicit-function-declaration] ERR_clear_error(); ^ libhttp/httpconnection.c: In function ‘httpWrite’: libhttp/httpconnection.c:166:5: warning: implicit declaration of function ‘SSL_write’ [-Wimplicit-function-declaration] rc = SSL_write(http->sslHndl, buf, len); ^ libhttp/httpconnection.c: In function ‘httpShutdown’: libhttp/httpconnection.c:199:9: warning: implicit declaration of function ‘SSL_shutdown’ [-Wimplicit-function-declaration] int rc = SSL_shutdown(http->sslHndl); ^ x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c -o shellinabox/privileges.o shellinabox/privileges.c libhttp/ssl.c: In function ‘sslGetNextBIO’: libhttp/ssl.c:1020:11: error: dereferencing pointer to incomplete type return b->next_bio; ^ libhttp/ssl.c:1024:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[1]: *** [Makefile:745: libhttp/ssl.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c libhttp/hashmap.c -o libhttp/hashmap.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c libhttp/trie.c -o libhttp/trie.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c logging/logging.c -o logging/logging.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c libhttp/url.c -o libhttp/url.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c libhttp/server.c -o libhttp/server.o >/dev/null 2>&1 libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -g -std=gnu99 -Wall -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -c libhttp/httpconnection.c -o libhttp/httpconnection.o >/dev/null 2>&1 make[1]: Leaving directory '/var/tmp/portage/www-misc/shellinabox-2.20/work/shellinabox-2.20' make: *** [Makefile:528: all] Error 2 * ERROR: www-misc/shellinabox-2.20::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=www-misc/shellinabox-2.20::gentoo'`, * the complete build log and the output of `emerge -pqv '=www-misc/shellinabox-2.20::gentoo'`. * The complete build log is located at '/var/tmp/portage/www-misc/shellinabox-2.20/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/www-misc/shellinabox-2.20/temp/environment'. * Working directory: '/var/tmp/portage/www-misc/shellinabox-2.20/work/shellinabox-2.20' * S: '/var/tmp/portage/www-misc/shellinabox-2.20/work/shellinabox-2.20' >>> Failed to emerge www-misc/shellinabox-2.20, Log file: >>> '/var/tmp/portage/www-misc/shellinabox-2.20/temp/build.log.gz' * Messages for package www-misc/shellinabox-2.20: * ERROR: www-misc/shellinabox-2.20::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=www-misc/shellinabox-2.20::gentoo'`, * the complete build log and the output of `emerge -pqv '=www-misc/shellinabox-2.20::gentoo'`. * The complete build log is located at '/var/tmp/portage/www-misc/shellinabox-2.20/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/www-misc/shellinabox-2.20/temp/environment'. * Working directory: '/var/tmp/portage/www-misc/shellinabox-2.20/work/shellinabox-2.20' * S: '/var/tmp/portage/www-misc/shellinabox-2.20/work/shellinabox-2.20'
I can reproduce the error and this is indeed weird. Even though there's an option to disable SSL at compile time, it doesn't seem to actually work. Is it a big deal if you compile SIAB with SSL enabled and then disable the option at run time?
No big deal to disable ssl at runtime. Simply reporting the bug so you knew :-).
commit 2d30d59f0307cc388e91fa5945927559f3241728 (HEAD -> master, origin/master, origin/HEAD) Author: Patrice Clement <monsieurp@gentoo.org> AuthorDate: Tue Jan 31 13:55:34 2017 +0100 Commit: Patrice Clement <monsieurp@gentoo.org> CommitDate: Tue Jan 31 14:01:28 2017 +0100 www-misc/shellinabox: turn openssl into a hard dependency and remove ssl USE flag. dev-libs/openssl:0= previously was an optional dependency available through a USE flag but it turns out shellinabox cannot be compiled with SSL support disabled. let's remove the "ssl" USE flag and turn dev-libs/openssl into a hard dependency. Gentoo-Bug: https://bugs.gentoo.org/607528 Package-Manager: portage-2.3.3 www-misc/shellinabox/shellinabox-2.20-r1.ebuild | 108 ++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 www-misc/shellinabox/shellinabox-2.20-r1.ebuild Thanks a lot for reporting this issue! openssl is now a hard dependency. If you want to disable SSL altogether, use the --disable-ssl option at run time.