C++ Debian -ubuntu

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
etron770
Beiträge: 197
Registriert: 28.01.2016 16:56:58

C++ Debian -ubuntu

Beitrag von etron770 » 22.03.2017 07:57:59

Frage:
ein auf ubuntu entwickeltes Programm meldet auf Debian jessie: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./Ubuntuprogramm)

Wenn ich das richtig sehe gibt es für Jessie nur 2.19


Kompiliert man es auf Jessie kommt Fehlermeldung
error: 'class sql::Connection' has no member named 'isValid' while(!pCon->isValid())

Auf Ubuntu wird es mit c++ 6.x kompiliert, das steht auf jessie aber nicht als stable zur Verfügung

owl102

Re: C++ Debian -ubuntu

Beitrag von owl102 » 22.03.2017 08:05:10

etron770 hat geschrieben:Auf Ubuntu wird es mit c++ 6.x kompiliert, das steht auf jessie aber nicht als stable zur Verfügung
Das Problem ist nicht die Version von GNU C++, sondern die Version des mysql-connectors (Paket libmysqlcppconn-dev). Unter der Version, die für Jessie zur Verfügung steht, gibt es offensichtlich die Methode sql::Connection::isValid() noch nicht.

Was kann man da machen? Entweder das Debian auf Stretch hochziehen, oder aber den Anwendungsquelltest so modifizieren, daß er ohne sql::Connection::isValid() auskommt.

BTW: Grundsätzlich entwickelt man Anwendungen immer auf dem ältesten System, auf dem es (noch) lauffähig sein soll. Wenn ich eine Anwendung unter Windows 10 entwickele, und dabei Win32-API-Funktionen verwende, die es unter Windows 7 noch nicht gab, wird das Programm auch nicht unter Windows 7 laufen.

Und bei deiner Anwendung wurde die Meßlatte offensichtlich so gelegt, daß Debian Jessie nicht zu den angestrebten bzw. unterstützten Zielplattformen gehört.
Zuletzt geändert von owl102 am 22.03.2017 20:20:36, insgesamt 1-mal geändert.

etron770
Beiträge: 197
Registriert: 28.01.2016 16:56:58

Re: C++ Debian -ubuntu

Beitrag von etron770 » 22.03.2017 18:45:20

Danke für die Antwort
Da habe ich ein Problem mit einem 2.6.32-openvz-042stab103.6-amd64 Kernel auf dem Openvz Host.
nachdem alles so schon läuft möchte ich nicht gerne den openvz Host ändern
Kann der Programmierer auf seinem Ubuntu System einstellen, dass es für Debian Jessie laufen soll, ohne am Code was zu ändern? (Glaskugelfrage ich weiss...)

owl102

Re: C++ Debian -ubuntu

Beitrag von owl102 » 22.03.2017 20:26:25

etron770 hat geschrieben:Da habe ich ein Problem mit einem 2.6.32-openvz-042stab103.6-amd64 Kernel auf dem Openvz Host.
Upps. So alt, daß nicht einmal Docker als Alternative in Frage kommt.
Kann der Programmierer auf seinem Ubuntu System einstellen, dass es für Debian Jessie laufen soll, ohne am Code was zu ändern?
Offensichtlich nein, schließlich verwendet er mindestens eine Methode, die libmysqlcppconn in Jessie noch nicht zur Verfügung stellt. Aber das sagte ich bereits hier: viewtopic.php?p=1126486#p1126486

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: C++ Debian -ubuntu

Beitrag von eggy » 22.03.2017 22:05:13

Statisch linken wär vielleicht noch ne Alternative.

owl102

Re: C++ Debian -ubuntu

Beitrag von owl102 » 23.03.2017 07:34:57

eggy hat geschrieben:Statisch linken wär vielleicht noch ne Alternative.
Stimmt, daran hatte ich nicht gedacht.

Wenn es nur am C++ Connector hapert, könnte man alternativ auch die aktuelle Version aus den Quellen installieren: https://dev.mysql.com/doc/connector-cpp ... ource.html

etron770
Beiträge: 197
Registriert: 28.01.2016 16:56:58

Re: C++ Debian -ubuntu

Beitrag von etron770 » 29.03.2017 18:39:59

Connector installiert

Danke hat geklappt

Antworten