[Development] Qt5.8/Linux : -version `Qt_5' not found error running lrelease building qttranslations

Thiago Macieira thiago.macieira at intel.com
Sun Jan 22 07:01:13 CET 2017


On sábado, 21 de janeiro de 2017 17:31:34 PST René J. V. Bertin wrote:
> Thiago Macieira wrote:
> >> OK, thanks, I didn't catch that bit from what Google told me. So I would
> >> not have gotten the same error if the symbol were present with another
> >> ELF version?
> > 
> > No, you'd have got the same error message...
> 
> Hmm, is that useful, not being able to distinguish between "symbol not
> available at all" and "symbol not available with this ELF version"?

The dynamic linker isn't going to perform extra checks to tell you more 
precise details. It searched for 
_ZN9QtPrivate16QStringList_joinERK11QStringList13QLatin1String@@Qt_5 and 
didn't find it. Searching for a specific symbol is easy because the symbol table 
is hashed and 97%+ of the symbols in QtCore can be found with just 5 string 
comparisons (average is 1.8). Without knowing which ELF versions may exist, it 
would need to do a full symbol search, which in my QtCore is 6223 comparisons.

Besides, it doesn't matter if 
_ZN9QtPrivate16QStringList_joinERK11QStringList13QLatin1String@@somethingelse 
exists, as it can't be used.

If you're trying to debug the issue, you can easily tell what case it is with 
readelf.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list