Compile AMT (Tunelización automática de multidifusión) en Linux

Hay un viejo proyecto sobre la tunelización automática de multidifusión (AMT). Estoy intentando compilarlo en Ubuntu 11.10, pero aparece un error.

  1. cantidad de cd
  2. . / Configure
  3. para lograr

Error:

Haciendo todo en test_patricia make[1]: Ingresando al directorio `/home/ubuntu/amt/test_patricia' -I../libmem -I../libpatricia -I/usr/local/include -g -O2 -c `test - f 'prueba-patricia.c' || echo './'`test-patricia.c test-patricia.c: En función 'pat2my': test-patricia.c:53:23: error: conversión de puntero a entero de distinto tamaño [-Werror=pointer-to -int-cast] cc1: todas las advertencias se tratan como errores make[1]: *** [test-patricia.o] Error 1 make[1]: Dejando el directorio `/home/ubuntu/amt/test_patricia' make: * ** [todo recursivo] Error 1

línea de código:

    mynode en línea estático * pat2my (patext *ext) { return((mynode *)((int) ext - offsetof(mynode, extkey))); }

¿Alguna solución? Cómo eliminar el error en el código o cómo eliminar la opción Werror en make.

preguntado el 03 de mayo de 12 a las 17:05

Cambiar (int) a (void *) Creo -

Parece que está compilando un código escrito para un sistema de 32 bits en una máquina de 64 bits. Es por eso que sizeof(int) y sizeof(void*) son diferentes y, por lo tanto, el error. Así que tal vez puedas probar (long)ext en lugar de (int)ext. -

Eliminé el indicador de error en los archivos MAKE, pero al final, hay menos documentación, no sé cómo probarlo... -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.