[linux] mislukkende installatie door afwezige lib (versie 1.58) terwijl versie 1.65 wèl aanwezig is

Daniel C. von Asmuth asmuth op bakunin.xs4all.nl
Ma Jul 30 16:35:47 CEST 2018


Aldus schreef Julien Michielsen op Mon, Jul 30, 2018 at 01:59:32PM +0200:
> ik probeer het bij de epson eco-tank behorende scanprogramma te installeren.
> Allereerst heb ik de epson-deb geïnstalleerd. Daarn voer ik in de
> aangemaakte
> directory het install-script uit.

Eerlijk gezegd vindt ik dat ietsje merkwaardig. Je zou zeggen dat Zypper
(Suse) of Apt (Oeboentoe) eerst de versies van de dependencies (Boost
library) controleren, dan de files uit het DEB pakket installeren en
vervolgens een install script uitvoeren, zodat je dat niet apart met het
handje behoeft te doen. Wat staat er dan precies in dat install.sh ?

> Dit leidt tot de foutmelding:
> ~/local/imagescan-bundle-ubuntu-16.04-1.3.32.x64.deb$ sudo  ./install.sh
> E: Unable to locate package libboost-filesystem1.58.0
> E: Couldn't find any package by glob 'libboost-filesystem1.58.0'
> E: Unable to locate package libboost-program-options1.58.0
> E: Couldn't find any package by glob 'libboost-program-options1.58.0'
> E: Couldn't find any package by regex 'libboost-program-options1.58.0'
> E: Unable to locate package libboost-system1.58.0
> E: Couldn't find any package by glob 'libboost-system1.58.0'
> E: Couldn't find any package by regex 'libboost-system1.58.0'
> 
> Dit allemaal mooi en aardig, en ook kloppend, want 1.58 staat
> niet op mijn systeem, want dat heeft een honderdtal boost-debs
> staan, allemaal van niveau 1.65.

De poster heeft voldoende ervaring om het probleem te begrijpen. 
Het gaat hier niet zozeer om de versienummers die in de
programmabestanden zijn ingebakken, alswel om de versies zoals het
pakketbeheer ze kent. 

De volgende opties zijn mogelijk:
- de installatie downgraden naar Boost 1.58. (vermoedelijk ongewenst)
- de broncode van het betreffende pakket vinden en zelf opnieuw
  compileren. (als je ze vindt is dat het gemakkelijkst).
- Boost 1.58 libraries installeren naast versie 1.65
- Boost 1.65 opnieuw bouwen vanaf de broncode en tegen pakketbeheer
  vertellen dat het om versie 1.58 gaat. 
- Dummypakketten maken met de gevraagde namen en zonder inhoud. 

Detail: het versienummer van de programmeurs is inderdaad 1.58.0 resp.
1.65.x, maar de naam die pakketbeheer gebruikt is
libboost-program-options1.58.0 Dat maakt het gemakkelijker om twee
versies naast elkaar te installeren. APT ziet die dan als verschillende
pakketnamen. 

Filenamen: verwacht iets als:
/usr/lib64/libboost_system.a
/usr/lib64/libboost_system.so
/usr/lib64/libboost_system.so.1.65.0

(de .so file is dan een symbolic link naar de shared library met het
versienummer). 

> Is er een manier om het script genoegen te laten met de hogere versie, of
> zou het script hier sowieso al genoegen mee moeten nemen?
> 
> Ik heb het installatiescript doorzocht naar de aanwezigheid van "Couldn't"
> om eventuele aanwezigheid van 1.58 te veranderen in 1.65, maar ik heb
> niets kunnen vinden.  Aan Epson heb ik nog niet gevraagd of zij hun
> installatiescript willen aanpassen: ben bang dan tegen dove oren te
> spreken, en de kans op succes lijkt me hoger op deze lijst: is er een
> manier het installatiescript genoegen te laten nemen met een nieuwere
> versies van libs die recenter zijn dan de versie ten tijde van het
> opstellen van het installatiescript (2015)?
> Dank
> Julien
> 
Zoals gezegd: we weten niet precies wat er eigenlijk in dat script
staat.

Suc6,


Daniel

-- 
	
		Geeks of a feather cruft together
		


Meer informatie over de Linux maillijst