Come installare e configurare CyberPanel sul server CentOS 7
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
LLVM è un'infrastruttura di compilazione open source. LLVM è stato avviato nel 2000 ed è stato ampiamente utilizzato e modificato da Apple dal 2005. Clang è un compilatore C, C ++, Objective-C e Objective-C ++ che funziona con il sistema LLVM. Clang è stata avviata nel 2007 da Apple e da allora Google e Intel sono state coinvolte nel suo continuo sviluppo.
Gli sviluppatori di Clang affermano che rispetto a GCC, si compila più velocemente, utilizza meno memoria, offre una diagnostica più intuitiva durante la compilazione ed è compatibile con GCC.
CentOS segue lo sviluppo di Red Hat Enterprise Linux (RHEL). RHEL si sforza di essere una piattaforma server stabile, il che significa che non ha fretta di includere le ultime versioni di tutto.
Al momento della stesura di questo articolo, CentOS 6 distribuisce ufficialmente LLVM e Clang v3.4.2. Tuttavia, Clang v3.6 è stato rilasciato.
Il suggerimento ufficiale è che se hai bisogno di una versione più recente di LLVM e Clang, dovresti prendere in considerazione una diversa distribuzione UNIX che è più focalizzata sul supporto delle ultime versioni dei pacchetti software.
Fortunatamente, è possibile installare una versione più recente di LLVM e Clang GCC su CentOS. Ciò si discosta dall'usare semplicemente il software distribuito ufficialmente, ma a volte potresti avere poca scelta.
Questo articolo descrive come installare la versione ufficialmente supportata da CentOS 6 di LLVM e Clang e come installare una versione più recente. Questo articolo presuppone che tu abbia un CentOS 6 appena installato, tuttavia puoi certamente seguire le istruzioni su un VPS che hai già utilizzato.
Clang è in gran parte indipendente dal GCC, ma come della scrittura di questo articolo, Clang utilizza ancora diverse librerie condivise installati da GCC (vale a dire, crtbegin.o
, gcc
, e gcc_s
). Se installi LLVM e Clang su CentOS 6, non sarai in grado di compilare nulla se non hai anche GCC sul tuo sistema per queste librerie condivise. Idealmente, yum avrebbe una dipendenza pacchetto per clang di gcc e gcc-c ++, ma al momento della stesura di questo articolo, yum non è a conoscenza della dipendenza.
Inoltre, la creazione di una versione più recente di LLVM e Clang dal sorgente richiede G ++ v4.7 +, che puoi ottenere solo su CentOS 6 installandolo dal sorgente.
Se esegui tutti i passaggi seguenti, finirai con 2 versioni di GCC e 2 versioni di LLVM e Clang. Ciò include una versione precedente binaria supportata ufficialmente e una versione più recente dall'origine per ciascun programma. Tuttavia, non è necessario eseguire tutti i passaggi seguenti. Puoi decidere se desideri la versione binaria più vecchia supportata ufficialmente di LLVM & Clang o la versione più recente dal sorgente ed eseguire la sezione di istruzioni adatta alla tua decisione.
IMPORTANTE! Innanzitutto, installa una versione (più vecchia) ufficialmente supportata di GCC, eseguendo i passaggi nell'articolo Come installare GCC su CentOS 6 - NON è necessario eseguire i passaggi sotto il titolo dell'articolo "Installa una versione più recente di GCC dall'origine ".
Installa LLVM e Clang
sudo yum install clang
--- This will bring in llvm as a dependency
Controlla le versioni installate e vedi le loro posizioni.
clang --version
May say: clang version 3.4.2 (tags/RELEASE_34/dot2-final)
which clang
/usr/bin/clang
gcc --version
May say: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
g++ --version
May say: g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
which gcc
/usr/bin/gcc
which g++
/usr/bin/g++
Per costruire LLVM e Clang per sorgente su CentOS, devi avere GCC v4.7 o successivo. CentOS 6 non ha una versione così alta in yum, quindi devi prima installare un GCC più recente dal sorgente.
IMPORTANTE! Innanzitutto, installa una versione più recente di GCC dall'origine, eseguendo i passaggi nell'articolo Come installare GCC su CentOS 6 - DEVI eseguire tutti i passaggi in quell'articolo, incluso il titolo "Installa una versione più recente di GCC da fonte".
Installa pacchetti aggiuntivi richiesti.
sudo yum install cmake
Installa una versione più recente di Python. LLVM e Clang v3.6.0 richiedono Python v2.7 +, ma il repository yum CentOS 6 ha solo Python v2.6.6.
mkdir ~/sourceInstallations
cd ~/sourceInstallations
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xvf Python-2.7.9.tgz
cd Python-2.7.9
./configure && make && sudo make install
Decidi quale versione di LLVM e Clang desideri. Questo comando ti mostrerà i "tag" per le versioni disponibili.
svn ls http://llvm.org/svn/llvm-project/llvm/tags | grep RELEASE
RELEASE_1/
...
RELEASE_352/
RELEASE_360/
RELEASE_361/
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361
rc1/
--- At this time, there is no final, just a release candidate. You could certainly use a release candidate, but this article will show how to use a final release.
svn ls http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360
final/
rc1/
rc2/
rc3/
rc4/
Ottieni la fonte della versione di LLVM e Clang che desideri. Questo durerà per alcuni minuti. Il resto di questo articolo è stato scritto RELEASE_360/
e scaricherà i sorgenti in ~/sourceInstallations/llvm_RELEASE_360/
- Dovrai sostituire il tag appropriato per adattarlo alle versioni future. Le directory sottostanti di compiler-rt
, libcxx
e libcxxabi
non sono assolutamente necessarie, ma contengono alcune delle funzionalità di LLVM e Clang che GCC non ha, quindi sono incluse in questo articolo. Esistono altri "sottoprogetti" LLVM che è possibile scegliere di utilizzare, come dragonegg, LLDB, OpenMB, vmkit, polly, libclc, klee, SAFECode e lld. Puoi leggere quelli sul sito web LLVM .
cd ~/sourceInstallations
svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final llvm_RELEASE_360
cd llvm_RELEASE_360/tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final clang
cd ../projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_360/final compiler-rt
svn co http://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_360/final libcxx
svn co http://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_360/final libcxxabi
cd ..
svn update
At revision X.
--- Hopefully this outputs one line saying "At revision X", but numbers instead of "X". If it downloads more source files, a new revision was released while you were downloading the source code. This is highly unlikely unless you're using trunk (the most up to date, maybe unstable code.) But, if this happens, perform a svn update in the tools/clang, projects/compiler-rt, projects/libcxx, projects/libcxxabi, and again ~/sourceInstallations/llvm_RELEASE_360, until you are fully up to date.
Costruisci LLVM e Clang. Questo durerà per un po '. Se questo si completa correttamente, l'ultima riga che vedrai dirà "successo". È normale vedere scorrere rapidamente alcuni messaggi dall'aspetto errato. È sempre una buona idea costruire cose in una directory diversa rispetto a una directory di origine.
mkdir ../llvm_RELEASE_360_build
cd ../llvm_RELEASE_360_build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/local/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ../llvm_RELEASE_360 && make && sudo make install && echo success
--- If your VPS has multiple cores, you can speed up the build by changing the middle part
--- of this line from "&& make &&" to "&& make -j <number of cores> &&".
--- You can see the number of cores your VPS has by running "nproc"
--- If you omit -DCMAKE_BUILD_TYPE=Release, the build defaults to debug. This is great if you need to debug LLVM & Clang itself, but slows down compilation of your end programs considerably.
--- If you omit the references to gcc and g++, it will default to using the older binary versions in /usr/bin/, and will not compile.
Controlla le versioni installate e vedi le loro posizioni.
clang --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
clang++ --version
May say: clang version 3.6.0 (tags/RELEASE_360/final 237229)
which clang
/usr/local/bin/clang
which clang++
/usr/local/bin/clang++
Aggiungi le nuove librerie a ld (il linker GNU).
echo "/usr/local/lib" > usrLocalLib.conf
sudo mv usrLocalLib.conf /etc/ld.so.conf.d/
sudo ldconfig
--- This may say a file or two "is not an ELF file - it has the wrong magic bytes at the start."
--- You may ignore this message. It is silent about the work it successfully completed.
Facoltativamente, crea un programma "ciao mondo".
mkdir ~/code
cd ~/code
Create a file main.cpp that says:
#include <iostream>
using namespace std;
int main() {
cout << "Hello world!" << endl;
return 0;
}
--- One way to create this file is to run "vi main.cpp", hitting "i" to enter insert mode,
--- typing the above file, hitting ESC, and hitting "ZZ" to save.
clang++ main.cpp -o main
./main
Hello World!
clang++ -stdlib=libc++ -lc++abi main.cpp -o main
--- This uses Clang's libc++ and libc++abi, instead of the GNU stdlibc++ and stdlibc++abi
./main
Hello world!
Usa LLVM e Clang quando vuoi.
You could set LLVM & Clang to be your system's default C and C++ compiler by running:
echo "export CC=/usr/local/bin/gcc" >> ~/.bashrc
echo "export CXX=/usr/local/bin/g++" >> ~/.bashrc
source ~/.bashrc
Once and a while there is a difference between Clang and GCC, but it's becoming more and more rare. To be more conservative, you could specify in your code's buildsystem to use LLVM & Clang, but otherwise leave your system's default to the source build of GCC.
Facoltativamente, recuperare spazio sul disco rigido. La ~/sourceInstallations
cartella occuperà circa 11 GB di spazio su disco. Probabilmente è saggio conservare le cartelle, in quanto in futuro potrebbero essere necessarie opzioni di configurazione opzionali, e sarebbe più veloce fare molto. E, come detto sopra, ci sono ulteriori "sottoprogetti" che puoi aggiungere a LLVM e Clang. Inoltre, il processo di creazione crea registri che è possibile controllare e lavorare in seguito se qualcosa va storto. Ma, dopo aver eseguito "sudo make install" in precedenza, LLVM e Clang installati non dipendono da nulla in questa directory, e lo spazio può essere un premio, quindi puoi fare questo passo e recuperare gli 11GB.
cd ~/
rm -rf sourceInstallations
--- Again, if you can spare the space, you may someday be happy to have left it there.
Ora hai il tuo nuovo LLVM & Clang /usr/local/bin
, le tue nuove librerie LLVM e Clang a 64 bit /usr/local/lib
e i tuoi nuovi LLVM e Clang includono i file /usr/local/include
.
Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa
Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i
Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi
Usi un sistema diverso? RTMP è ottimo per pubblicare contenuti live. Quando RTMP è associato a FFmpeg, i flussi possono essere convertiti in varie qualità. Vultr i
TaskBoard è unapp Web di gestione del tempo gratuita e open source. Ispirato da Kanban, TaskBoard può aiutarti a tenere traccia delle cose che devono essere fatte in a
Usi un sistema diverso? Gradle è un set di strumenti di automazione di build gratuito e open source basato sui concetti di Apache Ant e Apache Maven. Gradle fornisce
Usi un sistema diverso? In questa guida, vedremo come configurare un server FTP (ProFTPd) per trasferire file tra il tuo PC e il tuo server.
Usando un sistema diverso? Netdata è una stella nascente nel campo del monitoraggio delle metriche di sistema in tempo reale. Rispetto ad altri strumenti dello stesso tipo, Netdata:
Usi un sistema diverso? Apache Cassandra è un sistema di gestione di database NoSQL gratuito e open source progettato per fornire scalabilità, alta
In questo tutorial imparerai bene come configurare un server multiplayer Just Cause 2. Prerequisiti Assicurarsi che il sistema sia completamente aggiornato prima di iniziare
Usando un sistema diverso? In questo tutorial, spiegherò come impostare un server Starbound su CentOS 7. Prerequisiti Devi possedere questo gioco su di te
ZNC è un buttafuori IRC gratuito e open source che rimane permanentemente connesso a una rete in modo che i client possano ricevere messaggi inviati mentre sono offline. Thi
Django è un popolare framework Python per la scrittura di applicazioni Web. Con Django, puoi creare applicazioni più velocemente, senza reinventare la ruota. Se vuoi
Dopo aver modificato la porta SSH, configurato il port knocking e apportato altre modifiche per la sicurezza SSH, cè forse un altro modo per proteggerti
Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL
Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori
Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord
MaraDNS è un programma server DNS open source leggero ma robusto. Rispetto ad altre applicazioni dello stesso tipo, come ISC BIND, PowerDNS e djbdns
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.