If USE="ssh", gnash-0.8.6 fails with: ERROR: No SSH development package is installed, but it's enabled. configure: error: Please install required packages ... this appears to be because the gnash ebuild depends on libssh2, but should instead depend on libssh. With net-libs/libssh-0.1.1 installed, this build instead fails with: sshclient.cpp: In member function 'int gnash::SSHClient::sshRead(uint8_t*, size_t)': sshclient.cpp:123: error: cannot convert 'uint8_t*' to 'BUFFER*' for argument '2' to 'int channel_read(CHANNEL*, BUFFER*, int, int)' sshclient.cpp: In member function 'int gnash::SSHClient::sshWrite(const uint8_t*, size_t)': sshclient.cpp:145: error: invalid conversion from 'const void*' to 'void*' sshclient.cpp:145: error: initializing argument 2 of 'int channel_write(CHANNEL*, void*, int)' sshclient.cpp: In member function 'bool gnash::SSHClient::sshShutdown()': sshclient.cpp:160: error: 'ssh_finalize' was not declared in this scope sshclient.cpp: In member function 'bool gnash::SSHClient::sshConnect(int, std::string&)': sshclient.cpp:186: error: 'ssh_options_new' was not declared in this scope sshclient.cpp:189: error: 'ssh_options_set_host' was not declared in this scope sshclient.cpp:191: error: 'ssh_options_free' was not declared in this scope sshclient.cpp:197: error: 'ssh_options_set_username' was not declared in this scope sshclient.cpp:199: error: 'ssh_options_free' was not declared in this scope sshclient.cpp:205: error: 'ssh_new' was not declared in this scope sshclient.cpp:206: error: 'ssh_set_options' was not declared in this scope sshclient.cpp:207: error: cannot convert 'SSH_SESSION*' to 'SSH_OPTIONS*' for argument '1' to 'SSH_SESSION* ssh_connect(SSH_OPTIONS*)' sshclient.cpp:216: error: cannot convert 'unsigned char**' to 'char*' for argument '2' to 'int ssh_get_pubkey_hash(SSH_SESSION*, char*)' sshclient.cpp:227: warning: deprecated conversion from string constant to 'char*' sshclient.cpp:240: error: 'ssh_get_hexa' was not declared in this scope sshclient.cpp:276: error: 'ssh_auth_list' was not declared in this scope sshclient.cpp:280: error: 'SSH_AUTH_METHOD_PUBLICKEY' was not declared in this scope sshclient.cpp:283: error: 'SSH_AUTH_METHOD_INTERACTIVE' was not declared in this scope /usr/include/libssh/libssh.h:207: error: too many arguments to function 'int ssh_userauth_autopubkey(SSH_SESSION*)' sshclient.cpp:288: error: at this point in file sshclient.cpp:291: error: 'ssh_finalize' was not declared in this scope sshclient.cpp:304: error: 'ssh_finalize' was not declared in this scope sshclient.cpp:313: error: 'ssh_finalize' was not declared in this scope sshclient.cpp:318: error: 'SSH_LOG_FUNCTIONS' was not declared in this scope sshclient.cpp:318: error: 'ssh_log' was not declared in this scope sshclient.cpp:182: warning: unused variable 'buf' sshclient.cpp: At global scope: sshclient.cpp:176: warning: unused parameter 'fd' sshclient.cpp: In member function 'int gnash::SSHClient::authKbdint(SSH_SESSION*)': sshclient.cpp:372: error: void value not ignored as it ought to be sshclient.cpp:378: error: void value not ignored as it ought to be sshclient.cpp: In member function 'CHANNEL* gnash::SSHClient::openChannel(SSH_SESSION*)': sshclient.cpp:403: error: 'channel_new' was not declared in this scope sshclient.cpp:405: error: cannot convert 'CHANNEL*' to 'SSH_SESSION*' for argument '1' to 'CHANNEL* channel_open_session(SSH_SESSION*)' sshclient.cpp:405: error: 'SSH_OK' was not declared in this scope sshclient.cpp: In member function 'int gnash::SSHClient::readChannel(CHANNEL*, amf::Buffer&)': sshclient.cpp:423: error: cannot convert 'uint8_t*' to 'BUFFER*' for argument '2' to 'int channel_read(CHANNEL*, BUFFER*, int, int)' sshclient.cpp: In member function 'int gnash::SSHClient::writeChannel(CHANNEL*, amf::Buffer&)': sshclient.cpp:442: warning: no return statement in function returning non-void sshclient.cpp: In member function 'void gnash::SSHClient::dump()': sshclient.cpp:472: error: 'ssh_version' was not declared in this scope make[2]: *** [sshclient.lo] Error 1 ... which might instead suggest that gnash really does want libssh2, but that (at least) the configure script has inadvertently dropped the "2". With USE="lirc", gnash fails with: make[3]: Entering directory `/var/tmp/portage/www-plugins/gnash-0.8.6/work/gnash-0.8.6/extensions/lirc' ... In file included from ../../libnet/sslclient.h:41, from ../../libnet/network.h:59, from ../../libnet/lirc.h:22, from lirc_ext.cpp:31: ../../libnet/cque.h:38: error: 'amf' was not declared in this scope ../../libnet/cque.h:38: error: template argument 1 is invalid ../../libnet/cque.h:38: error: template argument 1 is invalid ../../libnet/cque.h:38: error: template argument 2 is invalid ../../libnet/cque.h:52: error: 'amf' was not declared in this scope ../../libnet/cque.h:52: error: template argument 1 is invalid ../../libnet/cque.h:54: error: 'amf' was not declared in this scope ../../libnet/cque.h:54: error: template argument 1 is invalid ../../libnet/cque.h:56: error: 'amf' was not declared in this scope ../../libnet/cque.h:56: error: template argument 1 is invalid ../../libnet/cque.h:66: error: 'amf' was not declared in this scope ../../libnet/cque.h:66: error: template argument 1 is invalid ../../libnet/cque.h:66: error: 'amf' was not declared in this scope ../../libnet/cque.h:66: error: template argument 1 is invalid ../../libnet/cque.h:69: error: 'amf' was not declared in this scope ../../libnet/cque.h:69: error: template argument 1 is invalid ../../libnet/cque.h:72: error: 'amf' was not declared in this scope ../../libnet/cque.h:72: error: template argument 1 is invalid ../../libnet/cque.h:72: error: 'amf' was not declared in this scope ../../libnet/cque.h:72: error: template argument 1 is invalid ../../libnet/cque.h:73: error: 'amf' was not declared in this scope ../../libnet/cque.h:73: error: template argument 1 is invalid ../../libnet/cque.h:75: error: 'amf' was not declared in this scope ../../libnet/cque.h:75: error: template argument 1 is invalid ../../libnet/cque.h: In member function 'int gnash::CQue::operator[](int)': ../../libnet/cque.h:75: error: invalid types 'int[int]' for array subscript In file included from ../../libnet/network.h:59, from ../../libnet/lirc.h:22, from lirc_ext.cpp:31: ../../libnet/sslclient.h: At global scope: ../../libnet/sslclient.h:62: error: 'amf' has not been declared ../../libnet/sslclient.h:62: error: expected ',' or '...' before '&' token ../../libnet/sslclient.h:67: error: 'amf' has not been declared ../../libnet/sslclient.h:67: error: expected ',' or '...' before '&' token make[3]: *** [lirc_ext.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/www-plugins/gnash-0.8.6/work/gnash-0.8.6/extensions/lirc' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/www-plugins/gnash-0.8.6/work/gnash-0.8.6/extensions' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/www-plugins/gnash-0.8.6/work/gnash-0.8.6' make: *** [all] Error 2 * * ERROR: www-plugins/gnash-0.8.6 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3288: Called base_src_compile * environment, line 404: Called base_src_work 'make' * environment, line 518: Called die * The specific snippet of code: * emake || die "died running emake, $FUNCNAME:make"; * The die message: * died running emake, base_src_work:make Building with USE="-ssh -lirc" succeeds.
Looking at the code, current version of gnash needs =libssh-0.3.4 and it will not work with libssh-0.4.0. Also gnash needs libssh[server]. Also patch for libssh exist now: https://savannah.gnu.org/bugs/?28354 Romain could you apply it and fix deps?
well I've added upstream patch for libssh so gnash should build with USE=ssh.
Thanks Peter :) Stuart: please get back us about the build issue
If the issue still exists with current gnash and libssh, please reopen and provide a new build log.
Created attachment 223933 [details] gnash-0.8.6 compressed build log The most recent (keyworded) gnash-0.8.6 still fails with USE="ssh lirc" - build log attached. My AMD64 box is currently unavailable, so this build just took several hours on a 2GHz VIA MiniITX system ;) Is may be that USE="ssh" now works but USE="lirc" fails... the strange thing is that the failing error messages are all from "libnet/sshclient.h", but the failure is in extensions/lirc. Perhaps it's the precence of these two flags together which is causing problems? In any case, the build takes too long on this system to practically be able to test each eventuality - and there's definitely still a problem. The final errors from the log are: In file included from ../../libnet/sshclient.h:41, from ../../libnet/network.h:55, from ../../libnet/lirc.h:22, from lirc_ext.cpp:31: ../../libnet/cque.h: At global scope: ../../libnet/cque.h:38: error: 'amf' was not declared in this scope ../../libnet/cque.h:38: error: template argument 1 is invalid ../../libnet/cque.h:38: error: template argument 1 is invalid ../../libnet/cque.h:38: error: template argument 2 is invalid ../../libnet/cque.h:52: error: 'amf' was not declared in this scope ../../libnet/cque.h:52: error: template argument 1 is invalid ../../libnet/cque.h:54: error: 'amf' was not declared in this scope ../../libnet/cque.h:54: error: template argument 1 is invalid ../../libnet/cque.h:56: error: 'amf' was not declared in this scope ../../libnet/cque.h:56: error: template argument 1 is invalid ../../libnet/cque.h:66: error: 'amf' was not declared in this scope ../../libnet/cque.h:66: error: template argument 1 is invalid ../../libnet/cque.h:66: error: 'amf' was not declared in this scope ../../libnet/cque.h:66: error: template argument 1 is invalid ../../libnet/cque.h:69: error: 'amf' was not declared in this scope ../../libnet/cque.h:69: error: template argument 1 is invalid ../../libnet/cque.h:72: error: 'amf' was not declared in this scope ../../libnet/cque.h:72: error: template argument 1 is invalid ../../libnet/cque.h:72: error: 'amf' was not declared in this scope ../../libnet/cque.h:72: error: template argument 1 is invalid ../../libnet/cque.h:73: error: 'amf' was not declared in this scope ../../libnet/cque.h:73: error: template argument 1 is invalid ../../libnet/cque.h:75: error: 'amf' was not declared in this scope ../../libnet/cque.h:75: error: template argument 1 is invalid ../../libnet/cque.h: In member function 'int gnash::CQue::operator[](int)': ../../libnet/cque.h:75: error: invalid types 'int[int]' for array subscript In file included from ../../libnet/network.h:55, from ../../libnet/lirc.h:22, from lirc_ext.cpp:31: ../../libnet/sshclient.h: At global scope: ../../libnet/sshclient.h:65: error: 'amf' has not been declared ../../libnet/sshclient.h:65: error: expected ',' or '...' before '&' token ../../libnet/sshclient.h:70: error: 'amf' has not been declared ../../libnet/sshclient.h:70: error: expected ',' or '...' before '&' token ../../libnet/sshclient.h:113: error: 'amf' was not declared in this scope ../../libnet/sshclient.h:113: error: template argument 1 is invalid ../../libnet/sshclient.h:118: error: 'amf' has not been declared ../../libnet/sshclient.h:118: error: expected ',' or '...' before '&' token ../../libnet/sshclient.h:119: error: 'amf' has not been declared ../../libnet/sshclient.h:119: error: expected ',' or '...' before '&' token ../../libnet/sshclient.h:135: error: 'amf' was not declared in this scope ../../libnet/sshclient.h:135: error: template argument 1 is invalid In file included from ../../libnet/network.h:59, from ../../libnet/lirc.h:22, from lirc_ext.cpp:31: ../../libnet/sslclient.h:62: error: 'amf' has not been declared ../../libnet/sslclient.h:62: error: expected ',' or '...' before '&' token ../../libnet/sslclient.h:67: error: 'amf' has not been declared ../../libnet/sslclient.h:67: error: expected ',' or '...' before '&' token make[3]: *** [lirc_ext.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/www-plugins/gnash-0.8.6/work/gnash-0.8.6/extensions/lirc'
Reopening with build log, as requested.
(This was with net-libs/libssh-0.4.1 installed, BTW. And just for the hell of it I'm trying a new build with USE="ssh -lirc" to see how that copes. It's going to take hours, though.)
Please try with the most current gnash-0.8.7 http://packages.gentoo.org/package/www-plugins/gnash
Sticking with gnash-0.8.6 for a second, the rebuild with USE="ssh -lirc" completed successfully - so USE="ssh" seems to be fixed, but USE="lirc" is still broken.
Created attachment 224013 [details] gnash-0.8.7 compressed build log gnash-0.8.7 also fails with what appears to be exactly the same problem :(
Fixed in CVS without a revbump.