linux: pfad zu cmake ist kapputt

Gast #6940896
Lesenswert?

Guten Tag,

auf einmal funktioniert mein Visual Studio nicht mehr, weil mindestens 
CMake 3.9 gefordert wird.
1
CMake 3.9 or higher is required.  You are running version 3.3.2

1
Distributor ID:  Ubuntu
2
Description:  Ubuntu 20.04.3 LTS
3
Release:  20.04
4
Codename:  focal

meine Version von VSC greift zu auf:
1
$ cmake --version
2
cmake version 3.3.2
die sudo version ist wohl:
hatte aber gerad noch 3.22, hab nur einiges schon probiert.
Es wurde aber immer nur die sudo Version geändert
1
$ sudo cmake --version
2
cmake version 3.12.1

also irgendwie muss ich doch den Standardpfad ändern zu CMake oder?

Das VSCode Projekt hat eigentlich nichts mit Xilinx zu tun .. Wird aber 
beim Pfad angezeigt.
Habe letztens auch was von X. installiert. Da wurde wohl etwas 
überschrieben :(
1
$ which cmake
2
/tools/Xilinx19//SDK/2019.1/tps/lnx64/cmake-3.3.2/bin/cmake

1
$ sudo which cmake
2
/usr/local/bin/cmake

werde jetzt mal sowas probieren ...

 export PATH=~/usr/cmake-path/bin:$PATH
Gast #6940939
Lesenswert?

also es hat ja die ganze Zeit funktioniert mit meinem VSC Projekt. Dann 
habe ich an einer anderen Sache gearbeitet, bin nach ein paar Tagen 
wieder zurück zu diesem Projekt und auf einmal hat der dabei Probleme.


In VSC settings.json
steht unter cmakePath:
1
// Name/path of the CMake executable to use.
2
  "cmake.cmakePath": "cmake",

Habe heute auf verschiedenste Weisen versucht CMake upzudaten...
Aber das einzige was ich verändern konnte war sudo CMake...

also bei printenv gibt es laut ~$ printenv | grep cmake
nur einen CMake eintrag.
Also das was auch bei which cmake rauskommt.

Johannes S. schrieb:
> ist cmake eventuell über snap installiert? Das funktioniert(e?) mit VSC
> nicht richtig

Wenn dann habe ich das nicht mehr mitbekommen heute...
Gast #6940961
Lesenswert?

Da hat Xilinx sich vorne in den (User-)Pfad geschrieben...

Schau mal in .profile, .bashrc sowie /etc/profile.d/ wo PATH um den 
Xilinx-Pfad ergänzt wird und schreib dort statt 
PATH=/tools/Xilinx19//SDK/2019.1/tps/lnx64/cmake-3.3.2/bin/:$PATH neu 
PATH=$PATH:/tools/Xilinx19//SDK/2019.1/tps/lnx64/cmake-3.3.2/bin/

Dann wird allerdings Xilinx möglicherweise nicht mehr funktionieren, 
wenn das kaputterweise auf cmake-3.3.2 angewiesen ist...

MfG, Arno
Gast #6940978
Lesenswert?

Arno schrieb:
> Schau mal in .profile, .bashrc sowie /etc/profile.d/ wo PATH um den
> Xilinx-Pfad ergänzt wird und schreib dort statt

in .profile :
(habe ich sogar selber mal hinzugefügt:)
1
source /tools/Xilinx19/Vivado/2019.1/settings64.sh
ist es das?

Bei den anderen habe ich nichts gefunden.
bzw. in profile.d habe ich nicht die Skripte angeschaut - kommen mir 
gerade noch unbekannt vor.
Gast #6941176
Lesenswert?

Source bedeutet: Der Inhalt der dort angegebenen Datei wird an dieser 
Stelle mit eingeladen.

Also vermutlich ja, wenn du das rausnimmst (und dich aus- und wieder 
einloggst) wird das System das richtige cmake finden.

Alternativ kannst du in der eingebundenen tools.../settings64.sh 
schauen, wie dort PATH gesetzt wird, und das korrigieren.

MfG, Arno
#6941467
Lesenswert?

Schnurtelefon schrieb:
> Das VSCode Projekt hat eigentlich nichts mit Xilinx zu tun .. Wird aber
> beim Pfad angezeigt.
> Habe letztens auch was von X. installiert. Da wurde wohl etwas
> überschrieben :($ which cmake
> /tools/Xilinx19//SDK/2019.1/tps/lnx64/cmake-3.3.2/bin/cmake
>
> $ sudo which cmake
> /usr/local/bin/cmake

Das sind eigentlich beides nicht die Pfade des vom System installierten 
cmake. Das müsste in /usr/bin liegen und bei Ubuntu 20.04 die Version 
3.16.3 sein.

Schnurtelefon schrieb:
> 
https://www.claudiokuenzler.com/blog/796/install-upgrade-cmake-3.12.1-ubuntu-14.04-trusty-alternatives

Das ist steinalt.

> werde jetzt cmake 3.12 runterladen und in tools reintun.

Gibt es einen speziellen Grund, warum statt einfach das cmake vom System 
zu verwenden, lieber irgendwas uraltes irgendwo hin installierst, Pfade 
verbiegst u.s.w.?
Gast #6941732
Lesenswert?

1
/usr/bin$ cmake --version
2
CMake Error: Could not find CMAKE_ROOT !!!
3
CMake has most likely not been installed correctly.
4
Modules directory not found in
5
/usr/share/cmake-3.3
6
cmake version 3.3.2
Gast #6941748
Lesenswert?

ok nachdem ich das source weggemacht habe habe ich 3.12 drauf. 
Allerdings sagt vsc jetzt ich brauche 3.15.
1
CMake 3.15 or higher is required.  You are running version 3.12.1
2
[cmake]

habe gerade das versucht, ging aber nicht:
https://askubuntu.com/questions/829310/how-to-upgrade-cmake-in-ubuntu
:)



By default the CMake will be installed in:
  "/opt/cmake-3.22.1-linux-x86_64"
Do you want to include the subdirectory cmake-3.22.1-linux-x86_64?
Saying no will install in: "/opt" [Yn]:
y

Using target directory: /opt/cmake-3.22.1-linux-x86_64
Extracting, please wait...


Unpacking finished successfully

**/opt$ sudo ln -s cmake-3.22.1-linux-x86_64.sh /usr/local/bin**

/opt$ cmake -version

cmake version 3.12.1
Gast #6941756
Lesenswert?

ach so der letzte Befehl ln -s soll wohl einen "symbolischen link" in 
den Ordner /usr/local/bin erstellen.
Habe die *.sh Installations-Datei diesmal direkt in den Ordner gelegt 
aber wenn ich das ausführen möchte steht dort dass die Dateien schon 
existieren :(

obwohl ich schon
1
sudo apt remove cmake

gemacht habe :(
1
/usr/local/bin$ sudo ln -s cmake-3.22.1-linux-x86_64/bin/* .
2
ln: failed to create symbolic link './ccmake': File exists
3
ln: failed to create symbolic link './cmake': File exists
4
ln: failed to create symbolic link './cmake-gui': File exists
5
ln: failed to create symbolic link './cpack': File exists
6
ln: failed to create symbolic link './ctest': File exists
#6941757
Lesenswert?

Schnurtelefon schrieb:
> /usr/bin$ cmake --version
> CMake Error: Could not find CMAKE_ROOT !!!
> CMake has most likely not been installed correctly.
> Modules directory not found in
> /usr/share/cmake-3.3
> cmake version 3.3.2

Hmm, deine Installation ist ziemlich vermurkst. Eine Version 3.3.2 
sollte dort eigentlich überhaupt nicht liegen. Schon gar nicht ohne die 
dazugehörenden Daten. Versuche mal in der Konsole ein:
1
sudo apt reinstall cmake
und falls das erfolgreich ausgeführt werden konnte, probiere nochmal, 
/usr/bin/cmake auszuführen.

Schnurtelefon schrieb:
> **/opt$ sudo ln -s cmake-3.22.1-linux-x86_64.sh /usr/local/bin**

Warum willst du das Installationsskript nach /usr/local/bin verlinken?

Schnurtelefon schrieb:
> /usr/local/bin$ sudo chmod -R 777 cmake-3.22.1-linux-x86_64.sh
> chmod: cannot access 'cmake-3.22.1-linux-x86_64.sh': Too many levels of
> symbolic links

Anscheinend hast du einen Symlink erzeugt, der auf sich selbst zeigt.

Es wirkt ein bisschen, als ob du einfach wahllos irgendwelche Kommandos 
eingibst, in der Hoffnung, dass das nachher geht. Das erklärt auch, 
warum deine Installation so kaputt ist.

Schnurtelefon schrieb:
> Habe die *.sh Installations-Datei diesmal direkt in den Ordner gelegt
> aber wenn ich das ausführen möchte steht dort dass die Dateien schon
> existieren :(

Wo der Installer liegt, ist doch vollkommen egal.

> obwohl ich schon
> sudo apt remove cmake
>
> gemacht habe :(
> /usr/local/bin$ sudo ln -s cmake-3.22.1-linux-x86_64/bin/* .
> ln: failed to create symbolic link './ccmake': File exists
> ln: failed to create symbolic link './cmake': File exists
> ln: failed to create symbolic link './cmake-gui': File exists
> ln: failed to create symbolic link './cpack': File exists
> ln: failed to create symbolic link './ctest': File exists

Weil das System-cmake (das ich dir immer noch dringend empfehlen würde - 
das ist mit 3.16 auch neu genug) nicht in /usr/local, sondern in /usr 
liegt. Abgesehen davon brauchst du die Files nirgends hin verlinken. Es 
würde reichen, das installierte bin-Verzeichnis in den PATH aufzunehmen 
(vor den Verzeichnissen von all den anderen vermurksten Installationen).
Gast #6941764
Lesenswert?

habe gerade noch mal einen export davon gemacht und dann code aus der 
gleichen shell console aufgerufen...
jetzt wird von VSC doe passende Version gefunden.
1
/usr/local/bin/cmake-3.22.1-linux-x86_64/bin$ export "PATH=/usr/local/bin/cmake-3.22.1-linux-x86_64/bin:${PATH}"
wenn ich das in dem install Ordner ausführe kommt jetzt auch
1
cmake --version
2
cmake version 3.22.1

(Wenn man (visualstudio) "code" über den Desktop-Link aufruft wurde noch 
keine aktuelle Version gefunden. Zumindest sah das gerade so aus. Muss 
ich noch mal schauen.)

....
hi, sehe deine Anmerkungen gerade erst.
Werde erst mal vscode so weiter nutzen.
Und dann deine Schritte probieren.

Rolf M. schrieb:
> sudo apt reinstall cmake
> und falls das erfolgreich ausgeführt werden konnte, probiere nochmal,
> /usr/bin/cmake auszuführen.

 usw.
#6941774
Lesenswert?

Schnurtelefon schrieb:
> habe gerade noch mal einen export davon gemacht und dann code aus der
> gleichen shell console aufgerufen...
> jetzt wird von VSC doe passende Version gefunden.
> /usr/local/bin/cmake-3.22.1-linux-x86_64/bin$

Ach so, du hast nicht das Installationsskript in /usr/local/bin liegen, 
sondern das gesamte cmake-Verzeichnis. Nun gut, das ist auch eher - 
sagen wir mal unkonventionell.

export
> "PATH=/usr/local/bin/cmake-3.22.1-linux-x86_64/bin:${PATH}"
> wenn ich das in dem install Ordner ausführe kommt jetzt auchcmake
> --version
> cmake version 3.22.1
>
> (Wenn man (visualstudio) "code" über den Desktop-Link aufruft wurde noch
> keine aktuelle Version gefunden. Zumindest sah das gerade so aus. Muss
> ich noch mal schauen.)

Naja, deine Änderung von PATH wirkt nur in der Shell, in der du sie 
gemacht hast und deren Kind-Prozessen.
Gast #6941783
Lesenswert?

Rolf M. schrieb:
> Schnurtelefon schrieb:
>> Das VSCode Projekt hat eigentlich nichts mit Xilinx zu tun .. Wird aber
>> beim Pfad angezeigt.

>> Habe letztens auch was von X. installiert. Da wurde wohl etwas
>> überschrieben :($ which cmake
>> /tools/Xilinx19//SDK/2019.1/tps/lnx64/cmake-3.3.2/bin/cmake
>>
>> $ sudo which cmake
>> /usr/local/bin/cmake
>

> Das sind eigentlich beides nicht die Pfade des vom System installierten
> cmake. Das müsste in /usr/bin liegen und bei Ubuntu 20.04 die Version
> 3.16.3 sein.
>
> Schnurtelefon schrieb:
>>
> 
https://www.claudiokuenzler.com/blog/796/install-upgrade-cmake-3.12.1-ubuntu-14.04-trusty-alternatives
>
> Das ist steinalt.

>
>> werde jetzt cmake 3.12 runterladen und in tools reintun.
>
> Gibt es einen speziellen Grund, warum statt einfach das cmake vom System
> zu verwenden, lieber irgendwas uraltes irgendwo hin installierst, Pfade
> verbiegst u.s.w.?

Windows User halt…

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren