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.
På 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