Important: Please read the Qt Code of Conduct -

Relocation Error, updating kernel

  • I'm upgrading my Embedded Linux OS from 2.6.10 to 2.6.18 and had to rebuild Qt for the updated kernel. However, I can't get a simple example Qt program running on the new OS. I keep getting a relocation error because of the linking. I believe that I cross-built Qt for 2.6.10 and 2.6.18 with the same configuration/options, but I'm not fully sure. When I look at the config.status, they match though. Also, when I do an ldd of the application between the two OSes, it's linked to the multithread tls libs in 2.6.10 but not so in 2.6.18. In both, I didn't add the -thread options. Thoughts?

    Do you think this error is Qt related? or is it with my embedded 2.6.18 filesystem?

    Example program used:

    ./mousecalibration: relocation error: /usr/local/qtopia/lib/ symbol readdir_r, version GLIBC_2.4 not defined in file with link time reference

    2.6.10# ldd ./mousecalibration => /usr/local/qtopia/lib/ (0x40020000)
    * => /usr/lib/ (0x4078b000) => /usr/local/qtopia/lib/ (0x407b6000) => /usr/local/qtopia/lib/ (0x40869000)
    * => /usr/lib/ (0x40a7d000)
    * => /lib/tls/ (0x40a95000)
    * => /lib/tls/ (0x40aa5000) => /lib/tls/ (0x40ab0000) => /usr/lib/ (0x40aca000) => /lib/tls/ (0x40b95000) => /lib/ (0x40c43000) => /lib/tls/ (0x40c54000)
    /lib/ (0x40000000)

    2.6.18# ldd ./mousecalibration => /usr/local/qtopia/lib/ (0x40026000) => /usr/local/qtopia/lib/ (0x4074d000) => /usr/local/qtopia/lib/ (0x407be000) => /lib/ (0x409d2000) => /lib/ (0x409dd000) => /usr/lib/ (0x409fa000) => /lib/ (0x40ace000) => /lib/ (0x40b54000) => /lib/ (0x40b67000)
    /lib/ (0x40000000)

    • Denotes missing things in new kernel

  • There are several topics related to you question on the forum like :

    You can click on a tag "embedded" on the right of your screen to see them all.

    They are sorted by using votes.

    Hope this helps you out.

Log in to reply