Cómo instalar glibc-2.15.tar
Descargar glibc-2.15.tar.gz y el paquete de parches glibc-ports-2.15.tar.gz
Descomprimir
$mv glibc-ports -2.15 glibc-2.15/ports
$mkdir glibc -build-2.15 amp;amp;cd glibc-build-2.15
$ ./glibc-2.15/configure ( p >
--prefix=/usr/local/glibc_mips (
CC=mipsel-linux-gcc (
--host=mipsel-linux (
--build= i686-pc-linux-gnu (
--enable-add-on=nptl (
libc_cv_forced_unwind=yes (
libc_cv_c_cleanup =yes (
libc_cv_mips_ tls=yes (
libc_cv_gnu99_inline=yes (
OK, no hay problema
$make amp; amp ; make install
Gran éxito
############################## ## ########################################
Lo siguiente es mi proceso de compilación y los problemas encontrados y resueltos:
############################ ##### #######################################
$tar xvf glibc -2.16.0.tar.bz2
$cd glibc-2.16.0
$./configure--prefix=/usr/local/glibc //No hay otras opciones excepto la ruta de instalación, todo es predeterminado. Las opciones generales en línea para configurar arm son las siguientes: prefix=$HOME/usr/arm--with-headers=$HOME/usr/arm/glibc/arm-linux-glibc /. include--with-libs=$HOME/usr/arm/glibc/arm-linux-glibc/lib
Error:
configure: error: debe configurar en una compilación separada directorio
Problema extraño, tienes que configurar en un directorio de compilación separado, al principio pensé que se había creado el directorio de instalación
$mkdir /usr/local/glibc
El problema todavía existe.
/glibc-build amp; cd .../glibc-build
$.../glibc-2.16.0/configure --prefix=/usr/local/glibc
Nuevo problema:
configure: advertencia:
*** Faltan estos asistentes o hay versiones incompatibles: msgfmt
*** Algunas funciones estarán deshabilitadas.
*** Compruebe que el archivo INSTALL contenga la versión requerida.
Compruebe que la variable LD_LIBRARY_PATH... contiene el directorio actual
* Compruebe que el archivo INSTALL contenga la versión requerida. contiene el directorio actual
configure: error:
*** LD_LIBRARY_PATH no debe contener el directorio actual, cambie la variable de entorno cuando
**** compila
****Y vuelva a ejecutar configure.
No te preocupes por la primera advertencia, ¿la segunda LD_LIBRARY_PATH también provocará un error? ¿Cuántos días llevo usando este camino? Mire atentamente el mensaje, no debe contener la ruta actual. Abra ~/.bash_profile
$cat ~/.bash_profile
exportar LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib exportar LD_LIBRARY_PATH
No hay ningún archivo actual camino aquí. Visitemos Baidu.
La explicación de un hermano es la siguiente: "LD_LIBRARY_PATH no puede comenzar ni terminar con caracteres de terminal, ni pueden aparecer dos terminales consecutivamente. Mi LD_LIBRARY_PATH es: /usr/local/firefox: /usr/local /firefox, simplemente necesita exportar LD_LIBRARY_PATH:/usr/local/lib export LD_LIBRARY_PATH:/usr/local/firefox y para Firefox, simplemente anteponga una ruta para evitar que aparezca: en el primer carácter. , el primer carácter no puede ser ":", cambie ~/.bash_profile
export LD_LIBRARY_PATH=/usr/local/ lib export LD_LIBRARY_PATH
$.../glibc-2.16. 0/configure --prefix=/usr/local/glibc
Como puede ver, se generan un montón de Makefiles y otras cosas en el directorio actual
$make & make install
No hay problema.
El siguiente paso es iniciar la compilación cruzada
$mkdir ./glibc-build-mips amp; cd .../glibc-build-mips
$ ./glibc-2.16.0/configure --prefix=/usr/local/glibc_mips CC=mipsel-linux-gcc --host=mips
Nuevo problema:
configure: ejecutando el fragmento de configuración para el complemento libidn
configure: ejecutando el fragmento de configuración para el complemento nptl
**** La biblioteca GNU C aún no está disponible
****Nadie ha estado dispuesto a trasplantarlo hasta ahora, y sin voluntarios
**** es posible que nunca aparezca. Entonces, si está interesado en ver glibc en
****esta plataforma, visite
**** piler. */
# si !definido __CHAR16_TYPE__ || !definido __CHAR32_TYPE__
# si está definido __STDC_ VERSION__ amp;amp; __STDC_VERSION__ lt; ;uchar.hgt; requiere el modo ISO C11"
# else
# error "faltan definiciones de __CHAR16_TYPE__ y/o __CHAR32_TYPE__"
# endif
# endif
Entendido, resulta que requiere soporte para c11, mipsel-linux-gcc -v, el mío resulta que sí lo necesita ahora, todavía no. Solo hay dos formas de modificar la compatibilidad con c11: no utilizar esta versión de glibc o recompilar un compilador cruzado que admita c11. El compilador aún necesita más trabajo, así que cambiemos a una versión inferior por ahora.
Descargar galibc-2.15
Repita los pasos anteriores para descomprimir el paquete tar
Descomprima el paquete ports
$mv glibc-ports -2.15 glibc- 2.15/ports
$mkdir glibc-build-2.15 amp;amp;cd glibc-build-2.15
$ ./glibc-2.15/configure (
--prefix=/usr/local/glibc_mips (
CC=mipsel-linux-gcc (
--host=mipsel-linux (
-- build= i686-pc-linux-gnu (
--enable-add-on=nptl (
libc_cv_forced_unwind=yes (
libc_cv_c_cleanup =yes (
libc_cv_mips_ tls=yes (
libc_cv_gnu99_inline=yes (
OK, no hay problema
$make amp; amp; make install
p>
La biblioteca ha sido compilada, pero no puede usarla directamente. Debe volver a compilar el compilador con la nueva biblioteca
Página anterior
.