Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 286933 - www-plugins/gnash-0.8.6: problems with USE=lirc
Summary: www-plugins/gnash-0.8.6: problems with USE=lirc
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Romain Perier (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-29 15:00 UTC by Stuart Shelton
Modified: 2010-03-17 23:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
gnash-0.8.6 compressed build log (www-plugins:gnash-0.8.6:20100316-153346.log.bz2,38.97 KB, application/x-bzip)
2010-03-16 17:06 UTC, Stuart Shelton
Details
gnash-0.8.7 compressed build log (www-plugins:gnash-0.8.7:20100317-121136.log.bz2,38.13 KB, application/x-bzip )
2010-03-17 15:32 UTC, Stuart Shelton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2009-09-29 15:00:02 UTC
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.
Comment 1 Peter Volkov (RETIRED) gentoo-dev 2009-12-20 18:46:24 UTC
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?
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2009-12-22 15:47:50 UTC
well I've added upstream patch for libssh so gnash should build with USE=ssh.
Comment 3 Romain Perier (RETIRED) gentoo-dev 2009-12-23 10:03:22 UTC
Thanks Peter :)

Stuart: please get back us about the build issue
Comment 4 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-03-15 21:07:04 UTC
If the issue still exists with current gnash and libssh, please reopen and provide a new build log.
Comment 5 Stuart Shelton 2010-03-16 17:06:07 UTC
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'
Comment 6 Stuart Shelton 2010-03-16 17:07:24 UTC
Reopening with build log, as requested.
Comment 7 Stuart Shelton 2010-03-16 17:16:02 UTC
(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.)
Comment 8 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-03-16 17:46:06 UTC
Please try with the most current gnash-0.8.7
http://packages.gentoo.org/package/www-plugins/gnash
Comment 9 Stuart Shelton 2010-03-17 10:10:46 UTC
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.
Comment 10 Stuart Shelton 2010-03-17 15:32:26 UTC
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 :(
Comment 11 Chí-Thanh Christopher Nguyễn gentoo-dev 2010-03-17 23:35:58 UTC
Fixed in CVS without a revbump.