Abi-compliance-checker

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

abi-compliance-checker - Kontrollera ABI-kompatibilitet mellan olika versioner av bibliotek

Kommandot `abi-compliance-checker` används för att kontrollera ABI (Application Binary Interface) kompatibilitet mellan olika versioner av bibliotek.

Syntax

abi-compliance-checker [ALTERNATIV]

Beskrivning

Kommandot `abi-compliance-checker` analyserar två versioner av ett bibliotek och rapporterar eventuella skillnader i deras ABI. Detta är användbart för att säkerställa att ändringar i ett bibliotek inte bryter binär kompatibilitet med program som använder det.

Alternativ

Kommandot `abi-compliance-checker` stöder flera alternativ som kan användas för att justera dess beteende:

  • -lib LIBRARY - Namn på biblioteket som ska kontrolleras.
  • -old OLD_XML - XML-beskrivning av den gamla versionen av biblioteket.
  • -new NEW_XML - XML-beskrivning av den nya versionen av biblioteket.
  • -dump DUMP - Dump-fil genererad av abi-dumper.
  • -l, --list-symbols - Lista symboler i biblioteket.
  • -d, --debug - Visa felsökningsinformation.
  • -v, --verbose - Visa mer detaljerad information om jämförelsen.
  • -report-path=PATH - Ange sökväg för att spara rapporten.
  • -skip-headers=REGEXP - Ignorera headers som matchar REGEXP.
  • -show-affected - Visa alla påverkade symboler.
  • -help - Visa hjälpmeddelande och avsluta.
  • -version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `abi-compliance-checker`-kommandot:

  • För att kontrollera ABI-kompatibilitet mellan två versioner av ett bibliotek:

abi-compliance-checker -lib libfoo -old libfoo_v1.xml -new libfoo_v2.xml

  • För att generera en rapport och spara den till en specifik sökväg:

abi-compliance-checker -lib libfoo -old libfoo_v1.xml -new libfoo_v2.xml -report-path /path/to/report

  • För att visa felsökningsinformation:

abi-compliance-checker -lib libfoo -old libfoo_v1.xml -new libfoo_v2.xml -d

  • För att lista symboler i biblioteket:

abi-compliance-checker -lib libfoo -l

  • För att visa mer detaljerad information om jämförelsen:

abi-compliance-checker -lib libfoo -old libfoo_v1.xml -new libfoo_v2.xml -v

Skillnader mellan macOS och Linux

Det finns några skillnader att tänka på när man använder `abi-compliance-checker` på macOS jämfört med Linux:

Tillgänglighet: `abi-compliance-checker`-kommandot är generellt sett tillgängligt på de flesta Linux-distributioner. På macOS kan det behöva installeras via paketförvaltare som Homebrew. Installation: På Linux kan `abi-compliance-checker` installeras via paketförvaltaren (t.ex. `apt-get install abi-compliance-checker` på Debian-baserade system). På macOS kan `abi-compliance-checker` installeras via Homebrew med `brew install abi-compliance-checker`.

Exempel på att installera `abi-compliance-checker` på macOS med Homebrew: Installera Homebrew om det inte redan är installerat:


/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Installera `abi-compliance-checker`:


brew install abi-compliance-checker

Det är alltid bra att konsultera `man`-sidan för `abi-compliance-checker` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `abi-compliance-checker`, kontrollera följande:

Att du använder rätt syntax och alternativ för ditt specifika kommando. Att XML-filerna du försöker använda existerar och är tillgängliga. Att du har nödvändiga behörigheter för att läsa filerna.

Se även

abi-dumper - Dumpera ABI-information från en delad objektfil. abidiff - Jämför ABI mellan två versioner av ett bibliotek. nm - Visa symboltabellen för objektfiler.

Källor

https://lvc.github.io/abi-compliance-checker/abi-compliance-checker.html abi-compliance-checker manual (projektets officiella sida)
https://man7.org/linux/man-pages/man1/abi-compliance-checker.1.html abi-compliance-checker manual (Linux)