Verstehe ich, dachte nur wir würden die gleiche Grundlage zum Kompilieren verwenden. Dann sind die mitgelieferten Source-Dateien quasi etwas das auf dem Server selbst kompiliert werden muss auf dem es auch zum Einsatz kommt.
Beiträge von Afox im Thema „Push++: error while loading shared libraries: libicui18n.so.60“
-
-
Als Ergänzungsfrage: Würdest du mir noch verraten wie du es hinbekommst dass diese Sachen in die Datei integriert werden?
-
Ich habe die neu kompilierte Datei jetzt einfach mal auf den Foren-Server kopiert und versucht zu starten aber es scheint dass genau die selben Pakete erwartet werden die ich zuvor auf der Build Maschine installiert hatte.
Zitaterror while loading shared libraries: libQt5WebSockets.so.5: cannot open shared object file: No such file or directory
Das erklärt dann auch die Größe schätze ich mal.
-
Danke,
apt-get install qtbase5-dev
apt-get install libqt5websockets5-dev
hatten schon etwas geholfen. Habe dann noch einen Teil von Euren Paketen installiert und nun ist die erzeugte Datei "pushxx" im Ordner pushxx keine 300kB groß. Ich weiß nicht ob das richtig sein kann. Der Build endete wie folgt:
g++ -c -pipe -O2 -mtune=generic -fstack-protector-all -fPIE -fPIC -Wall -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DSTATIC -DQT_NO_DEBUG -DQT_CORE_LIB -I../../pushxx-pm -I. -I../../sigwatch -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o moc_configuration.o moc_configuration.cpp
../../pushxx-pm/processmanager.cpp: In member function \u2018void ProcessManager::shutdown()\u2019:
../../pushxx-pm/processmanager.cpp:24:21: warning: \u2018Q_PID QProcess::pid() const\u2019 is deprecated: Use processId() instead [-Wdeprecated-declarations]
24 | kill(p->pid(), SIGTERM);
| ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess:1,
from ../../pushxx-pm/processmanager.hpp:5,
from ../../pushxx-pm/processmanager.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:237:11: note: declared here
237 | Q_PID pid() const;
| ^~~
../../pushxx-pm/processmanager.cpp: In member function \u2018void ProcessManager::signal(int)\u2019:
../../pushxx-pm/processmanager.cpp:66:25: warning: \u2018Q_PID QProcess::pid() const\u2019 is deprecated: Use processId() instead [-Wdeprecated-declarations]
66 | kill(p->pid(), SIGTERM);
| ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess:1,
from ../../pushxx-pm/processmanager.hpp:5,
from ../../pushxx-pm/processmanager.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:237:11: note: declared here
237 | Q_PID pid() const;
| ^~~
../../pushxx-pm/processmanager.cpp: In member function \u2018void ProcessManager::reloadChilds()\u2019:
../../pushxx-pm/processmanager.cpp:100:49: warning: \u2018Q_PID QProcess::pid() const\u2019 is deprecated: Use processId() instead [-Wdeprecated-declarations]
100 | qInfo() << "Reloading Child " << p->pid();
| ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess:1,
from ../../pushxx-pm/processmanager.hpp:5,
from ../../pushxx-pm/processmanager.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:237:11: note: declared here
237 | Q_PID pid() const;
| ^~~
../../pushxx-pm/processmanager.cpp:102:21: warning: \u2018Q_PID QProcess::pid() const\u2019 is deprecated: Use processId() instead [-Wdeprecated-declarations]
102 | kill(p->pid(), SIGHUP);
| ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QProcess:1,
from ../../pushxx-pm/processmanager.hpp:5,
from ../../pushxx-pm/processmanager.cpp:1:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qprocess.h:237:11: note: declared here
237 | Q_PID pid() const;
| ^~~
g++ -Wl,-O1 -o pushxx-pm main.o pmconfiguration.o configuration.o processmanager.o moc_pmconfiguration.o moc_configuration.o moc_processmanager.o ../sigwatch/libsigwatch.a /usr/lib/x86_64-linux-gnu/libQt5Core.so -lpthread
make[1]: Verzeichnis \u201e/path/to/pushxx_src/build/pushxx-pm\u201c wird verlassen
-
libqt5core5a aus den Debian 11 Paketen hat ebenfalls diese Version. Dann kann es vielleicht an mir liegen. Also ich habe mich an das was in der README Datei steht gehalten.
- Die Source Datei entpackt
- in diesen Ordner gewechselt
- einen Ordner "build" erstellt
- in den Ordner "build" gewechselt
- den Befehl qmake -o Makefile "CONFIG+=release" ../Pushxx.pro; ausgeführt
- den Befehl make -j ausgeführt
-
Danke, ich bin gerade auch dabei es zu kompilieren und es kommt der Fehler:
Hattest du das auch? Wie hast du es gelöst?
make -j
cd QHttpServer/ && ( test -e Makefile /usr/lib/qt5/bin/qmake -o Makefile /path/to/pushxx_src/QHttpServer/QHttpServer.pro CONFIG+=release ) && make -f Makefile
Project ERROR: Unknown module(s) in QT: core network
make: *** [Makefile:50: sub-QHttpServer-make_first-ordered] Fehler 3
LG
Ich möchte aber nochmal auf meinen Kompilierungsversuch zurückkommen und fragen woran es ggf. gelegen haben könnte dass dieser Fehler auftaucht und ich unter Debian 11 nicht kompilieren konnte. Hatte mir extra eine eigene Maschine zu diesem Zweck aufgesetzt.
-
In der pushxx.service Datei fehlte der Parameter. Ich habe ihn wie folgt hinzugefügt:
ZitatExecStart=/usr/local/bin/pushxx -c /etc/pushxx.conf
Daraufhin startet der Server ohne Probleme.
-
Ich habe ersteres installiert und nun kommen immerhin keine solchen Fehler mehr. Aber er läuft noch nicht. Als Statusmeldung sagt er:
ZitatCannot start without configuration file.
Die Datei /etc/pushxx.conf ist aber vorhanden und der Secret Key ist eingetragen. Ich war mir nur nicht sicher ob es erlaubt ist ein Leerzeichen nach dem Gleichzeichen zu machen und ob der Key ohne Anführungszeichen oder Ähnliches eingetragen wird.
Hier nochmal die vollständige Meldung:
pushxx.service - Push++ Socket Server
Loaded: loaded (/etc/systemd/system/pushxx.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Mon 2021-12-20 19:21:39 CET; 1s ago
Process: #### ExecStart=/usr/local/bin/pushxx (code=exited, status=0/SUCCESS)
Main PID: #### (code=exited, status=0/SUCCESS)
CPU: 8ms
Cannot start without configuration file.
Usage: /usr/local/bin/pushxx [options]
Options:
-c <config> Path to the configuration file
-v Enables verbose output
-V <version> Prints version
-t <test> Tests configuration and exits
-h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
systemd[1]: pushxx.service: Succeeded.
Prozess-ID und Main PID wurden von mir zensiert.
-
Ich habe deine Version probiert und erhalte nun den folgenden Fehler:
Zitat/usr/local/bin/pushxx: error while loading shared libraries: libpcre2-16.so.0: cannot open shared object file: No such file or directory
-
Danke, ich bin gerade auch dabei es zu kompilieren und es kommt der Fehler:
ZitatProject ERROR: Unknown module(s) in QT: core network
Hattest du das auch? Wie hast du es gelöst?
make -j
cd QHttpServer/ && ( test -e Makefile /usr/lib/qt5/bin/qmake -o Makefile /path/to/pushxx_src/QHttpServer/QHttpServer.pro CONFIG+=release ) && make -f Makefile
Project ERROR: Unknown module(s) in QT: core network
make: *** [Makefile:50: sub-QHttpServer-make_first-ordered] Fehler 3
LG
-
Ich wäre wirklich dankbar wenn es ein entsprechendes Image für Debian 11 gäbe da ich sonst die ganzen Entwicklerwerkzeuge auf meinem Produktivsystem installieren müsste. Bisher habe ich so etwas nämlich noch nicht machen müssen und auch kein (Debian) System dafür
-
Hallo,
wenn ich versuche den Push-Server unter Debian 11 zu starten erhalte ich folgenden Fehler im Status:
Zitat/usr/local/bin/pushxx: error while loading shared libraries: libicui18n.so.60: cannot open shared object file: No such file or directory
LG,
Afox