Equipos y materiales > Openwrt & LEDE

Compilar telegram en OpenWRT

(1/7) > >>

vk496:
Pues estoy que no cago con este tema. Me toca la fibra que no se consiga hacer funcionar y tener paquetes funcionales desde hace tiempo...

El link donde se planteó el problema inicial (obra de @Noltari) es este: https://github.com/vysheng/tg/issues/213

Estos últimos días ha habido movimiento y parece ser que se ha conseguido compilar el paquete. Yo sigo igual que antes  :'(

Los sources del package sobre los que intento compilar son estos:

https://github.com/Entware/rtndev/tree/master/telegram-cli

Actualmente, me quedo atascado en esta parte:


--- Código: ---mips-openwrt-linux-musl-gcc -I. -I. -I./tgl -Os -pipe -mno-branch-likely -mips32r2 -mtune=34kc -fno-caller-saves -fhonour-copts
-Wno-error=unused-but-set-variable -msoft-float -mips16 -minterlink-mips16 -Wformat -Werror=format-security -fstack-protector
-D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro   \
-I/home/vk496/openwrt/trunk/staging_dir/target-mips_34kc_musl-1.1.10/usr/include -I/home/vk496/openwrt/trunk/staging_dir/target-
mips_34kc_musl-1.1.10/include -I/home/vk496/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10/usr/include -I/home
/vk496/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10/include/fortify -I/home/vk496/openwrt/trunk/staging_dir
/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10/include \
 -I/home/vk496/openwrt/trunk/staging_dir/target-mips_34kc_musl-1.1.10/usr/include -I/home/vk496/openwrt/trunk/staging_dir/target-
mips_34kc_musl-1.1.10/usr/include -I/home/vk496/openwrt/trunk/staging_dir/target-mips_34kc_musl-1.1.10/usr/include -I/home/vk496/openwrt
/trunk/staging_dir/target-mips_34kc_musl-1.1.10/usr/include \
 -DHAVE_CONFIG_H -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-deprecated-declarations -fno-strict-aliasing -fno-omit-frame-
pointer -ggdb -Wno-unused-parameter -fPIC -iquote ./tgl -c -MP -MD -MF dep/tgl-net.d -MQ objs/tgl-net.o -o objs/tgl-net.o tgl/tgl-net.c
In file included from tgl/tgl-net.c:33:0:
/home/vk496/openwrt/trunk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10/include/sys/fcntl.h:1:2: error: #warning redirecting
incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror=cpp]
 #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h>
  ^
cc1: all warnings being treated as errors
make[3]: *** [objs/tgl-net.o] Error 1
make[3]: Leaving directory `/home/vk496/openwrt/trunk/build_dir/target-mips_34kc_musl-1.1.10/telegram-cli-1.3.1-20150730'
make[2]: *** [/home/vk496/openwrt/trunk/build_dir/target-mips_34kc_musl-1.1.10/telegram-cli-1.3.1-20150730/.built] Error 2
make[2]: Leaving directory `/home/vk496/openwrt/trunk/feeds/packages/net/telegram-cli'
make[1]: *** [package/feeds/packages/telegram-cli/compile] Error 2
make[1]: Leaving directory `/home/vk496/openwrt/trunk'
make: *** [package/telegram-cli/compile] Error 2
--- Fin del código ---

Debido a problemas en el código original (el cual no sé arreglar) saltan warnings. El compilador interpreta los warnings como errores, por lo que para la compilación en seco.

He probado a evitar que gcc haga eso con las siguientes lineas dentro del Makefile:


--- Citar ---CONFIGURE_ARGS += \
    --disable-Werror \
    --disable-python \
    --disable-valgrind \
    --with-zlib=$(STAGING_DIR)/usr
--- Fin de la cita ---

Pero sigue igual. Alguna idea?

Salu2

Editado por Tki2000 para que no descuadrara el foro

dolfet15:
Por mi experiencia logré empezarlo a compilar pero no puedo continuar por que  el propio make del programa crea un programa que traducciona otros archivos para luego seguir compilando. Pero ese programa da error.

Otros problema es que en openwrt no hay soporte para la función malloc(). Y ese cliente la usa.

Otro problema que me encontré es que el zlib que trae openwrt no sirve. Cosa que si compilamos nosotros mismos zlib se solucina en un momento.

Enviado desde mi MI 3W mediante Tapatalk

vk496:
He intentado avanzar. He abierto el archivo tgl/tgl-net.c para cambiar

#include <sys/fcntl.h>
por
#include <fcntl.h>

Con esto he podido acabar la compilación y generar los paquetes

https://www.mediafire.com/folder/pcxgrk1phdz7j/telegram-cli

Sin embargo, cuando intento ejecutar telegram-cli recibo este bonito error


--- Código: ----ash: telegram-cli: not found
--- Fin del código ---

 :-\

Salu2

dolfet15:
Eso me paso una vez y es debido que ese binario no es de la misma arquitectura que el sistema.
es decir, que el binario que acabas de compilar no es para la misma arquitectura que tu router.

Estoy viendo que en el mensaje de error anterior la carpeta donde tienes el toolchain se llama "toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10"
Por ejemplo para un HG553(y toda la familia) la carpeta se llama "toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2"

vk496:

--- Cita de: dolfet15 en 24-08-2015, 12:45 (Lunes) ---Eso me paso una vez y es debido que ese binario no es de la misma arquitectura que el sistema.
es decir, que el binario que acabas de compilar no es para la misma arquitectura que tu router.

Estoy viendo que en el mensaje de error anterior la carpeta donde tienes el toolchain se llama "toolchain-mips_34kc_gcc-4.8-linaro_musl-1.1.10"
Por ejemplo para un HG553(y toda la familia) la carpeta se llama "toolchain-mips_mips32_gcc-4.8-linaro_uClibc-0.9.33.2"

--- Fin de la cita ---

Entiendo lo que dices. Por lo visto yo uso la librería musl... pero no tengo ni idea de como usar uClibc. Me viene por defecto así... y desde menuconfig no veo la opción para cambiarlo

Edito: he encontrado la opción para cambiar de musl a uClibc. Voy a probar todo de nuevo...

Salu2

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa