Programa de Desarrolladores para e-Readers bq


  • Administrador

    Acabamos de presentar el Programa de Desarrolladores para e-Readers bq, a través del cual podrás usar tu dispositivo como un dispositivo abierto para el libre desarrollo. Para ello tendrás que seguir unos pasos que se describen en http://www.mibqyyo.com/actualidad/2013/07/10/programa-de-desarrolladores-para-ereaders-bq.

    Y este foro queda abierto para compartir información y experiencias entre los desarrolladores interesados en participar en este proyecto. 



  • De nuevo felicidades por la iniciativa!
    Voy a empezar a echarle un ojo, aunque solo sea por curiosidad 😉

    De momento la primera pregunta.
    Requisitos:
    2. Cuenta de usuario en tienda.
    Es realmente necesario?

    Gracias
    Saludos



  • Hola,

    Estaba intentando compilar la aplicación de lectura pero me falla con el siguiente error:

    ./build.sh -hackers -disable_adobe
    QBookApp requires a bootstrap version >= 204 and current version is 0
    Please, update your bqbuild scripts, re-generate the bootstrap and update whole ROOTFS in the DEVICE


    Tengo la variable ROOTFS apuntando al sdk pre-generado, pero no existe el fichero .version al que hacer referencia build.sh. De todas formas, este script canvia el valor de ROOTFS en función de PREFIX.

    Si soluciono estos dos problemas, entonces me falla con este error:

    Could not find qmake configuration file ../bqeReaderSDK//mx508-rootfs-devel/usr/mkspecs/default.
    Error processing project file: /home/alex/program/cervantes/lector/ConnectionManager/main.pro


    Estoy haciendo algo mal?

    Gracias,
    Àlex



  • Buenos días @alexm,

    Primero de todo, gracias por tu interés. El problema que encuentras con el .version es debido a que el sdk-pregenerado que esta disponible ahora mismo corresponde a la versión 4.2.0 donde aun no habíamos publicado la el código de la aplicación y no incluía el fichero .version. Puedes descargar los archivos de desarrollo actualizados para 5.0.0 de los siguientes enlaces:

    Paquete de upgrade 5.0.0 para desarrolladores (Es necesario tener instalada la versión 4.2.0 de desarrollo antes)

    El otro problema que comentas con el qmake se debe a que están pasando el -prefix como una ruta relativa y desgraciadamente el script de build no lo soporta, prueba lo siguiente:

    ./build.sh -hackers -disable_adobe -prefix /home/alex/program/cervantes/bqeReaderSDK

    Siendo bqeReaderSDK la carpeta donde tienes mx508-rootfs-devel, etc...

    Te informamos además de otra opción que te puede resultar interesante, puedes emular fácilmente la aplicación usando la opción -emulate de build.sh:
    ./build.sh -hackers -disable_adobe -prefix /home/alex/program/cervantes/bqeReaderSDK -emulate(para compilar)

    ./emulate.sh -hackers -disable_adobe -prefix /home/alex/program/cervantes/bqeReaderSDK (para compilar y ejecutar de una vez)

    Esperamos que te sirva de ayuda.    

    Saludos.


  • Hola Maz,

    Solucionado el problema. Siguiente 🙂

    Primero, la estructura de directorios que tengo es esta:

    /home/alex/program/cervantes/lector/ -> Repositorio Mercurial con el código
    /home/alex/program/cervantes/bq-sdk/ -> sdk pre-generado

    $ ls /home/alex/program/cervantes/bq-sdk/
    mx508-rootfs-devel  x86-rootfs  x86-rootfs-devel

    Entonces, para construir el proyecto, ejecuto lo siguiente:

    $ cd ~/program/cervantes/lector
    $ export QT_SELECT=qt4 # si no, me coge QT 5
    $ ./build.sh -hackers -disable_adobe -prefix /home/alex/program/cervantes/bq-sdk/ -emulate
    [ va haciendo hasta que falla: ]
    g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Iinc -I. -o bqLibepubUtils.o src/bqLibepubUtils.cpp
    src/bqLibepubUtils.cpp:23:18: fatal error: epub.h: No existe el archivo o el directorio
     #include <epub.h>
                      ^
    compilation terminated.
    make: *** [bqLibepubUtils.o] Error 1

    epub.h está en x86-rootfs-devel/usr/include/epub.h, parece que solo falta el '-I' correspondiente, así que añado lo siguiente en bqUtils/bqUtils.pro dentro del bloque else:

     INCLUDEPATH +=$$(ROOTFS)/usr/include

    y continuo:

    $ ./build.sh -hackers -disable_adobe -prefix /home/alex/program/cervantes/bq-sdk/ -emulate
    [ va haciendo hasta que falla otra vez ]
    g++ -m64 -shared -Wl,-soname,libbqModelLibrary.so.1 -o libbqModelLibrary.so.1.0.0 BookLocation.o BookInfo.o ModelBackendOneFile.o Model.o DeleteLaterFile.o MetaDataExtractor.o PdfMetaDataExtractor.o EpubMetaDataExtractor.o Fb2MetaDataExtractor.o moc_Model.o moc_IModelBackend.o moc_ModelBackendOneFile.o   -L/usr/lib/x86_64-linux-gnu -L../bqUtils/x86-lib -lbqUtils -lzip -L/home/alex/program/cervantes/bq-sdk//x86-rootfs-devel/usr/lib -lepub -lQtXml -lQtGui -lQtCore -lpthread
    /usr/bin/ld: se salta el /home/alex/program/cervantes/bq-sdk//x86-rootfs-devel/usr/lib/libepub.so incompatible mientras se busca -lepub
    /usr/bin/ld: no se puede encontrar -lepub
    collect2: error: ld returned 1 exit status
    make: *** [x86-lib/libbqModelLibrary.so.1.0.0] Error 1


    Por lo que veo, las librerías del SDK son de 32 bits, mientras que mi instalación es de 64. Tenéis SDK de 64 bits? Si no, tendría que hacer compilación cruzada, no?

    Por cierto, si alguien más se encuentra con problemas al compilar, puede que le falte instalar los paquetes libqt4-dev y libzip-dev (Ubuntu 13.10).

    Gracias,
    Àlex



  • Buenas enhorabuena por el fantástico trabajo que realizais, permitiéndonos "jugar" con las tripas de los ereaders.


    Estoy intentando compilar la Aplicación bqHelloWorld sin éxito de mercurial.

    Tengo el sdk pregenerado

    bqeReaderSDK-5.0.0.tar.bz2 que pusisteis en el  enlace en un post anterior.

    El error que me da es el siguiente:

    In file included from ../../program/bqeReaderSDK/mx508-rootfs-devel/usr/include/QtCore/qobject.h:48,
                     from ../../program/bqeReaderSDK/mx508-rootfs-devel/usr/include/QtCore/qcoreapplication.h:45,
                     from ../../program/bqeReaderSDK/mx508-rootfs-devel/usr/include/QtGui/qapplication.h:45,
                     from ../../program/bqeReaderSDK/mx508-rootfs-devel/usr/include/QtGui/QApplication:1,
                     from main.cpp:3:
    ../../program/bqeReaderSDK/mx508-rootfs-devel/usr/include/QtCore/qstring.h:84: note: the mangling of ‘va_list’ has changed in GCC 4.4
    main.cpp: In function ‘int main(int, char**)’:
    main.cpp:48: error: ‘class FrontLight’ has no member named ‘setEnabled’
    make: *** [main.o] Error 1


    Quito las referencias a esa función y al ejecutar el programa en el reader se ejecuta haciendo un Segmentation Fault.


    Mirando el código de la aplicación del reader veo que también se realiza una llamada a la función de Inicialización 

      FrontLight::staticInit();

    Sin embargo en el bqHelloWorld no se realiza.

    
    




    Si intento Inicializarla 
    El error que me da es el siguiente:

    /home/francisco/mercurial/bqqthelloworld/main.cpp:43: undefined reference to `FrontLight::staticInit()'



    Un Saludo y Muchas gracias.



  • Buenos días,


    Gracias chicos por vuestra participación, vamos a intentar ayudaros un poco vuestras dudas.

    @Alexm, como comentas, para emular es necesario que la maquina sea de 32 bits, si no es así en principio solo podrás hacer la compilación cruzada para DRM o buscar algún método alternativo para compilar y ejecutar en 32 bits.

    @fjcalvo, el bqHelloWorld y la librería bqHAL separada lo lanzamos inicialmente antes de haber publicado nuestra aplicación de lectura Cervantes bajo código GPL para facilitar un punto de partida. En el ultimo SDK no se incluye las librerias de bqHAL separadas porque ya se encuentra el código publicado en el repositorio: https://bitbucket.org/mundoreader/cervantes. Nosotros te sugeriríamos trabajar con esta aplicación de lectura en  vez de bqHelloWorld ahora que esta disponible, encontrarás mucho más código de referencia para "jugar" un poco con él y aparte se puede emular en el PC. No obstante, también tienes el código de bqHAL disponible para crear la librería.

    Un saludo