2011-12-30 15 views
7

Tengo acceso a una cuenta shell en University como usuario pero sin privilegios de administrador. El servidor ejecuta Ubuntu 8.04 - Hardy. Deseo usar Clang como mi compilador C para el curso de programación Unix del próximo semestre. GCC está instalado, pero no Clang, y el departamento de TI de la Universidad, como se esperaba, no quiso instalar Clang en el sistema.Instalar Clang como usuario (sin privilegios de root)?

¿Es posible ejecutar Clang desde mi directorio personal como usuario? Presumiblemente necesitaría compilar desde la fuente. Necesito compilar solo C. No necesito C++ u Obj C para este curso.

+2

La manera fácil de hacerlo: https://github.com/rsmmr/install-clang – mavam

Respuesta

8

Puede usar el método de instalación de autotools ejecutando ./configure --prefix=$HOME (o algún subdirectorio de su directorio de inicio, si lo prefiere) o utilizando la compilación e instalación de CMake con el CMAKE_INSTALL_PREFIX en algún directorio de su hogar. El primero está documentado here, simplemente agregue el indicador --prefix al paso de configuración y ejecute 'make install' al final.

Una vez instalado, coloque el subdirectorio bin del prefijo que haya utilizado en su variable de entorno PATH, y debe estar listo. Esta es la forma en que uso Clang regularmente como desarrollador de Clang y LLVM.

Como referencia, este es definitivamente un modo de instalación y uso que nosotros (los desarrolladores de Clang) queremos admitir. Si tiene problemas, no dude en llamarnos al file bugs o solicite ayuda en nuestro email lists o IRC channel (#llvm on irc.oftc.net).

+0

Gracias. Lo intentaré en mi máquina doméstica solo por patadas (ya tengo Clang 2.9 instalado en esa máquina). Mi intento de probarlo en mi cuenta de usuario en la Universidad falló rápidamente al exceder la cuota de mi directorio de inicio en su sistema. – haziz

+1

Una buena manera de eludir eso es hacer la compilación en un directorio tmp en la máquina, y solo instalarla en su directorio de inicio. El proceso de compilación para LLVM y Clang produce muchos datos. Además, asegúrese de que está haciendo una versión de lanzamiento sin símbolos de depuración. De lo contrario, los binarios serán * enormes *. Usando autotools, './configure--enable-optimized' debería ser el truco. –

+0

Gracias. Instalé mi Clang 3.1/LLVM 3.0 en mi máquina hogareña. El directorio resultante (incluido compiler-rt) para todo el directorio de construcción sigue siendo de 500 megas, mi límite en la Universidad es de 150 megas con 30 megas ya llenos.El paquete que descarga de Debian/Ubuntu es aún más pequeño (suponiendo que puedo confiar en el tamaño estimado de apt-get), por lo que es probable que parte de la compilación no sea necesaria. No estoy seguro de que sin embargo. Por cierto, con mi máquina doméstica, ¿cómo obtengo las páginas Man de Clang? Se eliminaron cuando desinstalé la versión 2.9 de Clang. – haziz

3

Con software libre, siempre puede configurarlo y (si es necesario) aplicarle parches y mejorarlo según sus necesidades. Sin embargo, construir un compilador (ya sea GCC o Clang) requiere una gran cantidad de recursos (espacio en disco, varios gigabytes y también RAM & tiempo de CPU), y parte de su tiempo y esfuerzos.

El montaje e instalación de Clang está documentado here. Supongo que su script configure -sumando que es similar al de GCC- acepta argumentos como --prefix (que podría, por ejemplo, establecer en $HOME/pub). Es posible que necesite construir también las dependencias requeridas.

2

Como el proyecto parece utilizar autotools, puede modificar el destino de la instalación con los parámetros de línea de comandos para el programa configure (por ejemplo, --prefix=$HOME/clang). Ejecutando ./configure --help y leyendo el archivo de texto INSTALL le dará más detalles.

Si aún no está instalado, también necesita compilar LLVM, que es el proyecto principal (máquina virtual de bajo nivel) también. Installation instructions para ambos están disponibles en el sitio web de clang.

Cuestiones relacionadas