Dansk Arch Linux forum

For det danske Arch Linux community

Du er ikke logget ind.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 406

#1 02-09-2009 06:40:17

atte
Periodisk poster
Registreret: 05-06-2009
Indlæg: 32

hvilken pakke indeholder en bestemt fil

Hej

Jeg skal kompilere noget kode fra et svn repo. Scons giver mig følgende fejl:

[atte@vestbjerg 09_09_02]$ scons
scons: Reading SConscript files ...
scons: warning: The Options class is deprecated; use the Variables class instead.
File "/home/atte/software/hydrogen/09_09_02/Sconstruct", line 321, in <module>
Checking for C header file sndfile.h... yes
Checking for C header file alsa/asoundlib.h... yes
Checking for C header file jack/jack.h... yes
Checking for C header file zlib.h... yes
Checking for C header file libtar.h... no
libtar must be installed!

Det er jo enkelt nok, scons kan ikke finde filen libtar.h. Men hvordan finder jeg ud af hvilken pakke jeg skal installere for at levere denne fil til systemet? Jeg forestiller mig en søgning vha pacman som leder efter libtar.h i alle filer i alle pakker. Hvorledes gribes dette an?

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#2 02-09-2009 08:34:58

Esmil
Ny på Archforum
Registreret: 07-02-2007
Indlæg: 3

Re: hvilken pakke indeholder en bestemt fil

Det kan desværre ikke lade sig gøre at lede efter filer i pakker, der ikke er installeret.
Hvis du ser under /var/lib/pacman/sync/ har pacman slet ingen lister over filer i pakkerne.

Ser du tilgengæld under /var/lib/pacman/local så gemmer pacman en liste over alle filer i
de pakker, du har installeret. En nem måde at søge i dem er
pacman -Ql | grep <filnavn>

Det hjælper imidlertidigt ikke i din situation. pacman -Ss libtar giver intet resultat, men en hurtig google søgning giver
http://www.feep.net/libtar/
og der er da også en PKGBUILD i AUR
http://aur.archlinux.org/packages.php?ID=11335

Happy hacking

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 406

#3 02-09-2009 08:39:41

atte
Periodisk poster
Registreret: 05-06-2009
Indlæg: 32

Re: hvilken pakke indeholder en bestemt fil

:-(

Det er faktisk rigtig skidt at man ikke kan det. I dette tilfælde kunne yaourt dog have givet mig svaret (hvis jeg havde tænkt mig om og prøvet):

[atte@vestbjerg ~]$ yaourt -Ss libtar
aur/libtar 1.2.11-4 (39)
    C library for manipulating POSIX tar files

Nu er det jo så heldigt at .h-filen i dette tilfælde hed noget med pakkens navn, men fx en bestemt .sty til latex kan være svær at lokalisere (eller lign).

Hmm. Skuffelse.

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

#4 02-09-2009 13:02:34

julemand101
Admin
Fra: Brabrand
Registreret: 18-04-2006
Indlæg: 773
Website

Re: hvilken pakke indeholder en bestemt fil

Før i tiden kunne man tjekke på archlinux.org hvile filer de forskellige pakker kommer med. Jeg ved ikke grunden til hvorfor man valgte at holde op med den service og det kunne være rart at få et svar omkring dette. Evt. kan jeg lige søge lidt på bbs.archlinux.org om der allerede står noget omkring dette.


Administrator for Archlinux.dk

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#5 02-09-2009 16:08:31

atte
Periodisk poster
Registreret: 05-06-2009
Indlæg: 32

Re: hvilken pakke indeholder en bestemt fil

Lad mig spørge på en anden måde:

Hvordan gør I når I skal finde ud af hvilken pakke der skal installeres for at tilfredsstillen en byggeafhængighed ved kompilering?

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#6 02-09-2009 17:53:53

julemand101
Admin
Fra: Brabrand
Registreret: 18-04-2006
Indlæg: 773
Website

Re: hvilken pakke indeholder en bestemt fil

Jeg finder først og fremmest ud af hvad det er for en fil den præcis står og mangler og ser efter om det kan løses med et simpelt symlink. Hvis det viser sig dette ikke er tilfældet laver jeg en simpel google på filnavnet og ser efter hvad pakken kan hedde ved andre distributioner samt hvad pakken gør. Hvis det ikke hjælper i min søgen så tjekker jeg på Arch forum efter om nogen har samme problem (evt. en søgning på det program man ønsker at compile).

Sidst er der også den løsning at se efter om programmet kan undvære den givne fil ved at tilføje en ekstra parameter ved ./configure. Jeg tror aldrig jeg har fundet en fil som er så umulig at finde at man ikke kan slå det op. Du vil ret ofte kunne finde nogle hjælpetråde i den dokumentation der følger med programmet som du vil compile som fx INSTALL eller README.


Administrator for Archlinux.dk

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#7 02-09-2009 18:23:48

atte
Periodisk poster
Registreret: 05-06-2009
Indlæg: 32

Re: hvilken pakke indeholder en bestemt fil

Ok tak.

Jeg er jo gl debian bruger og der har vi "apt-file search libtar.h"

Din fremgangsmåde er ganske sane, men jeg havde håbet på noget lige så lige-ud-ad-landevejen som under debian...

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#8 02-09-2009 19:36:07

julemand101
Admin
Fra: Brabrand
Registreret: 18-04-2006
Indlæg: 773
Website

Re: hvilken pakke indeholder en bestemt fil

Jeg er godt klar over at det ville kunne gøres smartere. Til gengæld er der rigtig mange ting under Arch der er lavet smartere end Debian. Fx PKGBUILD konceptet. Men du er velkommen til at spørge en anden gang hvis du er i tvivl om hvilken pakke du skal have installeret.


Administrator for Archlinux.dk

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#9 02-09-2009 21:55:13

atte
Periodisk poster
Registreret: 05-06-2009
Indlæg: 32

Re: hvilken pakke indeholder en bestemt fil

Ok tak.

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

#10 29-10-2009 22:27:22

sdide
Ny på Archforum
Fra: Århus
Registreret: 24-10-2009
Indlæg: 2

Re: hvilken pakke indeholder en bestemt fil

Det er faktisk lidt ærgeligt.

Fedora har:
# yum whatprovides <fuldpath>/filnavn

Debian har
# apt-file search filnavn

Det ville være sweetness om pacman fik en lignende funktionalitet. Det er klart at google er din ven osv, men sidder du og har brug for at kompilere noget på en kasse uden f.eks X, så er en CLI kommando altså rar.

Offline

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 348

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 349

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 333

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/vzn258/domains/archlinux.dk/public_html/forum/include/parser.php on line 406

#11 29-10-2009 22:58:04

julemand101
Admin
Fra: Brabrand
Registreret: 18-04-2006
Indlæg: 773
Website

Re: hvilken pakke indeholder en bestemt fil

Så er det vel nok godt at jeg har fundet frem til det program der løser alle jeres sorger. Programmet hedder pkgtools og er en samling af en række smarte scripts. Det script vi skal bruge hedder pkgfile og kan bruges på følgende måde:

pkgfile /sti/til/fil

Den vil så slå op i en stor database og finde frem til hvilken pakke der indeholder den pågældende fil (det gælder altså også filer som du ikke har installeret på systemet). Når pkgtools installeres mener jeg at der kommer en forklaring på hvordan pkgfile sættes op. Pkgfile tager imod diverse parametre hvor en af dem er opdatering af den pakkedatabase som programmet benytter til at slå filerne op i. (ellers er den også sat til at opdatere databasen kl. 0:00 hver dag - hvis computeren altså er tændt).

En anden smart feature er at man kan slå pkgfile til at søge efter programmer hver gang man forsøger at starte noget (ligesom Ubuntu gør). Så i stedet for at der bare står "Command not found" vil der stå hvilken pakke man skal installere for at få det ønskede program. Det er klart at dette ikke ligefrem er det bedste hvis man ønsker god performence og hvis man ofte skriver fejl ved kommandoer bliver det heller ikke ligefrem hurtigere.

Og så tror jeg vidst vi kan stoppe den her diskussion. smile


Administrator for Archlinux.dk

Offline

 

Board footer

Powered by FluxBB