oe2.2 - Required fixes to build with gcc5 (old title: oe2.2 - gmp mit gcc5 (5.2.1))

  • Hallo zusammen,


    Nachdem ich bereits einige gcc5-Probleme überwinden konnte, komme ich nun bei gmp nicht mehr weiter. Ich kriege immer folgenden Fehler:


    Code
    mpn/.libs/bdiv_dbm1c.o mpn/.libs/redc_1.o m/usr/bin/ld: mpn/.libs/invert_limb.o: relocation R_X86_64_PC32 against protected symbol `__gmpn_invert_limb_table' can not be used when making a shared object
    /usr/bin/ld: final link failed: Bad value
    
    
    collect2: error: ld returned 1 exit status
    
    
    Makefile:748: recipe for target 'libgmp.la' failed
    make[2]: *** [libgmp.la] Error 1


    Im Netz findet man nur den Hinweis, dass im bb-File folgende Ergänzung vorgenommen werden soll:

    Code
    CFLAGS += "-fPIC -DPIC -fgnu89-inline"
    BUILD_CFLAGS += "-fPIC -DPIC -fgnu89-inline"


    Diese beheben den Fehler jedoch nicht. Hat jemand von euch noch eine Idee?


    Gruss
    dre

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

    2 Mal editiert, zuletzt von dre ()

  • Da ich ubuntu nutze, würde das gehen. Gmp wäre glaub das letzte. Binutils, cross-locale-dev, ncurses und subversion hab ich bereits angepasst.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • mittlerweile konnte ich alle probleme lösen bezüglich gmp. nun bricht es mir jedoch bei dreambox-image-deb (schritt do_rootfs) ab.


    Im log sehe ich viele


    Code
    error creating hard link: './lib/libstdc++.so.6.0.18': No such file or directory.


    ./lib/libstdc++.so.6.0.18 ist nur ein beispiel. ist natürlich immer was anderes.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Danke für die Rückmeldung. Werde ich dann mal versuchen in den nächsten Tagen. Besteht Interesse an meinen Anpassungen, damit das alles durchläuft? Sind ja diverse recipes, die Probleme machen.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Ok, dann leg ich mal los :winking_face:


    cross-localdef-native
    opendreambox/openembedded-core/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb

    Code
    alt:
    CFLAGS += "-DNOT_IN_libc=1"
    
    
    neu:
    CFLAGS += "-DNOT_IN_libc=1 -fgnu89-inline"

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • binutils-native
    opendreambox/openembedded-core/meta/recipes-devtools/binutils/binutils.inc


    opendreambox/openembedded-core/meta/recipes-devtools/binutils/binutils_2.23.2.bb


    opendreambox/openembedded-core/meta/recipes-devtools/binutils/binutils_2.23.2.inc


    I had to rebuild all packages from scratch and it seems the three patches are not required. I suggest to try to build without them first.



    Patch 1:


    Patch 2:


    Patch 3:

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

    Einmal editiert, zuletzt von dre ()

  • libgpg-error
    opendreambox/conf/local-ext.conf

    Code
    CPPFLAGS_append_pn-libgpg-error = " -P"


    I'm not sure whether local-ext.conf must really be adjusted but it does not harm to do it.


    opendreambox/openembedded-core/meta/recipes-support/libgpg-error/libgpg-error_1.12.bb

    Code
    old:
    SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.bz2 \
               file://pkgconfig.patch"
    
    
    new:
    SRC_URI = "ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-${PV}.tar.bz2 \
               file://pkgconfig.patch \
    	   file://makefile.patch"


    makefile.patch:


    Source of the patch: https://dev.openwrt.org/ticket/20465

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

    2 Mal editiert, zuletzt von dre ()

  • ncurses-native
    opendreambox/conf/local-ext.conf

    Code
    CPPFLAGS_append_pn-ncurses-native = " -P"


    Das hatte ich mal noch bei uns intern gepostet. Bin mir aber nicht mehr sicher, ob es wirklich noch benötigt wird. Schaden tuts aber sicher auch nicht.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • mal alles gelöscht in temp und sstate-cache und dann den build neu angestossen (natürlich zuerst tar-replacement-native gebaut). sieht schon viel besser aus. aber: jetzt brichts in opendreambox_rootfs_postprocess ab. Muss mal noch schauen, was das ist. so wirklich ein fehler steht nicht im log.


    EDIT: das muss ich jetzt nicht verstehen. statt bitbake -Dv dreambox-image hab ich bitbake -D dreambox-image gemacht und alles lief durch

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

    Einmal editiert, zuletzt von dre ()

  • gmp
    opendreambox/openembedded-core/meta/recipes-support/gmp
    I added the recipe for gmp 6.0.0 which can be found here. Download all files and place them in the gmp folder.


    As texinfo and texinfo-dummy-native are required I downloaded them as well.


    The first file must be placed in opendreambox/openembedded-core/meta/classes while the second goes to opendreambox/openembedded-core/meta/recipes-extended/texinfo-dummy-native.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • subversion
    opendreambox/openembedded-core/meta/recipes-devtools/subversion/subversion_1.7.10.bb


    Add the following:

    Code
    CPPFLAGS += "-P"
    BUILD_CPPFLAGS += "-P"

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Hi,


    ich versuche gerade ebenfalls zu bauen aber bin auf dasselbe Problem gestossen.




    Danke für eure Hilfe.


    Dirri




    binutils-2.23.2/bfd/elf64-alpha.c:3588:11: error: switch condition has boolean value [-Werror=switch-bool]
    | switch (!dynamic && !info->link_info->shared)


    Summary: 1 task failed:
    virtual:native:/home/dirri/opendreambox/openembedded-core/meta/recipes-devtools/binutils/binutils_2.23.2.bb, do_compile
    Summary: There was 1 WARNING message shown.
    Summary: There was 1 ERROR message shown, returning a non-zero exit code.
    Makefile:209: recipe for target 'image' failed
    make: *** [image] Error 1

    2 Mal editiert, zuletzt von dirri () aus folgendem Grund: update

  • Steht doch oben bei binutils-native.

    Hi, die patches habe ich auch so wie oben angelegt und das file entsprechend geändert...
    Ich schaue nochmal nach..


    Danke schonmal!


    EDIT: War ein schnöder typo meinerseits im binutils bb file! .... --disable-werrorwq !
    Zumindest baut er jetzt weiter! jipiee!

    Einmal editiert, zuletzt von dirri ()

  • Danke für die Rückmeldung. Werde ich dann mal versuchen in den nächsten Tagen. Besteht Interesse an meinen Anpassungen, damit das alles durchläuft? Sind ja diverse recipes, die Probleme machen.

    Hi, dre


    Sorry for using English. Would you mind sharing your changes here?
    Danke!


    Regards..