kompilera unrarsrc med slackware

Permalänk
Medlem

kompilera unrarsrc med slackware

Hej!

Jag har lite problem med att kompilera unrarsrc i min slackware, skulle någon kunna ge mig något tips om hur jag kan lösa detta?
uname -a
Linux slack 4.4.301 #1 SMP Mon Jan 31 20:27:28 CST 2022 x86_64 AMD Ryzen 7 3800X 8-Core Processor AuthenticAMD GNU/Linux

wget --no-check-certificate https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz
tar zxvf unrarsrc-6.2.6.tar.gz
cd unrar
make
c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rar.cpp
In file included from rar.hpp:18:0,
from rar.cpp:1:
secpassword.hpp:11:65: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
std::vector<wchar> Password = std::vector<wchar>(MAXPASSWORD);
^
In file included from rar.hpp:24:0,
from rar.cpp:1:
blake2s.hpp:26:10: error: 'constexpr' does not name a type
static constexpr size_t BLAKE_ALIGNMENT = 64;
^
blake2s.hpp:26:10: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
blake2s.hpp:31:10: error: 'constexpr' does not name a type
static constexpr size_t BLAKE_DATA_SIZE = 48 + 2 * BLAKE2S_BLOCKBYTES;
^
blake2s.hpp:31:10: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
blake2s.hpp:33:13: error: 'BLAKE_DATA_SIZE' was not declared in this scope
byte ubuf[BLAKE_DATA_SIZE + BLAKE_ALIGNMENT];
^
blake2s.hpp:33:31: error: 'BLAKE_ALIGNMENT' was not declared in this scope
byte ubuf[BLAKE_DATA_SIZE + BLAKE_ALIGNMENT];

En massa fel fortsätter, och sen slutar det med:

At global scope:
cc1plus: warning: unrecognized command line option '-Wno-dangling-else'
cc1plus: warning: unrecognized command line option '-Wno-logical-op-parentheses'
makefile:132: recipe for target 'rar.o' failed
make: *** [rar.o] Error 1

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Medlem

Problemet verkar vara att du har en rätt gammal C++-kompilator, eftersom den inte kör minst C++11 som standard. Vad säger c++ --version?

Permalänk
Medlem

Som felmedelandet säger så bör du prova med att lägga på någon av "-std=c++11 or -std=gnu++11" parametern för att styra kompilatorn mot den kod som är skriven. Om du vill veta vilka standarder som stöds och vad som är default för din kompilatorutgåva så bör det stå i "man gcc" för "-std".
Sök efter "This is the default" och du bör finna.
Enligt min gcc --version -> 12.2.1 är det gnu++17.

Permalänk
Medlem
Skrivet av Gnisch:

Hej!

Jag har lite problem med att kompilera unrarsrc i min slackware, skulle någon kunna ge mig något tips om hur jag kan lösa detta?
uname -a
Linux slack 4.4.301 #1 SMP Mon Jan 31 20:27:28 CST 2022 x86_64 AMD Ryzen 7 3800X 8-Core Processor AuthenticAMD GNU/Linux

wget --no-check-certificate https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz
tar zxvf unrarsrc-6.2.6.tar.gz
cd unrar
make
c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rar.cpp
In file included from rar.hpp:18:0,
from rar.cpp:1:
secpassword.hpp:11:65: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
std::vector<wchar> Password = std::vector<wchar>(MAXPASSWORD);
^
In file included from rar.hpp:24:0,
from rar.cpp:1:
blake2s.hpp:26:10: error: 'constexpr' does not name a type
static constexpr size_t BLAKE_ALIGNMENT = 64;
^
blake2s.hpp:26:10: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
blake2s.hpp:31:10: error: 'constexpr' does not name a type
static constexpr size_t BLAKE_DATA_SIZE = 48 + 2 * BLAKE2S_BLOCKBYTES;
^
blake2s.hpp:31:10: note: C++11 'constexpr' only available with -std=c++11 or -std=gnu++11
blake2s.hpp:33:13: error: 'BLAKE_DATA_SIZE' was not declared in this scope
byte ubuf[BLAKE_DATA_SIZE + BLAKE_ALIGNMENT];
^
blake2s.hpp:33:31: error: 'BLAKE_ALIGNMENT' was not declared in this scope
byte ubuf[BLAKE_DATA_SIZE + BLAKE_ALIGNMENT];

En massa fel fortsätter, och sen slutar det med:

At global scope:
cc1plus: warning: unrecognized command line option '-Wno-dangling-else'
cc1plus: warning: unrecognized command line option '-Wno-logical-op-parentheses'
makefile:132: recipe for target 'rar.o' failed
make: *** [rar.o] Error 1

Kan du klara dig med en äldre version av unrar?
5.6.1 finns på slackbuilds för slackware 14.2. (vilket du verkar köra med tanke på kernel-version)
https://slackbuilds.org/repository/14.2/system/unrar/
5.5.6 finns det paket för v 14.2 på:
http://www.slackware.com/~alien/slackbuilds/unrar/pkg64/14.2/

Alternativ är att du uppgraderar till slackware 15.0 då kompilerar den utan problem.

Permalänk
Medlem
Skrivet av perost:

Problemet verkar vara att du har en rätt gammal C++-kompilator, eftersom den inte kör minst C++11 som standard. Vad säger c++ --version?

c++ (GCC) 5.5.0

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Medlem
Skrivet av SAFA:

Kan du klara dig med en äldre version av unrar?
5.6.1 finns på slackbuilds för slackware 14.2. (vilket du verkar köra med tanke på kernel-version)
https://slackbuilds.org/repository/14.2/system/unrar/
5.5.6 finns det paket för v 14.2 på:
http://www.slackware.com/~alien/slackbuilds/unrar/pkg64/14.2/

Alternativ är att du uppgraderar till slackware 15.0 då kompilerar den utan problem.

hade gärna velat ha senaste. verkar som att gå mot 15.0 är vägen då. men av de jag läste så verkar en clean install vara de som förespråkas, lite ovillig dock att börja om.

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Medlem
Skrivet av Gnisch:

c++ (GCC) 5.5.0

GCC 5.5 är väldigt gammal, senaste stabila releasen är 12.2. Det kan som sagt fungera om du använder -std=c++11 och tar bort flaggorna som inte stöds, d.v.s. gå in i makefilen och ändra:

CXXFLAGS=-O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else

till

CXXFLAGS=-O2 -std=c++11

-W-flaggorna är ändå bara för att slå på extra kompileringsvarningar, så de spelar ingen roll för dig.

Permalänk
Medlem
Skrivet av perost:

GCC 5.5 är väldigt gammal, senaste stabila releasen är 12.2. Det kan som sagt fungera om du använder -std=c++11 och tar bort flaggorna som inte stöds, d.v.s. gå in i makefilen och ändra:

CXXFLAGS=-O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else

till

CXXFLAGS=-O2 -std=c++11

-W-flaggorna är ändå bara för att slå på extra kompileringsvarningar, så de spelar ingen roll för dig.

Ja, det är nog det klart enklaste... ska visserligen finnas ett script för att uppdatera från 14.2 till 15.0... men har man lagt till saker så kan det ändå nånting gå sönder.

Permalänk
Avstängd

Först vill jag bara säga att TS använd wgetpaste till sånt här: https://wiki.gentoo.org/wiki/Wgetpaste

Då kan du kompilera med som vanligt och köra wgetpaste via en pipe så får man hela loggen. Det är omöjligt att svara på vad som är fel utan hela loggen nästan från build. Nåväl, man vill nästan alltid använda -march=native -O2 -pipe det är nästan aldrig lönsamt att använda något annat än detta.

Skriver man:

gcc -march=native -E -v - </dev/null 2>&1 | grep cc1

Så kan man se vad man skall köra. Det är såvitt jag vet sedan flera år stabilast,
bäst och säkrast att köra med -march=native då gcc verkar hantera processorn
på ett förnuftigt och stabilt sätt.

Om typen av CPU är obestämd, eller om användaren inte vet vilken inställning han ska välja, är det möjligt att använda inställningen -march=native. När denna flagga används kommer GCC att försöka detektera processorn och automatiskt ställa in lämpliga flaggor för den. Detta bör dock inte användas när man avser att kompilera paket för olika processorer!

Om du kompilerar paket på en dator för att köra dem på en annan dator (som när du använder en snabb dator för att bygga för en äldre, långsammare maskin), använd då inte -march=native. "Native" betyder att koden som produceras endast kommer att köras på den typen av CPU. Applikationerna byggda med -march=native på en Intel Core CPU kommer inte att kunna köras på en gammal Intel Atom CPU.

Det finns även flaggorna -mtune och -mcpu. Dessa flaggor används normalt endast när det inte finns något tillgängligt -march-alternativ; vissa processorarkitekturer kan kräva -mtune eller till och med -mcpu. Tyvärr är GCC:s beteende inte särskilt konsekvent med hur varje flagga beter sig från en arkitektur till nästa.

x86 och x86-64 processorer kommer -march att generera kod specifikt för den processorn med hjälp av dess tillgängliga instruktionsuppsättningar och rätt ABI; det kommer inte att ha någon bakåtkompatibilitet för äldre/olika CPU: er. Överväg att använda -mtune när du genererar kod för äldre processorer som i386 och i486 . -mtune producerar mer generisk kod än -march; även om den ställer in koden för en viss CPU, tar den inte hänsyn till tillgängliga instruktionsuppsättningar och ABI. Använd inte -mcpu på x86- eller x86-64-system, eftersom det är föråldrat för dessa arkitekturer.

Endast icke-x86/x86-64-processorer kan kräva -mtune eller -mcpu istället för -march. På dessa arkitekturer kommer -mtune/-mcpu ibland att bete sig precis som -march (på x86/x86-64) men med ett annat flaggnamn.

terigen, GCC:s beteende och flaggnamn är inte konsekventa i alla arkitekturer, så se till att kontrollera GCC-manualen för att avgöra vilken som ska användas om man tror att man har bättre koll än vad som kommer att ställas in som bästa möjliga med native. I Gentoo ar detta diskuterat hur länge som helst och det är ingen jag hört på sjukt länge som rekommenderat något annat. Kört samma jag vet inte hur länge nu. Minst 8 år tror jag. Samma gäller på Ryzen cpuer det ger också bäst resultat.

Det är väldigt viktigt att ställa in CPU flags också om man skall ge sig in på att få det bra

Skulle någon veta detta bättre så hade det varit kul att se vad som skulle slå detta. För att få rätt GCC flags använd följande på amd64 iaf för att få fram rätt flags för perfekt skräddarsydd optimeing, vi cuttar allt behind -mno and simsalabim.

Som sagt, den kommer hitta den rätrta familjen för CPUN, men använd native för bästa resultat det spelar roll vad man tror man vet, benchmarka och kolla själva i detalj och om inte, Kör native.

gcc -### -E - -march=native 2>&1 \ |sed -r '/cc1/!d;s/(")|(^.* - )|( -mno-[^\ ]+)//g'

Prova nedan för unrarsrc

Angående rar2fs, detta är med rar2fs jag la upp det på suckoverflow för några årsen då jag
blev så förbaśkat trött på att det var så krångligt varje gång med unrarsrc.
Prova följande detta jag fixade det skall fungera om du kör en amd64 cpu
du måste vara root men sedan bara kopiera och klistra in. Ta bort rar2fs om
du verkligen inte vill ha det men det vore ett misstag.

git clone https://github.com/hasse69/rar2fs.git /tmp/rar2fs wget -q https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz -P /tmp/rar2fs/ tar -zxf /tmp/rar2fs/unrarsrc-6.2.6.tar.gz -C /tmp/rar2fs make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs/unrar make install-lib -C /tmp/rar2fs/unrar autoreconf -f -i /tmp/rar2fs/unrar cd /tmp/rar2fs/; ./configure --with-unrar-lib=/tmp/rar2fs/unrar make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs make install -C /tmp/rar2fs rm -rf /tmp/rar2fs

Stackexchange:

Här ser ni varför stackoverflow är suckoverflow. Jävla voting system som är värdelöst.

https://unix.stackexchange.com/a/230759/293847

// wuseman

Permalänk
Medlem
Skrivet av wuseman:

git clone https://github.com/hasse69/rar2fs.git /tmp/rar2fs wget -q https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz -P /tmp/rar2fs/ tar -zxf /tmp/rar2fs/unrarsrc-6.2.6.tar.gz -C /tmp/rar2fs make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs/unrar make install-lib -C /tmp/rar2fs/unrar autoreconf -f -i /tmp/rar2fs/unrar cd /tmp/rar2fs/; ./configure --with-unrar-lib=/tmp/rar2fs/unrar make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs make install -C /tmp/rar2fs rm -rf /tmp/rar2fs

De va precis till rar2fs jag försökte få det att fungera.
Körde en clean install på slackware 15 med lite updates, följt av å köra kodbiten du gav där. Fick tyvärr error

./build_rar2fs_swec.bsh Cloning into '/tmp/rar2fs'... remote: Enumerating objects: 1338, done. remote: Counting objects: 100% (238/238), done. remote: Compressing objects: 100% (80/80), done. remote: Total 1338 (delta 170), reused 226 (delta 158), pack-reused 1100 Receiving objects: 100% (1338/1338), 903.76 KiB | 6.46 MiB/s, done. Resolving deltas: 100% (960/960), done. make: Entering directory '/tmp/rar2fs/unrar' c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rar.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c strlist.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c strfn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c pathfn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c smallfn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c global.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c file.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filefn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filcreat.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c archive.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c arcread.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c unicode.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c system.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crypt.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c crc.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rawread.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c encname.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c resource.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c match.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c timefn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rdwrfn.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c consio.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c options.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c errhnd.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rarvm.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c secpassword.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rijndael.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c getbits.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c sha1.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c sha256.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c blake2s.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c hash.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c extinfo.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c extract.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c volume.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c list.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c find.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c unpack.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c headers.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c threadpool.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rs16.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c cmddata.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c ui.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c filestr.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c recvol.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c rs.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c scantree.cpp c++ -O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP -DUNRAR -c qopen.cpp c++ -o unrar -pthread rar.o strlist.o strfn.o pathfn.o smallfn.o global.o file.o filefn.o filcreat.o archive.o arcread.o unicode.o system.o crypt.o crc.o rawread.o encname.o resource.o match.o timefn.o rdwrfn.o consio.o options.o errhnd.o rarvm.o secpassword.o rijndael.o getbits.o sha1.o sha256.o blake2s.o hash.o extinfo.o extract.o volume.o list.o find.o unpack.o headers.o threadpool.o rs16.o cmddata.o ui.o filestr.o recvol.o rs.o scantree.o qopen.o strip unrar make: Leaving directory '/tmp/rar2fs/unrar' make: Entering directory '/tmp/rar2fs/unrar' install libunrar.so /usr/lib install: cannot stat 'libunrar.so': No such file or directory make: *** [makefile:173: install-lib] Error 1 make: Leaving directory '/tmp/rar2fs/unrar' autoreconf: 'configure.ac' or 'configure.in' is required ./build_rar2fs_swec.bsh: line 7: ./configure: No such file or directory make: Entering directory '/tmp/rar2fs' make: *** No targets specified and no makefile found. Stop. make: Leaving directory '/tmp/rar2fs' make: Entering directory '/tmp/rar2fs' make: *** No rule to make target 'install'. Stop. make: Leaving directory '/tmp/rar2fs'

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Avstängd

Ahh, det är samma som alltid. MIsstänkte det nästan.

Du måste skapa en genväg till "libunrar.so" ddet där är verkligen masigt.

Finns inte en färdig install till rar2fs för din dist annars?

Permalänk
Medlem
Skrivet av wuseman:

Ahh, det är samma som alltid. MIsstänkte det nästan.

Du måste skapa en genväg till "libunrar.so" ddet där är verkligen masigt.

Finns inte en färdig install till rar2fs för din dist annars?

Kan prova me en genväg.
Mja egentligen är målsystemet unraid. Om jag inte får de att fungera så ändrar jag den där switchen som nämndes tidigare för kompabilitet.

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Avstängd
Skrivet av Gnisch:

Kan prova me en genväg.
Mja egentligen är målsystemet unraid. Om jag inte får de att fungera så ändrar jag den där switchen som nämndes tidigare för kompabilitet.

Ok jag är med,

Ja, prova det. Och iall om det löser det ena problemet så dyker ett nytt upp. Behöver du hjälp och du kommer vidare så kan jag hjälpa vidare. Det hade varit tacksamt också så att jag kan göra om det installations scriptet för det är andra gången det failar eller failar och failar, den klagar på so filen. Satt ett bra tag även på macos för detta nyligen men då var det en M2 arm cpu inte sett det förut på en amd64 men det går allt bara man tar ett steg i taget, tyvär hade jag inte möjligheten att dokumentera exakt vad jag gorde då och minns inte exakt i huudet steg för steg men jag vet att där du är nu så kommer en symlink hjälpa, sedan dykker ett nästa problem upp men ja. Dela med dig loggar så tar vi det en efter en. Då jag vet inte problemet på just Linux så vet jag ej heller hur det skall göras genom att bara ge rakt av men det där skulle fungerat i en tiidgare version men man vill såklart vara up2date som du skrev tidigare i tråden.

Finns info i deras issue på github också, men väldigt liite det löste sig genom att ta det pö om pö.

Har tyvärr råkat ut för lite tråkigheter så har ingen dator för tillället men kan hjälpa dig om du bara återkommer med loggen igen så kan inte göra en qemu variant hade gjort det annars för att prova men hjälper du mig så kan jag hjälpa dig. Men ja, börja där med en symlink, glöm inte att göra en backup av originalet.

rar2fs pwns, glöm inte autofs sen men en sak i taget. Men det kan bli hur awesome som helst, lätt värt tiden att få de att fungera genom att konfa det.

Permalänk
Avstängd

Uhm. vet inte hur det gick med symlinken, oavsett så är detta felet:

Citat:

install libunrar.so /usr/lib
install: cannot stat 'libunrar.so': No such file or directory ...
make: *** [makefile:173: install-lib] Error 1

Du har antagligen /lib istället för /usr/lib. där skall en symlink in eller om du använder --lib-dir eller vad som är altenativet ../configure altenativet.

Antagligen har du libunrar.so i /lib

find /lib -name -type f libunrar.so

Antlingen symlink (ugly way) eller ändra lib path.

Ändra denna till: /lib om du har unrarsrc kompilerat redan. Det är rar2fs som failar.

./configure --with-unrar-lib=..lib//unrarsrc

.. för där du sparar unrarsrc. nu kommer ett nytt problem upp med ett nytt lib, visa vad det är bara så hjälps vi åt om du ej löst det själv.

Äsch ,fick sätta ihop lite delar så jag fick igång en dator men det duger fför att visa så jag inte lulrar dig här eller säger fel och fixade en stickan också för är utan dator men gör mitt bästa för att göra det enkelt (för andra med för fler kommer hamna här garanterat). Har du ej löst det så är det såhär jag menar, next issue menar jag att visa det som kommer upp som next error för de kommer 3-4st vi får korrigera såhär.

(try again menar jag kompilera igen bara, de bör ha löst sig nu detta felet)

Men vi kan skriva ihop de jag uppskattar om du återkommer oavsett hur det går så kan jag lägga upp det på rar2fs github så länkar vi tråden så slipper vi(jag) hamna här igen det är inte första gången som sagt med rar2fs på senaste versionerna, men iaf updatera ditt script med detta och kör igen så ser vi vad slackware säger om denna variant istället med symlinken:

#!/usr/bin/env bash ### ### Author: See references ### Install rar2fs from source ### References: #19975325 ### Use translate-shell sine it's a swedish source. ### Is that to much? Get a life. ### If you translate and copy-this-script-leave references to original ### source (sweclockeers forum) share, copy/use anywhere as you ### wish IF you follow these simple terms! ### ### https://github.com/hasse69/rar2fs ### https://www.rarlab.com ### ### Verbose: true set -x function getDistro(){ d1st=$(awk -F'"' '{print tolower($2)} NR=1{print $1; exit}' /etc/os-release \ |sed -n 1p) } function installUnrarSRC() { mkdir -p /tmp/rar2fs wget -q https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz -P /tmp/rar2fs/ tar -zxf /tmp/rar2fs/unrarsrc-6.2.6.tar.gz -C /tmp/rar2fs/ make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs/unrar/ make install-lib -C /tmp/rar2fs/unrar/ autoreconf -f -i /tmp/rar2fs/unrar/ echo "unrar installed.. " } function installrar2fuse() { echo "Please wait, installing rar2fs.." git clone https://github.com/hasse69/rar2fs.git /tmp/rar2fs cd /tmp/rar2fs/ ln -s /usr/lib/libunrar.so ./configure --with-unrar-lib=/lib64 make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs make install -C /tmp/rar2fs/ rm -rf /tmp/rar2fs echo "rar2fs has been installed, usage: rar2fs --help } installDebianDistros() { git clone https://github.com/hasse69/rar2fs.git /tmp/rar2fs wget -q https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz -P /tmp/rar2fs/ tar -zxf /tmp/rar2fs/unrarsrc-6.2.6.tar.gz -C /tmp/rar2fs make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs/unrar make install-lib -C /tmp/rar2fs/unrar autoreconf -f -i /tmp/rar2fs/unrar cd /tmp/rar2fs/; ./configure --with-unrar-lib=/tmp/rar2fs/unrar make -j$(($(nproc)+1)) -l$(($(nproc)+2)) -C /tmp/rar2fs make install -C /tmp/rar2fs rm -rf /tmp/rar2fs } while getopts "v:i:" o; do case "${o}" in v) set -x ;; i) i=${OPTARG} ;; esac done getDistro if [[ ${d1st} = "debian" ]]; then installDebianDistros elif [[ ${OPTARG} == "gentoo" ]] || \ [[ ${OPTARG} == "slackware" ]] || then installUnrarSRC installrar2fuse fi

(ska renakskriva detta senare så de blir snyggare skriver rakt av men sålänge så är det följande för slack iaf: installrar2fuse.

Provade det som jag skrev först det funkade fint på debian/ubuntu och dessa tusen distar under debian brukar funka bara dom två huvud distarna fungerar iaf. Tråkigt när stora projekt blir så extremt "komplicerat" för en vanlig install så man måste hålla med sådant här tycker dom borde lätt kunna fixa det där md att kolla distron och är de EJ någon av debians/arch eller vad fasen allt heter så kan dom ju bara gör en symlink på ett sådant stort projekt men ja, det är fult och klaga skall skriva ihop det till han så får vi se sedan, hassebasse. Är verkligen inte up to date heller: https://github.com/hasse69/rar2fs

Tror inte det finns bättre altenativ, eller vet någon annan kanske något för det är inte super snabbt med rar2fs om det är typ många arkiv med små filer i text storlek på 1-3kb: Skall se om de går att lösa för macos också sen när jag får tbx datorn och qemu, men verkar som dom satsar ganska mycket på WSL ser jag nu förresten i winfsp repot där dom vill få någon egen variant av procfs men det verkar svårt i windows men de lägger väl krutet där kanske. Men altenativ är alltid intressant så jag lånar din tråd frågar samtidgt om någon vet någon något för rar2fs?

'
Permalänk
Medlem

Vart syntaxfel
./buildrar2fsv2_swec.bsh: line 70: unexpected EOF while looking for matching `}'
./buildrar2fsv2_swec.bsh: line 77: syntax error: unexpected end of file

Visa signatur

Ryzen 5 5600X - SCYTHE SCMG-5PCGH - TUF GAMING X570-PLUS - Corsair 32GB (4x8GB) DDR4 4000MHz - Samsung 980 Pro NVME - Gigabyte Geforce RTX 3070 8GB EAGLE 2.0 - EVGA BQ 850W

Permalänk
Hedersmedlem

@Gnisch Felet är i sista paragrafen, ${d1st] ska istället vara ${d1st}

Om det fungerar i övrigt lämnar jag osagt då jag inte kan testa själv.

Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200

Permalänk
Avstängd
Skrivet av Thomas:

@Gnisch Felet är i sista paragrafen, ${d1st] ska istället vara ${d1st}

Om det fungerar i övrigt lämnar jag osagt då jag inte kan testa själv.

Tack Thomas.

Skaparen av rar2fs är ju svensk: https://github.com/hasse69! Grymt ju de visste jag inte , hoppas han dyker upp här då kan man få lite tweaks hur man kan tweaka rar2fs till absolut max max max max max på så lite resurser som det är möjligt som inte finns i manualen. Sverige har fan många open source utvecklare som få ens känner till som man hittar lite här och där i mega projekt i min värld. rar2fs är ju fan större än edge för en annan iom jag använder rar2fs 24/7 och aldrig edge/safari. Hittade skaparen i sista raden i manulen så googlade jag på skaparen så såg jag det woot swedish! . Väl värt att nämnas i denna tråden. Riktigt kul med nya svenskar och speciellt när man engagerat sig så utan att veta att de är en svensk som är skapare. Då har vi badger/hasse på libcurl/libssh/libfuse. De är fan stort för lilla Sverige.

Scrollade runt lite i deras issues de är alltid kul tycker jag men så wips, hitta ju svaret på senaste stängda issuen för denna versionen

- #reference#182

Då fanns svaret i första inlägget jag skrev om gcc flags, gentoo power.

Vad skumt dom använder gcc, men jag skriver ihop detta nu då jag fixat en dator och provat på vpsen jag hyrde.