Hur installerar jag libgfortran3 i Ubuntu 20.04?

Permalänk

Hur installerar jag libgfortran3 i Ubuntu 20.04?

Jag har Ubuntu 20.04 och jag behöver installera libgfortran3. Men paketet finns ej för libgfortran3. Kan jag använda äldre paket för libgfortran3 för att installera libgfortran3 till Ubuntu 20.04?

Permalänk
Medlem

Finns det som öppen källkod är det bara att kompilera annars

Permalänk

@medbor:

Hur gör jag då?
Jag är 10+ årig linuxanvändare. Men jag har bara använt detta för att jag tycker Windows skräpar ned för mycket. Jag programmerar dagligen. Men jag kan ej installera något i linux utan deb eller rpm system.

Permalänk
Medlem

Det var alldeles för länge sedan sist för min del, men om jag minns rätt så hämtar man en tar-boll (archive) med källkoden och extraherar i en mapp, den går man in i mappen med terminal och skriver ’make install’ eller något liknande. Det som krävs är gcc och tillhörande verktyg. Men sen brukar det finnas massa konfigurationsfiler man kan pilla på och sen kan ju det biblioteket du vill ha ha massa dependencies som måste köras in först och så vidare. Har man allt installerat är det smidigt, men jag minns att jag svurit över det en de gånger. Kör du någon mystisk distro eller varför finns inget paket? Är det inte bara så att du behöver lägga till en custom-repo på din pakethanterare?

Permalänk
Medlem
Permalänk
Skrivet av medbor:

Det var alldeles för länge sedan sist för min del, men om jag minns rätt så hämtar man en tar-boll (archive) med källkoden och extraherar i en mapp, den går man in i mappen med terminal och skriver ’make install’ eller något liknande. Det som krävs är gcc och tillhörande verktyg. Men sen brukar det finnas massa konfigurationsfiler man kan pilla på och sen kan ju det biblioteket du vill ha ha massa dependencies som måste köras in först och så vidare. Har man allt installerat är det smidigt, men jag minns att jag svurit över det en de gånger. Kör du någon mystisk distro eller varför finns inget paket? Är det inte bara så att du behöver lägga till en custom-repo på din pakethanterare?

Detta känner jag till. Jag spenderar bara tiden till att hitta vart jag kan hitta libgfortran3 källkoden någstans...

Permalänk
Medlem

Ska det vara för GCC 5.4/5.3.1? Sätt upp en chroot och installera paketen från 16.04.

Permalänk
Skrivet av Petterk:

Ska det vara för GCC 5.4/5.3.1? Sätt upp en chroot och installera paketen från 16.04.

Hur menar du?

Jag har

hp@hp-hpz400workstation:~$ gcc --version gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. hp@hp-hpz400workstation:~$

Jag vet..Z400...gammalt Men gillar gamla datorer.

Permalänk
Medlem
Skrivet av heretic16:

Hur menar du?

Jag har

hp@hp-hpz400workstation:~$ gcc --version gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. hp@hp-hpz400workstation:~$

Jag vet..Z400...gammalt Men gillar gamla datorer.

16.04 kör GCC 5.4/5.3.1, och libgfortran3 där är för dessa. På 20.04 och GCC 9.3 kan du köra gfortran 9, bara att köra apt gfortran-9-multilib så installeras alla varianter.

Ska du köra en äldre version sätt upp en chroot.

Permalänk
Skrivet av Petterk:

16.04 kör GCC 5.4/5.3.1, och libgfortran3 där är för dessa. På 20.04 och GCC 9.3 kan du köra gfortran 9, bara att köra apt gfortran-9-multilib så installeras alla varianter.

Ska du köra en äldre version sätt upp en chroot.

Jag testade köra apt-get install gfortran-9-multilib men jag fick inte libgfortran3 installerat.

-- org.jblas CONFIG BLAS native library not found in path. Copying native library from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH). -- org.jblas CONFIG ArchFlavor native library not found in path. Copying native library libjblas_arch_flavor from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH). -- org.jblas CONFIG Loading libjblas_arch_flavor.so from /lib/static/Linux/amd64/, copying to libjblas_arch_flavor.so. -- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /tmp/jblas15311201925595153265/libjblas_arch_flavor.so: libgfortran.so.3: Ne peut ouvrir le fichier d'objet partagé: Aucun fichier ou dossier de ce type.

Permalänk
Medlem
Skrivet av heretic16:

Jag testade köra apt-get install gfortran-9-multilib men jag fick inte libgfortran3 installerat.

Nej du får libgfortran9. Ska du köra en äldre version så behöver du ju också en äldre kompilator. Behöver du bara runtime, installera då paketet från 18.04/16.04.

Permalänk
Skrivet av Petterk:

Nej du får libgfortran9. Ska du köra en äldre version så behöver du ju också en äldre kompilator. Behöver du bara runtime, installera då paketet från 18.04/16.04.

Så jag bara laddar ned .deb filterna frpn t.ex. 18.04 och installera dom med dpkg?

Permalänk
Inaktiv
Skrivet av heretic16:

Detta känner jag till. Jag spenderar bara tiden till att hitta vart jag kan hitta libgfortran3 källkoden någstans...

Verkar vara en del av GCC, så det du letar efter är egentligen källkoden till GCC. Genom t.ex. Ubuntus eller Debians paket-sidor på nätet så kan man se att GCC's källkod finns hos gnu.org, närmare bestämt gcc.gnu.org. På denna url finns ett git-repo som är fritt för alla att läsa ifrån. Har du git installerat så kan du ladda ner hela repot med källkoden till din dator med följande kommando:

Källkoden hamnar då i mappen 'gcc' i din hem-mapp. Detta är källkoden för hela GCC, inklusive libgfortran3 som ju bara är en liten del av GCC, så för att hitta källkoden för libgfortran3 specifikt så får du bläddra (eller ännu bättre, söka) omkring lite.

Jag tvivlar dock på att det hjälper dig att gå vidare i problemlösningen, vad det nu än är du försöker göra. Om det är möjligt för dig att göra det du ska i en chroot eller en virtuell maskin så är det troligtvis enklare att installera Ubuntu 16.04 eller 18.04 och jobba därifrån eftersom dessa har libgfortran3 i sina respektive repo så att du enkelt kan få hem det genom antingen:

sudo apt install gcc

...och om det inte skulle räcka (t.ex. om paketet är märkt 'optional'):

sudo apt install libgfortran3

Permalänk
Inaktiv
Skrivet av heretic16:

Så jag bara laddar ned .deb filterna frpn t.ex. 18.04 och installera dom med dpkg?

Det leder eventuellt till konflikter med ditt nuvarande system som förmodligen har nyare versioner av samma programbibliotek, därav att vi rekommenderar att göra det i en chroot eller virtuell maskin så att du inte råkar sabba ditt nuvarande system.

Permalänk
Skrivet av anon78208:

Verkar vara en del av GCC, så det du letar efter är egentligen källkoden till GCC. Genom t.ex. Ubuntus eller Debians paket-sidor på nätet så kan man se att GCC's källkod finns hos gnu.org, närmare bestämt gcc.gnu.org. På denna url finns ett git-repo som är fritt för alla att läsa ifrån. Har du git installerat så kan du ladda ner hela repot med källkoden till din dator med följande kommando:

Källkoden hamnar då i mappen 'gcc' i din hem-mapp. Detta är källkoden för hela GCC, inklusive libgfortran3 som ju bara är en liten del av GCC, så för att hitta källkoden för libgfortran3 specifikt så får du bläddra (eller ännu bättre, söka) omkring lite.

Jag tvivlar dock på att det hjälper dig att gå vidare i problemlösningen, vad det nu än är du försöker göra. Om det är möjligt för dig att göra det du ska i en chroot eller en virtuell maskin så är det troligtvis enklare att installera Ubuntu 16.04 eller 18.04 och jobba därifrån eftersom dessa har libgfortran3 i sina respektive repo så att du enkelt kan få hem det genom antingen:

sudo apt install gcc

...och om det inte skulle räcka (t.ex. om paketet är märkt 'optional'):

sudo apt install libgfortran3

Varken installera gcc eller libgfortran3 fungerar. Eller...gcc är ju redan installerat.

Permalänk
Skrivet av anon78208:

Det leder eventuellt till konflikter med ditt nuvarande system som förmodligen har nyare versioner av samma programbibliotek, därav att vi rekommenderar att göra det i en chroot eller virtuell maskin så att du inte råkar sabba ditt nuvarande system.

Då får jag nog byta från jBlas till EJML. jBlas använder sig utav BLAS och BLAS är Fortran kod. Hedlig optimal kod för numeriska metoder.

Permalänk
Inaktiv
Skrivet av heretic16:

Varken installera gcc eller libgfortran3 fungerar. Eller...gcc är ju redan installerat.

Exakt, men du behöver ju uppenbarligen en äldre version av GCC som har droppats i senaste Ubuntu. Därför blir enklaste lösningen att använda ett äldre Ubuntu

Permalänk
Skrivet av anon78208:

Exakt, men du behöver ju uppenbarligen en äldre version av GCC som har droppats i senaste Ubuntu. Därför blir enklaste lösningen att använda ett äldre Ubuntu

Då kör jag EJML istället.

Permalänk
Inaktiv
Skrivet av heretic16:

Då kör jag EJML istället.

Är inte speciellt insatt i programmering så jag vet inte riktigt vad det betyder, men det blir nog bra

Permalänk
Skrivet av anon78208:

Är inte speciellt insatt i programmering så jag vet inte riktigt vad det betyder, men det blir nog bra

EJML = Efficient Java Matrix Library. Typ som MATLAB, fast java + snabbt. Kanske inte lika snabbt som C, men iallafall snabbare än Python

Just nu kör jag jBlas. Det är alltså Java som kör Fortran-kod.

Permalänk
Medlem
Skrivet av heretic16:

Jag har Ubuntu 20.04 och jag behöver installera libgfortran3. Men paketet finns ej för libgfortran3. Kan jag använda äldre paket för libgfortran3 för att installera libgfortran3 till Ubuntu 20.04?

Varför behöver du just libgfortran3?
Som andra har nämnt i tråden så är libgfortran ett run-time bibliotek för program kompilerade med GNU Fortran. Vilken version av libgfortran som behövs beror på vilken version av GNU Fortran som använts.
Installerar du GNU Fortran (vilket vanligtvis görs som en del av gcc) så bör den installationen inkludera den version av libgfortran som den kompilatorn behöver.

Permalänk
Skrivet av Erik_T:

Varför behöver du just libgfortran3?
Som andra har nämnt i tråden så är libgfortran ett run-time bibliotek för program kompilerade med GNU Fortran. Vilken version av libgfortran som behövs beror på vilken version av GNU Fortran som använts.
Installerar du GNU Fortran (vilket vanligtvis görs som en del av gcc) så bör den installationen inkludera den version av libgfortran som den kompilatorn behöver.

För att jag använder jBlas. Nu har jag bytt till EJML istället.

Permalänk
Medlem

sudo apt install jblas så installeras väl alla bibliotek den behöver? Den versionen i 20.04 har bara beroenden på libgfortran5 (GCC 10). Ser inte att du skriver något som antyder att du behöver köra en gammal variant som inte är byggd med senaste GCC-versionen i distron.