Delirios de un Informático

Solución a los problemas con SQLite en OpenWRT

Uno de los motivos para instalar Lighttpd en OpenWRT era poder utilizar aplicaciones con base de datos, como gestores de tareas o documentación y tener siempre disponible esos datos independientemente de desde donde uno se conecte (equipo de trabajo, portátil via wifi, móvil via 3G…). Pero la Ley de Murphy siempre tiene que aparecer para que no funcione justo lo que necesitas. Por lo visto, existe un bug que provoca que SQLite no funcione correctamente con varias versiones de Kamikaze (en mi caso la 8.09.1) que provoca el siguiente error con bases de datos SQLite 2.x:

sqliteBtreeOpen: Assertion `sizeof(ptr)==sizeof(char*)' failed.

En el caso de SQLite 3.x el error es un desagradable Segmentation fault y tras mucho curiosear por foros e intentar compilar sin éxito con estas instrucciones me puse a probar con todos los paquetes que encontré hasta dar con este backport de los propios servidores de OpenWRT y que curiosamente funciona aunque no lo haga ninguno de los otros paquetes de otras RC.

3 comentarios en “Solución a los problemas con SQLite en OpenWRT”

r0sk dice:

Espero que en otro post nos cuentes a qué aplicaciones te refieres, porque parece muy interesante tener un “honeypot” así. Un saludo.

admin dice:

Si, pondré un post con detalles sobre eso, porque ahora que por fin puedo usar bases de datos, puedo probar muchas mas aplicaciones. Por el momento, sólo scripts propios 😛

admin dice:

Actualización: parece ser necesario instalar php5-mod-pdo y php5-mod-pdo-sqlite para que la extensión SQLite 2.8 se cargue correctamente.