Am Donnerstag, 8. August 2024, 10:25:43 CEST schrieb Martin Burnicki:

> Am 08.08.24 um 06:52 schrieb Manfred Haertel, DB3HM:

>

> > Herbert Albert schrieb:

> >

> >

> >> Sollte ich dann auch libclang-cpp13, libclang7-13 und libLLVM7-13

> >> deinstallieren?

> >

> >

> > Wie gesagt, ich gehe genau so vor, dass ich alle alten Versionen von

> > allem was mit clang und llvm zu tun hat, deinstalliere und mir sind noch

> > keine Nachteile dadurch aufgefallen. Dafür der Vorteil, dass danach

> > immer so schön viel Platz auf der Root-Partition ist. :-)

> >

> > Und ich wüsste auch nicht, wofür man die alten Pakete brauchen sollte.

> >

> > Wenn diese im Einzelfall doch für ein "exotisches" anderes Paket

> > benötigt werden sollten, sagt einem das ja yast beim Deinstallieren und

> > will dieses Paket mit deinstallieren. Dann kann man immer noch abbrechen.

>

>

> Ich habe ebenfalls mehrere Versionen von gcc und clang installiert.

>

> Wenn man ein Extra-Kernelmodul out-of-tree compiliert, sollte man die

> gleiche Compiler-Version verwenden, die auch zum Bau des Kernels

> verwendet werden. Manche Distros setzen das sogar zwingend voraus.

>

> Auf der anderen Seite, wenn man Software entwickelt, kann es sinnvoll

> sein, das Projekt mit unterschiedlichen Compilern zu übersetzen, da

> diese manchmal unterschiedliche Warnungen oder Fehler ausgeben.

>

> make CC=gcc-13

> make CC=clang-15

>

> Bei mir (Leap 15.5) ist gcc ein Link auf eine bestimmte Version, und das

> gleiche gilt für die zugehörigen Hilfsprogramme, z.B.:

>

> $ ls -l /usr/bin/gcc*

> /usr/bin/gcc -> gcc-7

> /usr/bin/gcc-13

> /usr/bin/gcc-7

> /usr/bin/gcc-ar -> gcc-ar-7

> /usr/bin/gcc-ar-13

> /usr/bin/gcc-ar-7

> /usr/bin/gcc-nm -> gcc-nm-7

> /usr/bin/gcc-nm-13

> /usr/bin/gcc-nm-7

> /usr/bin/gcc-ranlib -> gcc-ranlib-7

> /usr/bin/gcc-ranlib-13

> /usr/bin/gcc-ranlib-7

>

> Keine Ahnung wodurch die Links gesetzt wurden, aber dadurch wird wohl

> gcc-Version festgelegt, die standardmäßig verwendet wird.

>

> Ähnliches gilt für clang, wobei man dort die Default-Version wohl durch

> update-alternatives o.ä. festlegen kann.

>

> /usr/bin/clang -> /etc/alternatives/clang*

>

> Mein Leap war eine Neu-Installation. Wenn man ein älteres System immer

> aktualisiert hat, könnte ich mir vorstellen, dass /usr/bin/gcc nicht ein

> Link, sondern direkt eine ausführbare Datei ist, und es dadurch zu

> Namenskonflikten bei einem Update kommen kann.

>

> Martin


Hallo Martin,


jetzt muss ich aufpassen, dass es vor lauter deinstallieren kein Durcheinander gibt.


Nachdem ich nun einige clang deinstalliert habe, ist noch vorhanden:


:~ # ls -l /usr/bin/gcc*
lrwxrwxrwx 1 root root       5 Aug 23  2021 /usr/bin/gcc -> gcc-7 
-rwxr-xr-x 1 root root 1026488 Feb  7  2024 /usr/bin/gcc-7 
lrwxrwxrwx 1 root root       8 Aug 23  2021 /usr/bin/gcc-ar -> gcc-ar-7 
-rwxr-xr-x 1 root root   31168 Feb  7  2024 /usr/bin/gcc-ar-7 
lrwxrwxrwx 1 root root       8 Aug 23  2021 /usr/bin/gcc-nm -> gcc-nm-7 
-rwxr-xr-x 1 root root   31168 Feb  7  2024 /usr/bin/gcc-nm-7 
lrwxrwxrwx 1 root root      12 Aug 23  2021 /usr/bin/gcc-ranlib -> gcc-ranlib-7 
-rwxr-xr-x 1 root root   31168 Feb  7  2024 /usr/bin/gcc-ranlib-7 
-rwxr-xr-x 1 root root    2189 May 25  2018 /usr/bin/gccmakedep 
:~ # zypper se -si llvm
Loading repository data...
Reading installed packages...

S  | Name                 | Type    | Version              | Arch   | Repository
---+----------------------+---------+----------------------+--------+--------------------------------------------
i+ | libLLVM7             | package | 7.0.1-150100.3.22.2  | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libLLVM7-32bit       | package | 7.0.1-150100.3.22.2  | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libLLVM9             | package | 9.0.1-150200.3.6.1   | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libLLVM9-32bit       | package | 9.0.1-150200.3.6.1   | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libLLVM11            | package | 11.0.1-150300.3.8.1  | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | libLLVM11-32bit      | package | 11.0.1-150300.3.8.1  | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i  | libLLVM13            | package | 13.0.1-bp155.6.38    | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libLLVM15            | package | 15.0.7-150500.4.11.1 | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | libLLVM15-32bit      | package | 15.0.7-150500.4.11.1 | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | llvm15-gold          | package | 15.0.7-150500.4.11.1 | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | postgresql-llvmjit   | package | 16-150500.10.6.1     | noarch | Online updates for openSUSE Leap 15.5 (SLE)
i+ | postgresql12-llvmjit | package | 12.19-150200.8.60.1  | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | postgresql13-llvmjit | package | 13.15-150200.5.58.1  | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | postgresql14-llvmjit | package | 14.12-150200.5.44.1  | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | postgresql15-llvmjit | package | 15.7-150200.5.27.1   | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)

   Note: For an extended search including not yet activated remote resources please use 'zypper
   search-packages'. :~ # zypper se -si clang
Loading repository data...
Reading installed packages...

S  | Name                          | Type    | Version                            | Arch   | Repository
---+-------------------------------+---------+------------------------------------+--------+--------------------------------------------
i+ | clang                         | package | 15.0.7-bp155.1.7                   | x86_64 | openSUSE-Leap-15.5-Oss
i+ | clang-doc                     | package | 15.0.7-bp155.1.7                   | x86_64 | openSUSE-Leap-15.5-Oss
i  | clang15                       | package | 15.0.7-150500.4.11.1               | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | clang15-doc                   | package | 15.0.7-150500.4.11.1               | noarch | Online updates for openSUSE Leap 15.5 (SLE)
i  | libclang-cpp13                | package | 13.0.1-bp155.6.38                  | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libclang-cpp15                | package | 15.0.7-150500.4.11.1               | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | libclang7                     | package | 7.0.1-150100.3.22.2                | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libclang9                     | package | 9.0.1-150200.3.6.1                 | x86_64 | openSUSE-Leap-15.5-Oss
i+ | libclang11                    | package | 11.0.1-150300.3.8.1                | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)
i+ | libclang13                    | package | 15.0.7-150500.4.11.1               | x86_64 | Online updates for openSUSE Leap 15.5 (SLE)

Der C-Compiler ist Version 7.5.0. In meinen Repo (leap 15.5) wird mit maximal gcc13 angeboten.


Ich habe mein System auch immer seit vielen Jahren per zypper dup auf das momentane leap 15.5 gehoben, wobei ich in nächster zeit auf 15.6 upgraden will.


Gruß


Herbert