Docker build compile error

Have Problems with PokerTH Installation? Here you will find Help.
Post Reply
w2vy
Posts: 18
Joined: Tue Apr 01, 2025 11:24 pm
Been thanked: 1 time

I first got an error here

https://github.com/pokerth/pokerth/blob ... th.cpp#L57

The figured oost:: should have been boost:: and then got this error on line 75 of the same function

Code: Select all

144.0 g++ -c -pipe -O2 -fPIC -Wall -Wextra -frtti -D_REENTRANT -DENABLE_IPV6 -DTIXML_USE_STL -DBOOST_FILESYSTEM_DEPRECATED -DPOKERTH_OFFICIAL_SERVER -DQT_NO_DEBUG -I. -I. -Isrc -Isrc/engine -Isrc/gui -Isrc/gui/qt -Isrc/gui/qt/qttools -Isrc/net -Isrc/engine/local_engine -Isrc/engine/network_engine -Isrc/config -Isrc/core -Isrc/third_party/websocketpp -I/usr/include -I/usr/include/mysql -I/usr/include/mysql++ -I/usr/include -I/opt/gsasl/include -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -o obj/asyncdbupdatescore.o src/dbofficial/asyncdbupdatescore.cpp
144.2 g++ -c -pipe -O2 -fPIC -Wall -Wextra -frtti -D_REENTRANT -DENABLE_IPV6 -DTIXML_USE_STL -DBOOST_FILESYSTEM_DEPRECATED -DPOKERTH_OFFICIAL_SERVER -DQT_NO_DEBUG -I. -I. -Isrc -Isrc/engine -Isrc/gui -Isrc/gui/qt -Isrc/gui/qt/qttools -Isrc/net -Isrc/engine/local_engine -Isrc/engine/network_engine -Isrc/config -Isrc/core -Isrc/third_party/websocketpp -I/usr/include -I/usr/include/mysql -I/usr/include/mysql++ -I/usr/include -I/opt/gsasl/include -I/usr/lib/x86_64-linux-gnu/qt6/mkspecs/linux-g++ -o obj/asyncdbquery.o src/dbofficial/asyncdbquery.cpp
144.3 src/dbofficial/asyncdbauth.cpp: In member function 'virtual void AsyncDBAuth::HandleResult(mysqlpp::Query&, DBIdManager&, mysqlpp::StoreQueryResult&, boost::asio::io_context&, ServerDBCallback&)':
144.3 src/dbofficial/asyncdbauth.cpp:75:54: error: use of deleted function 'boost::asio::io_context::io_context(const boost::asio::io_context&)'
144.3    75 |                         boost::asio::post(boost::bind(service, &ServerDBCallback::PlayerLoginSuccess, &cb, GetId(), tmpData));
144.3       |                                           ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
144.3 In file included from /usr/include/boost/asio/detail/io_object_impl.hpp:23,
144.3                  from /usr/include/boost/asio/basic_socket.hpp:23,
144.3                  from /usr/include/boost/asio/basic_datagram_socket.hpp:20,
144.3                  from /usr/include/boost/asio.hpp:32,
144.3                  from src/dbofficial/asyncdbquery.h:36,
144.3                  from src/dbofficial/singleasyncdbquery.h:36,
144.3                  from src/dbofficial/asyncdbauth.h:36,
144.3                  from src/dbofficial/asyncdbauth.cpp:33:
144.3 /usr/include/boost/asio/io_context.hpp:472:3: note: declared here
144.3   472 |   io_context(const io_context&) = delete;
144.3       |   ^~~~~~~~~~
144.3 src/dbofficial/asyncdbauth.cpp:75:54: note: use '-fdiagnostics-all-candidates' to display considered candidates
144.3    75 |                         boost::asio::post(boost::bind(service, &ServerDBCallback::PlayerLoginSuccess, &cb, GetId(), tmpData));
144.3       |                                           ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
144.3 In file included from /usr/include/boost/bind.hpp:29:
144.3 /usr/include/boost/bind/bind.hpp:604:19: note:   initializing argument 1 of 'boost::_bi::bind_t<boost::_bi::unspecified, F, typename boost::_bi::list_av<A ...>::type> boost::bind(F, A ...) [with F = asio::io_context; A = {void (ServerDBCallback::*)(unsigned int, shared_ptr<DBPlayerData>), ServerDBCallback*, unsigned int, shared_ptr<DBPlayerData>}; typename _bi::list_av<A ...>::type = _bi::list<_bi::value<void (ServerDBCallback::*)(unsigned int, shared_ptr<DBPlayerData>)>, _bi::value<ServerDBCallback*>, _bi::value<unsigned int>, _bi::value<shared_ptr<DBPlayerData> > >]'
144.3   604 |     BOOST_BIND( F f, A... a )
144.3       |                 ~~^
Tom
User avatar
sp0ck
Posts: 320
Joined: Mon Mar 15, 2021 12:54 pm
Location: Flensburg
Been thanked: 31 times

Hi Tom,

thx a lot for info ...

I honestly did not test the official_server build - sorry. I found a few bugs related to porting to boost-1.87 and fixed them. Please try again with latest github commits pulled.
w2vy
Posts: 18
Joined: Tue Apr 01, 2025 11:24 pm
Been thanked: 1 time

That went much better!

I haven't see an sample docker run command, I assume it needs port 7234 and maybe 7233 exposed.
Is there any persistent data that should be on an external volume?
User avatar
sp0ck
Posts: 320
Joined: Mon Mar 15, 2021 12:54 pm
Location: Flensburg
Been thanked: 31 times

Great news!

w2vy wrote: Fri Apr 04, 2025 10:19 am I assume it needs port 7234 and maybe 7233 exposed.
Yes
w2vy wrote: Fri Apr 04, 2025 10:19 am Is there any persistent data that should be on an external volume?
Not required. But it's quite comfortable to have ~/.pokerth folder accessible. You could edit config, check logs, etc. without entering the docker Container.
w2vy
Posts: 18
Joined: Tue Apr 01, 2025 11:24 pm
Been thanked: 1 time

I didn't find a config.xml inside the container... did I miss it?
User avatar
sp0ck
Posts: 320
Joined: Mon Mar 15, 2021 12:54 pm
Location: Flensburg
Been thanked: 31 times

The entrypoint in the Dockerfile (last line) starts a bash - no client or server started at all.

Inside the container you change dir to /opt/pokerth (e.g. `cd /opt/pokerth`) - there you find either the binary pokerth (the client) or bin/pokerth_server (the server).
After the first launch of one of them a ~/.pokerth folder is automatically created for the running user. The Dockerfile works with the root user only.

You should find the folder at /root/.pokerth then.
Post Reply