Estaba tratando de instalar rvm usando \curl -L https://get.rvm.io | bash -s stable --ruby --autolibs=enable --auto-dotfiles. Funcionó bien hasta que recibí un error de configuración:
Error running './configure --prefix=/home/nishant/.rvm/rubies/ruby-2.0.0-p247 --disable-install-doc --enable-shared',
please read /home/nishant/.rvm/log/1379591052_ruby-2.0.0-p247/configure.log
There has been an error while running configure. Halting the installation.
Los siguientes son los contenidos del archivo de registro mencionado:
[2013-09-19 17:15:58] ./configure
current path: /home/nishant/.rvm/src/ruby-2.0.0-p247
command(4): ./configure --prefix=/home/nishant/.rvm/rubies/ruby-2.0.0-p247 --disable-install-doc --enable-shared
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/nishant/.rvm/src/ruby-2.0.0-p247':
configure: error: C compiler cannot create executables
See `config.log' for more details
Luego probé un programa C "hello world" y obtuve el siguiente error en la compilación:
nishant@nishant-Inspiron-1545:~$ gcc -g -o hello hello.c
/usr/local/bin/ld: this linker was not configured to use sysroots
collect2: error: ld returned 1 exit status
No estoy seguro de por qué se produce este error. No pude encontrar una respuesta satisfactoria a esto en el foro. ¿Podría alguien ayudarme? Gracias

Respuestas:
Parece que tiene una versión no estándar del enlazador GNU
lden su/usr/local/bindirectorio (posiblemente instalado desde la fuente), y su variable de entorno PATH está configurada de tal manera que el sistema encuentre esa versión antes que la versión 'sistema' (que debería estar en/usr/bin/ld) . Si desea compilar utilizando las versiones estándar del sistema de las herramientas de compilación , deberá ajustar la variable de entorno PATH para que busque/usr/binantes/usr/local/binSi desea arreglar permanentemente su variable PATH, deberá averiguar dónde la configuró originalmente, probablemente en su archivo ~ / .bashrc, pero es posible que haya otras ubicaciones. Alternativamente, si solo necesita una solución temporal para esta compilación, puede intentar
en la terminal antes de ejecutar el
./configureSin embargo, a veces hay buenas razones por las que usted (o el administrador de su sistema) puede querer que use versiones de herramientas
/usr/local; si es así, deberá averiguar por quéldaparentemente no es compatible con el resto de la cadena de compilación y corregir si es un sistema escolar o laboral, comuníquese con el administrador de su sistema o el departamento de TI.fuente
/usr/local/binestá por delante de/usr/binenPATHpor una buena razón: no hay razón para tener un programa instalado localmente si la versión de la distribución tiene prioridad. Buen trabajo para detectar el problema, pero la resolución recomendada no es cambiar la RUTA, sino eliminarla o repararla/usr/local/bin/ld./usr/localwhich ldsolo devuelve/usr/bin/ld...Contrariamente a las complicadas razones dadas anteriormente, en mi caso, fue simplemente un caso de no haber
g++instalado. Curiosamente, el mensaje de error fue el mismo descrito por el OP, es decirDe todos modos, resolví esto instalando g ++:
fuente
Intente actualizar el sistema, reinstale los paquetes que proporcionan ld y el compilador ( gcc ). Ejecutar
prelink -au && depmod -a. Luego reiniciar.Es posible que deba deshabilitar o reconfigurar el preenlace en
/etc/systemctlo donde su distribución lo configure.fuente