Medusa4 Personal er et 3. parts CAD system, som har sitt eget, Java-baserte installasjonsprogram. CAD systemet er 32bit. Jeg installerte på 64bit openSUSE 11.2, da installasjonen ble avbrutt tidlig med følgende feilmelding:
linux-p93s:/home/medusa4p # ./medusa4_v4_0_0_linux_personal.sh Extracting ... med/run/csginst: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
Når man installerer pakker med pakkesystemet, vil dette vanligvis løse avhengigheter ved å legge inn nødvendige tilleggspakker. Men i dette tilfellet foregikk altså installasjonen utenfor pakkesystemet.
Biblioteker kan noen ganger være litt vanskelig å finne.
Jeg søkte naturlig først med YaST pakkebehandleren etter pakker med 'GL' i navnet, da jeg trodde det hadde noe med openGL å gjøre. Men nei, det manglende biblioteket ble ikke funnet i første omgang.
På et SUSE forum fant jeg følgende tips for smartere søk med YaST, som ikke jeg hadde prøvd før. Kluet lå i å huke av i følgende valgboks, før søk på libGL.so.1
- * RPM "Provides"[/list:u]
Det som da skjer er at YaST søker gjennom innholdet til alle rpm pakker i aktiverte programarkiver, og ikke bare på det oppgitte pakkenavnet isolert.
Treffet viste at pakken som inneholder biblioteket libGL.so.1, hadde et helt annet navn, Mesa. Mesa fantes både i 64bit og 32bit versjoner.
[url=http://bildr.no/view/601680]![]()
Zypper gir samme resultat ved å spørre med 'what-provides' eller med kortversjonen 'wp'
# zypper wp libGL.so.1 Laster arkivdata... Leser installerte pakker... S | Navn | Type | Versjon | Ark. | Arkiv --+---------------------+-------+----------------+--------+------------------ i | x11-video-nvidiaG02 | pakke | 190.53-9.1 | x86_64 | NVIDIA Repository v | x11-video-nvidiaG02 | pakke | 190.53-9.1 | i586 | NVIDIA Repository | x11-video-nvidia | pakke | 96.43.11-25.1 | x86_64 | NVIDIA Repository | x11-video-nvidia | pakke | 96.43.11-25.1 | i586 | NVIDIA Repository | x11-video-nvidiaG01 | pakke | 173.14.18-24.1 | x86_64 | NVIDIA Repository | x11-video-nvidiaG01 | pakke | 173.14.18-24.1 | i586 | NVIDIA Repository i | Mesa-32bit | pakke | 7.6-3.1 | x86_64 | openSUSE-11.2-Oss i | Mesa-32bit | pakke | 7.6-3.1 | x86_64 | openSUSE 11.2-0 i | Mesa | pakke | 7.6-3.1 | x86_64 | openSUSE-11.2-Oss i | Mesa | pakke | 7.6-3.1 | x86_64 | openSUSE 11.2-0 v | Mesa | pakke | 7.6-3.1 | i586 | openSUSE-11.2-Oss
Etter å ha installert Mesa, gikk også installasjonen av Medusa greitt.
unbob 5. mars 2010 - 18:47
Filliste søker bare i installerte pakker, så vidt jeg vet. Fint om de kunne implementert noe a la Mandrivas løsning. Behovet er der veldig sjelden for meg, men hadde vært kjekt å ha muligheten.
Jeg finner som regel pakken jeg leter etter med pakkesøk på nett. (Ubuntus og Mandrivas søkemotorer)
terjejh 5. mars 2010 - 20:16
Du hadde rett, utlisting med filliste fungerer på installerte pakker. Da blir det enda litt enklere, det er nok å huke av for "RPM Provides" med YaST, som for Zypper, for å søke igjennom innholdet i tilgjengelige rpm pakker. Resultatet blir akkurat det samme.
Jeg har rettet opp dette i min første post.
Den nye YaST Pakkesøk (Webpin) søk på innhold søker gjennom alle programarkiver og finner pakker med libGL.so.1
[url=http://bildr.no/view/601966]
Det samme gjør også openSUSE Online webpin
http://packages.opensuse-community.org/
[url=http://bildr.no/view/601967]
unbob 5. mars 2010 - 22:03
Provides og requires er "funksjonalitet" som en pakke gir/trenger og blir definert når pakken bygges. (typisk bibliotek/moduler/binære (eksekverbare) filer)
Søk i dette virker derfor uavhengig om pakker er installert eller ikke.
Fillisten er alle filene i pakken, men søk i dette virker bare på installerte pakker. (kan f.eks. ikke søke etter en konfigurasjonsfil om pakken den hører til ikke er installert)
terjejh 5. mars 2010 - 22:36
Ja, filliste er vel direkte ekvivalent til
for å bruke det samme eksemplet (og som vist i annen tråd nettopp)