Fixed: Fehler beim Übersetzen

Bei Problemen bei der RailControl Installation
Post Reply
uweb
Posts: 31
Joined: Fri Jun 26, 2020 8:23 pm

Fixed: Fehler beim Übersetzen

Post by uweb »

Moin,
ich versuche die neusten Quellen unter Opensuse zu übersetzen und bekomme jetzt diese Fehlermeldung:

Code: Select all

g++ -I. -g -O2 -Wall -Wextra -pedantic -Werror -std=c++11 -c -o ArgumentHandler.o ArgumentHandler.cpp
In file included from ArgumentHandler.h:26,
                 from ArgumentHandler.cpp:24:
Utils/Utils.h: In static member function ‘static void Utils::Utils::SleepForSeconds(unsigned int)’:
Utils/Utils.h:113:51: error: ‘sleep_for’ is not a member of ‘std::this_thread’
  113 |                                 std::this_thread::sleep_for(std::chrono::seconds(seconds));
      |                                                   ^~~~~~~~~
Utils/Utils.h: In static member function ‘static void Utils::Utils::SleepForMilliseconds(unsigned int)’:
Utils/Utils.h:118:51: error: ‘sleep_for’ is not a member of ‘std::this_thread’
  118 |                                 std::this_thread::sleep_for(std::chrono::milliseconds(milliSeconds));
      |                                                   ^~~~~~~~~
make: *** [Makefile:72: ArgumentHandler.o] Fehler 1
Gruß Uwe
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Ich habe gerade keine OpenSuse Installation zur Hand. Ich vermute aber, dass da zwei Zeilen in meinem Code fehlen. Kannst du bitte versuchen folgendes am Anfang der Datei Utils/Utils.h einzufügen (es hat da schon andere includes):

Code: Select all

#include <thread>
#include <chrono>
Und dann nochmals kompilieren.

Und mir bitte Bescheid geben ob es nun funktioniert.

Gruss
Teddy
uweb
Posts: 31
Joined: Fri Jun 26, 2020 8:23 pm

Re: Fehler beim Übersetzen

Post by uweb »

Hallo Teddy,

der Fehler ist weg, aber es geht weiter

Code: Select all

make
g++ -I. -g -O2 -Wall -Wextra -pedantic -Werror -std=c++11 -c -o ArgumentHandler.o ArgumentHandler.cpp
g++ -I. -g -O2 -Wall -Wextra -pedantic -Werror -std=c++11 -c -o Config.o Config.cpp
g++ -I. -g -O2 -Wall -Wextra -pedantic -Werror -std=c++11 -c -o Languages.o Languages.cpp
g++ -I. -g -O2 -Wall -Wextra -pedantic -Werror -std=c++11 -c -o Manager.o Manager.cpp
Manager.cpp: In member function ‘bool Manager::RouteSave(RouteID, const string&, Delay, DataModel::Route::PushpullType, Length, Length, const std::vector<DataModel::Relation*>&, const std::vector<DataModel::Relation*>&, Visible, LayoutPosition, LayoutPosition, LayoutPosition, Automode, const DataModel::ObjectIdentifier&, Orientation, const DataModel::ObjectIdentifier&, Orientation, DataModel::Route::Speed, FeedbackID, FeedbackID, FeedbackID, FeedbackID, Pause, std::string&)’:
Manager.cpp:2225:54: error: ‘this’ pointer is null [-Werror=nonnull]
 2225 |                                         storage->Save(*dynamic_cast<Track*>(oldTrack));
      |                                         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./Manager.h:37,
                 from ./Hardware/HardwareInterface.h:32,
                 from Hardware/HardwareHandler.h:28,
                 from Manager.cpp:28:
./Storage/StorageHandler.h:80:30: note: in a call to non-static member function ‘void Storage::StorageHandler::Save(const DataModel::Track&)’
   80 |                         void Save(const DataModel::Track& track);
      |                              ^~~~
Manager.cpp:2229:54: error: ‘this’ pointer is null [-Werror=nonnull]
 2229 |                                         storage->Save(*dynamic_cast<Signal*>(oldTrack));
      |                                         ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./Manager.h:37,
                 from ./Hardware/HardwareInterface.h:32,
                 from Hardware/HardwareHandler.h:28,
                 from Manager.cpp:28:
./Storage/StorageHandler.h:82:48: note: in a call to non-static member function ‘void Storage::StorageHandler::Save(const T&) [with T = DataModel::Signal]’
   82 |                         template<class T> void Save(const T& t)
      |                                                ^~~~
cc1plus: all warnings being treated as errors
make: *** [Makefile:72: Manager.o] Fehler 1
Ich nutze Opensuse Tumbleweed, die aktuellste Version. Brauchst Du sonst noch Angaben? Ende Mai hat das kompilieren noch funktioniert.

Gruß Uwe
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Ich konnte von dir genannten die Probleme und weitere mit dem neuen GCC 11 auch auf anderen System reproduzieren. Es sind doch einige, deshalb dauert es etwas das alles zu begradigen. Ich bin da aber dran. In jedem Fall danke für deinen Hinweis!

Gruss
Teddy
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Der neueste Commit sollte nun auch mit GCC 11 übersetzen.

Gruss
Teddy
uweb
Posts: 31
Joined: Fri Jun 26, 2020 8:23 pm

Re: Fehler beim Übersetzen

Post by uweb »

Hallo Teddy,

ja, das Übersetzen hat geklappt. Danke für die schnelle Lösung

Gruß Uwe
User avatar
ddebahn
Posts: 44
Joined: Sat Apr 03, 2021 11:36 am
Location: Geeste

Re: Fixed: Fehler beim Übersetzen

Post by ddebahn »

Hallo Teddy,
RailControl läßt sich heute leider nicht mehr übersetzen. Auf meinem Raspberry Pi sowie unter Ubuntu (WSL) nicht. Gestern ging es noch. Muß man vieleicht eine LIB-Datei oder etwas anders zusätzlich installieren.
schönes Wochende hier regnet es ganz leicht
Dieter
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fixed: Fehler beim Übersetzen

Post by teddy »

Hallo Dieter

Hast du mir die Fehlermeldung vom Übersetzen?

Danke und Gruss
Teddy
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fixed: Fehler beim Übersetzen

Post by teddy »

Hallo Dieter

Ich habe den Fehler gefunden. Das sollte nun gefixt sein.

Danke für den Hinweis!

Gruss
Teddy
User avatar
ddebahn
Posts: 44
Joined: Sat Apr 03, 2021 11:36 am
Location: Geeste

Re: Fixed: Fehler beim Übersetzen

Post by ddebahn »

Hallo Teddy,
alles wieder super. Vielen, vielen Dank.
Dieter
uweb
Posts: 31
Joined: Fri Jun 26, 2020 8:23 pm

Re: : Fehler beim Übersetzen

Post by uweb »

Hallo,
bei mir klappt das Übersetzen nicht, evtl. liegt es an der GCC Version. Ich nutze Opensuse Tumbleweed, ein Rolling Release.


gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/13/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-suse-linux
Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d,jit,m2 --enable-offload-targets=nvptx-none,amdgcn-amdhsa, --enable-offload-defaulted --without-cuda-driver --enable-host-shared --enable-checking=release --disable-werror --with-gxx-include-dir=/usr/include/c++/13 --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --enable-ssp --disable-libssp --disable-libvtv --enable-cet=auto --disable-libcc1 --enable-plugin --with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --with-slibdir=/lib64 --with-system-zlib --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libphobos --enable-version-specific-runtime-libs --with-gcc-major-version-only --enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-13 --without-system-libunwind --enable-multilib --with-arch-32=x86-64 --with-tune=generic --with-build-config=bootstrap-lto-lean --enable-link-serialization --build=x86_64-suse-linux --host=x86_64-suse-linux
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.1.1 20230522 [revision dd36656ada05731c069ecd5b1878380294fb1f3e] (SUSE Linux)

Die Fehlermeldungen sind in der angehängten fehler.txt Datei ersichtlich, um sicher zu gehen, das es nicht an meiner Installation liegt, habe ich railcontrol neu von github geholt

Gruß Uwe
Attachments
fehler.txt
(30.74 KiB) Downloaded 21 times
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fixed: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Ich bin gerade noch auf Ubuntu 22.04, eine Long Time Support Version. Diese hat noch die GCC Version 11 drauf. Ich muss das wohl aber mal mit einem GCC 13 kompilieren, da geht offenbar einiges nicht mehr.

Danke für den Hinweis, und du hörst wieder von mir, wenn ich das korrigiert habe. Dauert aber vermutlich ein paar Tage.

Gruss
Teddy
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fixed: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Ich habe die Fehler mit GCC-13 behoben. Du solltest nun die neuesten Sourcen übersetzen können.

Gruss
Teddy
uweb
Posts: 31
Joined: Fri Jun 26, 2020 8:23 pm

Re: Fixed: Fehler beim Übersetzen

Post by uweb »

Hallo Teddy,

funktioniert wieder, vielen Dank.
Beim Starten kommt jetzt oben rechts eine Meldung "Eine neue Version von RailControl ist verfügbar"?

Gruß Uwe
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: Fixed: Fehler beim Übersetzen

Post by teddy »

Hallo Uwe

Oups, ja hab ich nun nachgetragen. Sollte nun (in den nächsten paar Minuten) weg sein.

Gruss
Teddy
Post Reply