Gobby 0.4.12 install error - c++

I ran across the following error when attempting to install Gobby 0.4.12 from source on Ubuntu 13.10. Any ideas?
I'm fairly confident it's a version error, but I'm curious if anyone else has run across this same problem and found a fix.
src/gselector.cpp: In member function ‘void Gobby::GSelector::add_socket(const net6::socket&, net6::io_condition)’:
src/gselector.cpp:87:17: error: ‘signal_io’ is not a member of ‘Glib’
sel.io_conn = Glib::signal_io().connect(
^
src/gselector.cpp: In member function ‘void Gobby::GSelector::modify_socket(std::map<const net6::socket*, Gobby::GSelector::SelectedSocket>::iterator, net6::io_condition)’:
src/gselector.cpp:109:27: error: ‘signal_io’ is not a member of ‘Glib’
iter->second.io_conn = Glib::signal_io().connect(
^
src/gselector.cpp: In member function ‘void Gobby::GSelector::set_timeout(const net6::socket&, long unsigned int)’:
src/gselector.cpp:226:24: error: ‘signal_timeout’ is not a member of ‘Glib’
sel_sock->time_conn = Glib::signal_timeout().connect(

This A Known Bug And It Has Been Fixed In sobby - 0.4.8-1
Check Here:
https://bugs.launchpad.net/ubuntu/+source/sobby/+bug/935447

Related

Not able to build Raft implementation of LogCabin using scons and Protobuf 3

I am not able to build RAFT implementation of LogCabin (C++) using scons and protobuf3 in Ubuntu.
Errors be like
usr/local/include/google/protobuf/repeated_field.h: In member function ‘int google::protobuf::RepeatedPtrField<Element>::SpaceUsedExcludingSelf() const’:
/usr/local/include/google/protobuf/repeated_field.h:888:12: error: ‘ToIntSize’ is not a member of ‘google::protobuf::internal’
return internal::ToIntSize(SpaceUsedExcludingSelfLong());
^
In file included from /usr/local/include/google/protobuf/map.h:48:0,from /usr/local/include/google/protobuf/generated_message_table_driven.h:34, from ./build/Protocol/ServerStats.pb.h:25, from build/Tree/Tree.cc:19:
/usr/local/include/google/protobuf/map_type_handler.h: In static member function ‘static void google::protobuf::internal::MapTypeHandler<(google::protobuf::internal::WireFormatLite::FieldType)9u, Type>::Clear(google::protobuf::internal::MapTypeHandler<(google::protobuf::internal::WireFormatLite::FieldType)9u, Type>::TypeOnMemory*, google::protobuf::Arena*)’:
/usr/local/include/google/protobuf/map_type_handler.h:638:1: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
STRING_OR_BYTES_HANDLER_FUNCTIONS(STRING)
Please suggest how do I proceed.!

How to compile Selenium on Debian Jessie, failing on ibus

When I compile Selenium on Debian Jessie, it gives me the output below. I have ibus lib installed. I think the version I use is different.
How can I solve it?
If you need to provide any environment configuration, write me what cmd output should I post here.
...
Compiling: //cpp:imehandler64 as build/cpp/amd64/libimehandler64.so
cpp/imehandler/linux/src/ibushandler.cpp: In member function ‘virtual std::string IBusHandler::GetActiveEngine() const’:
cpp/imehandler/linux/src/ibushandler.cpp:70:37: error: ‘IBusEngineDesc’ has no member named ‘name’
engine_name = std::string(desc->name);
^
cpp/imehandler/linux/src/ibushandler.cpp: In member function ‘IBusInputContext* IBusHandler::GetCurrentInputContext() const’:
cpp/imehandler/linux/src/ibushandler.cpp:88:3: error: ‘IBusConnection’ was not declared in this scope
IBusConnection* conn = ibus_bus_get_connection(bus_);
^
cpp/imehandler/linux/src/ibushandler.cpp:88:19: error: ‘conn’ was not declared in this scope
IBusConnection* conn = ibus_bus_get_connection(bus_);
^
cpp/imehandler/linux/src/ibushandler.cpp: In member function ‘virtual bool IBusHandler::IsActivated() const’:
cpp/imehandler/linux/src/ibushandler.cpp:110:47: error: ‘ibus_input_context_is_enabled’ was not declared in this scope
return ibus_input_context_is_enabled(context);
^
cpp/imehandler/linux/src/ibushandler.cpp: In member function ‘virtual void IBusHandler::Deactivate()’:
cpp/imehandler/linux/src/ibushandler.cpp:127:37: error: ‘ibus_input_context_disable’ was not declared in this scope
ibus_input_context_disable(context);
...

Errors compiling boost example of ssl client

I'm trying to compile the boost example from http://www.boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/ssl/client.cpp . For some reason I'm getting the following errors and I don't know how to fix them:
ssl_client.cpp:37:25: error: ‘boost::asio::ssl::verify_context’ has not been declared
ssl_client.cpp: In constructor ‘client::client(boost::asio::io_service&, boost::asio::ssl::context&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)’:
ssl_client.cpp:27:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_mode’
ssl_client.cpp:27:29: error: ‘verify_peer’ is not a member of ‘boost::asio::ssl’
ssl_client.cpp:28:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_callback’
ssl_client.cpp:31:5: error: ‘async_connect’ is not a member of ‘boost::asio’
ssl_client.cpp: In member function ‘bool client::verify_certificate(bool, int&)’:
ssl_client.cpp:48:54: error: request for member ‘native_handle’ in ‘ctx’, which is of non-class type ‘int’
ssl_client.cpp: In function ‘int main(int, char**)’:
ssl_client.cpp:143:68: error: no matching function for call to ‘boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(boost::asio::ssl::context_base::method)’
ssl_client.cpp:143:68: note: candidates are:
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: boost::asio::ssl::basic_context<Service>::basic_context(boost::asio::io_service&, boost::asio::ssl::context_base::method) [with Service = boost::asio::ssl::context_service]
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&)
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: no known conversion for argument 1 from ‘boost::asio::ssl::context_base::method’ to ‘const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&’
I'm currently compiling with the following line:
g++ -I /usr/include/boost -Wall -o main ssl_client.cpp -lboost_system
And I recently installed boost through:
sudo apt-get install libboost-all-dev
I'm sure there's an easy fix, does anyone know what I'm doing wrong?
========================================================================
Update:
I've now tried compiling with:
g++ -I /usr/include/boost -Wall -o main ssl_client.cpp -lboost_system -lcrypto -lssl -lpthread
but I'm still getting the following errors:
ssl_client.cpp:37:25: error: ‘boost::asio::ssl::verify_context’ has not been declared
ssl_client.cpp: In constructor ‘client::client(boost::asio::io_service&, boost::asio::ssl::context&, boost::asio::ip::basic_resolver<boost::asio::ip::tcp>::iterator)’:
ssl_client.cpp:27:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_mode’
ssl_client.cpp:27:29: error: ‘verify_peer’ is not a member of ‘boost::asio::ssl’
ssl_client.cpp:28:13: error: ‘class boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp> >’ has no member named ‘set_verify_callback’
ssl_client.cpp:31:5: error: ‘async_connect’ is not a member of ‘boost::asio’
ssl_client.cpp: In member function ‘bool client::verify_certificate(bool, int&)’:
ssl_client.cpp:48:54: error: request for member ‘native_handle’ in ‘ctx’, which is of non-class type ‘int’
ssl_client.cpp: In function ‘int main(int, char**)’:
ssl_client.cpp:143:68: error: no matching function for call to ‘boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(boost::asio::ssl::context_base::method)’
ssl_client.cpp:143:68: note: candidates are:
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: boost::asio::ssl::basic_context<Service>::basic_context(boost::asio::io_service&, boost::asio::ssl::context_base::method) [with Service = boost::asio::ssl::context_service]
/usr/include/boost/asio/ssl/basic_context.hpp:47:3: note: candidate expects 2 arguments, 1 provided
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: boost::asio::ssl::basic_context<boost::asio::ssl::context_service>::basic_context(const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&)
/usr/include/boost/asio/ssl/basic_context.hpp:35:7: note: no known conversion for argument 1 from ‘boost::asio::ssl::context_base::method’ to ‘const boost::asio::ssl::basic_context<boost::asio::ssl::context_service>&’
Fixed it! It was because apt-get was giving me boost version 1.46 and I needed version 1.48. I did the following to fix it:
apt-get purge libboost-all-dev
and
apt-get install libboost1.48-all-dev
Thanks to: http://spencernusbaum.me/blog.php#106

libtorrent-rasterbar compiling examples

I would like to use the libtorrent-rasterbar to devellop some test with torren, but when I have tried to compile the examples which are in package I've gotten this error :
g++ dump_torrent.cpp
In file included from /usr/local/include/libtorrent/torrent_info.hpp:61:0,
from dump_torrent.cpp:40:
/usr/local/include/libtorrent/file_storage.hpp:110:8: error: ‘void libtorrent::file_storage::add_file(const wpath&, libtorrent::size_type, int, time_t, const boost::filesystem3::path&)’ cannot be overloaded
/usr/local/include/libtorrent/file_storage.hpp:106:8: error: with ‘void libtorrent::file_storage::add_file(const boost::filesystem3::path&, libtorrent::size_type, int, time_t, const boost::filesystem3::path&)’
In file included from dump_torrent.cpp:40:0:
/usr/local/include/libtorrent/torrent_info.hpp:195:3: error: ‘libtorrent::torrent_info::torrent_info(const wpath&)’ cannot be overloaded
/usr/local/include/libtorrent/torrent_info.hpp:193:3: error: with ‘libtorrent::torrent_info::torrent_info(const boost::filesystem3::path&)’
/usr/local/include/libtorrent/torrent_info.hpp:204:3: error: ‘libtorrent::torrent_info::torrent_info(const wpath&, boost::system::error_code&)’ cannot be overloaded
/usr/local/include/libtorrent/torrent_info.hpp:202:3: error: with ‘libtorrent::torrent_info::torrent_info(const boost::filesystem3::path&, boost::system::error_code&)’
In file included from /usr/local/include/libtorrent/magnet_uri.hpp:38:0,
from dump_torrent.cpp:42:
/usr/local/include/libtorrent/torrent_handle.hpp:585:8: error: ‘void libtorrent::torrent_handle::move_storage(const wpath&) const’ cannot be overloaded
/usr/local/include/libtorrent/torrent_handle.hpp:581:8: error: with ‘void libtorrent::torrent_handle::move_storage(const boost::filesystem3::path&) const’
/usr/local/include/libtorrent/torrent_handle.hpp:586:8: error: ‘void libtorrent::torrent_handle::rename_file(int, const wpath&) const’ cannot be overloaded
/usr/local/include/libtorrent/torrent_handle.hpp:582:8: error: with ‘void libtorrent::torrent_handle::rename_file(int, const boost::filesystem3::path&) const’
the version of libraries are : libtorrent-rasterbar-0.15.10 libboost-1.46
In addition I 'm trying to use it under linux.
If you need something else information I would be glad to give it to you.
thanks
I found out the solution.
Libtorrent-rasterbar needs boost-filesystem version number 2, but the current version is 3, so to fix the problem you have to compile it with this flag :
-DBOOST_FILESYSTEM_VERSION=2
try to use build script.
I also experementing with libtorrent-rasterbar and I can make dump_torrent by next command:
make dump_torrent

How to compile C++ program with using html tidy C++

I installed tidy-dev from ubuntu repository, checked installation path - it's okay (/usr/include/tidy).
But I can not find a true flags to compile my c++ script with include tidy c++ wrapper tidyx.h from http://users.rcn.com/creitzel/tidy/tidyx.h
Can you help me?
My test script file named 1.cpp, tidyx.h I put near. 1.cpp content:
#include "tidyx.h"
int main()
{
}
I try it, but no-good:
$ gcc -I/usr/include/tidy 1.cpp -ltidy
In file included from 1.cpp:1:
tidyx.h: In constructor ‘Tidy::Source::Source()’:
tidyx.h:83: error: invalid conversion from ‘int (*)(ulong)’ to ‘int (*)(void*)’
tidyx.h:84: error: invalid conversion from ‘void (*)(ulong, byte)’ to ‘void (*)(void*, byte)’
tidyx.h:85: error: invalid conversion from ‘Bool (*)(ulong)’ to ‘Bool (*)(void*)’
tidyx.h:86: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h: In constructor ‘Tidy::Sink::Sink()’:
tidyx.h:123: error: invalid conversion from ‘void (*)(ulong, byte)’ to ‘void (*)(void*, byte)’
tidyx.h:124: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h: In member function ‘void Tidy::Buffer::Attach(void*, uint)’:
tidyx.h:165: error: invalid conversion from ‘void*’ to ‘byte*’
tidyx.h:165: error: initializing argument 2 of ‘void tidyBufAttach(TidyBuffer*, byte*, uint)’
tidyx.h: In member function ‘int Tidy::Document::Create()’:
tidyx.h:496: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h:496: error: initializing argument 2 of ‘void tidySetAppData(const _TidyDoc*, void*)’
tidyx.h: In member function ‘void Tidy::Document::SetAppData(ulong)’:
tidyx.h:511: error: invalid conversion from ‘ulong’ to ‘void*’
tidyx.h:511: error: initializing argument 2 of ‘void tidySetAppData(const _TidyDoc*, void*)’
tidyx.h: In member function ‘ulong Tidy::Document::GetAppData()’:
tidyx.h:512: error: invalid conversion from ‘void*’ to ‘ulong’
To include a header file you need to use the #include preprocessor directive. It will look for the header file in compiler include paths.
If tidyx.h is in /usr/include/tidy you could put in your source file:
#include <tidy/tidyx.h>
and then compile just with gcc script.cpp, since /usr/include is most likely a default include path for your compiler.
Otherwise you could also put in your source file:
#include <tidyx.h>
And then tell GCC to look in /usr/include/tidy: gcc -I/usr/include/tidy script.cpp
At this point the header will be found. If you'll get other errors related to tidy (eg: some tidy functions are not defined) you'll need to link your binary to some library using GCC -l option.
EDIT after OP's massive edit.
Your problem here is that tidyx.h contains C++ code, and also your source file, looking to its extensions, seems to be a C++ source file. You'll need a C++ compiler in order to compile it. Use g++ instead of gcc:
g++ script.cpp