essej / aooserver Goto Github PK
View Code? Open in Web Editor NEWAoO console server
AoO console server
I am attempting to run an additional aooserver to aoo.sonobus.net, mostly as a learning exercise but also to further develop various AOO clients -- and hoping to keep everything compatible with all existing Sonobus clients.
I would like to know the aooserver
version/git commit currently running on aoo.sonobus.net; I am able to use Sonobus 1.6.1 with a locally compiled aooserver
from the master
branch as well as aoonew
, but not aoonewest
/aoonewester
.
In an AOO client I hacked together (iOS), I am able to use aoo.sonobus.net, but for some reason it won't work with any aooserver
that I have compiled myself -- I get client_endpoint: connection was closed
errors; still trying to investigate more about this. But I'm hoping to start from an identical aooserver
to what is running on aoo.sonobus.net, since that does work very well.
Hi there, I'm wondering if it's possible to build this project using the OpenWRT system. I tried to build it, but it seems that the architecture doesn't support it. I would appreciate any support or suggestions.
Thank you.
root@GL-MT6000:~/aooserver/Builds/LinuxMakefile# CONFIG=Release make
make: pkg-config: No such file or directory
Compiling include_juce_core.cpp
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:70,
from ../../JuceLibraryCode/include_juce_core.cpp:9:
/usr/include/sys/errno.h:1:2: warning: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Wcpp]
1 | #warning redirecting incorrect #include <sys/errno.h> to <errno.h>
| ^~~~~~~
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:106:
/usr/include/execinfo.h:23:1: error: '__BEGIN_DECLS' does not name a type
23 | __BEGIN_DECLS
| ^~~~~~~~~~~~~
/usr/include/execinfo.h:33:6: error: expected initializer before '__THROW'
33 | __THROW __nonnull ((1));
| ^~~~~~~
/usr/include/execinfo.h:39:6: error: expected initializer before '__THROW'
39 | __THROW __nonnull ((1));
| ^~~~~~~
/usr/include/execinfo.h:41:1: error: '__END_DECLS' does not name a type
41 | __END_DECLS
| ^~~~~~~~~~~
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:160:
../../JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp: In static member function 'static juce::String juce::SystemStats::getStackBacktrace()':
../../JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp:217:19: error: 'backtrace' was not declared in this scope
217 | auto frames = backtrace (stack, numElementsInArray (stack));
| ^~~~~~~~~
../../JuceLibraryCode/modules/juce_core/system/juce_SystemStats.cpp:218:27: error: 'backtrace_symbols' was not declared in this scope
218 | char** frameStrings = backtrace_symbols (stack, frames);
| ^~~~~~~~~~~~~~~~~
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:196:
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In function 'bool juce::{anonymous}::juce_stat(const juce::String&, juce_statStruct&)':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:180:56: error: invalid use of incomplete type 'struct juce::{anonymous}::stat64'
180 | && JUCE_STAT (fileName.toUTF8(), &info) == 0;
| ^
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:170:36: note: forward declaration of 'struct juce::{anonymous}::stat64'
170 | using juce_statStruct = struct stat64;
| ^~~~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In function 'juce::int64 juce::{anonymous}::getCreationTime(const juce_statStruct&)':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:201:91: error: invalid use of incomplete type 'const juce::{anonymous}::juce_statStruct' {aka 'const struct juce::{anonymous}::stat64'}
201 | tatic int64 getCreationTime (const juce_statStruct& s) noexcept { return (int64) s.st_ctime; }
| ^
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:170:36: note: forward declaration of 'using juce_statStruct = struct juce::{anonymous}::stat64' {aka 'struct juce::{anonymous}::stat64'}
170 | using juce_statStruct = struct stat64;
| ^~~~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In function 'void juce::{anonymous}::updateStatInfoForFile(const juce::String&, bool*, juce::int64*, juce::Time*, juce::Time*, bool*)':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:209:29: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
209 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In member function 'bool juce::File::isDirectory() const':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:239:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
239 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In member function 'juce::int64 juce::File::getSize() const':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:258:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
258 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In member function 'juce::uint64 juce::File::getFileIdentifier() const':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:264:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
264 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In function 'bool juce::setFileModeFlags(const String&, mode_t, bool)':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:298:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
298 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In member function 'void juce::File::getFileTimesInternal(juce::int64&, juce::int64&, juce::int64&) const':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:330:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
330 | juce_statStruct info;
| ^~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h: In member function 'bool juce::File::setFileTimesInternal(juce::int64, juce::int64, juce::int64) const':
../../JuceLibraryCode/modules/juce_core/native/juce_SharedCode_posix.h:353:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
353 | juce_statStruct info;
| ^~~~
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:226:
../../JuceLibraryCode/modules/juce_core/native/juce_Files_linux.cpp: In function 'bool juce::isFileExecutable(const String&)':
../../JuceLibraryCode/modules/juce_core/native/juce_Files_linux.cpp:188:21: error: aggregate 'juce::{anonymous}::juce_statStruct info' has incomplete type and cannot be defined
188 | juce_statStruct info;
| ^~~~
In file included from ../../JuceLibraryCode/modules/juce_core/juce_core.cpp:231:
../../JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp: In static member function 'static juce::String juce::SystemStats::getUserLanguage()':
../../JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp:207:28: error: '_NL_ADDRESS_LANG_AB' was not declared in this scope
207 | return getLocaleValue (_NL_ADDRESS_LANG_AB);
| ^~~~~~~~~~~~~~~~~~~
../../JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp: In static member function 'static juce::String juce::SystemStats::getUserRegion()':
../../JuceLibraryCode/modules/juce_core/native/juce_SystemStats_linux.cpp:216:28: error: '_NL_ADDRESS_COUNTRY_AB2' was not declared in this scope
216 | return getLocaleValue (_NL_ADDRESS_COUNTRY_AB2);
| ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:198: build/intermediate/Release/include_juce_core_f26d17db.o] Error 1
I wanted to debug the contents of per-user data stored in aooserver, thus I installed my own one but logs do not contain much, just timestamp, name of group and name of user joining or leaving. My understanding is that there should be also a list of IP:PORT items for each user. How can these be seen ? Can they be logged ?
I get the error below when I try to build on Ubuntu.
I'd appreciate any help! Thanks!
$ CONFIG=Release make
Compiling client.cpp
In file included from ../../deps/aoo/lib/src/client.hpp:10,
from ../../deps/aoo/lib/src/client.cpp:5:
../../deps/aoo/lib/src/sync.hpp:98:26: error: ‘unique_lock’ in namespace ‘std’ does not name a template type
98 | using unique_lock = std::unique_lock<shared_mutex>;
| ^~~~~~~~~~~
../../deps/aoo/lib/src/sync.hpp:12:1: note: ‘std::unique_lock’ is defined in header ‘<mutex>’; did you forget to ‘#include <mutex>’?
11 | #include <shared_mutex>
+++ |+#include <mutex>
12 |
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::do_disconnect(aoo::net::command_reason, int)’:
../../deps/aoo/lib/src/client.cpp:573:9: error: ‘unique_lock’ was not declared in this scope
573 | unique_lock lock(peerlock_);
| ^~~~~~~~~~~
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::handle_group_leave(const osc::ReceivedMessage&)’:
../../deps/aoo/lib/src/client.cpp:1077:9: error: ‘unique_lock’ was not declared in this scope
1077 | unique_lock lock(peerlock_); // writer lock!
| ^~~~~~~~~~~
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::handle_peer_add(const osc::ReceivedMessage&)’:
../../deps/aoo/lib/src/client.cpp:1136:5: error: ‘unique_lock’ was not declared in this scope
1136 | unique_lock lock(peerlock_); // writer lock!
| ^~~~~~~~~~~
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::handle_peer_remove(const osc::ReceivedMessage&)’:
../../deps/aoo/lib/src/client.cpp:1165:5: error: ‘unique_lock’ was not declared in this scope
1165 | unique_lock lock(peerlock_); // writer lock!
| ^~~~~~~~~~~
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::wait_for_event(float)’:
../../deps/aoo/lib/src/client.cpp:790:13: warning: ignoring return value of ‘ssize_t read(int, void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
790 | read(waitpipe_[0], &c, 1);
| ~~~~^~~~~~~~~~~~~~~~~~~~~
../../deps/aoo/lib/src/client.cpp: In member function ‘void aoo::net::client::signal()’:
../../deps/aoo/lib/src/client.cpp:1221:10: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1221 | write(waitpipe_[1], "\0", 1);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:109: build/intermediate/Release/client_305e502e.o] Error 1
Any way to make a docker image for this?
When i tried to join the room, it will say, connecting for a long time, and showing error saying cannot connect to user, may need to setup firewall. I have public IP and my server is accessible. The setup is:
Ipad on local network and iphone on LTE.
I am hoping to deploy it on my router, is it possible?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.