Undefined reference to ucnv_open_58
-
Hello everyone,
I am trying to install Qt6.4, on ubuntu 22.04, as part of a prerequisite from another software.
At the very beginning of the building step, I get the following error message:qstringconverter.cpp:(.text+0x311d): undefined reference to `ucnv_open_58'
It goes with other a lot of other messages, all related to unicode, which is installed on my machine.
I checked qstringconverter.cpp and cannot even find a reference to uncv_open_58.
This '58' is especially puzzling to me.
This is my first build and installation of Qt so I'm very new to this.Thank you very much in advance for your suggestions.
-
Hi and welcome to devnet,
Are you building Qt yourself ?
In any case, that's a method of the ICU library.
-
Hi and welcome to devnet,
Are you building Qt yourself ?
In any case, that's a method of the ICU library.
-
I think I may have found the solution to the problem.
I had anaconda3 installed before before building Qt and some ICU methods were linked to the libraries in anaconda, and some others in /usr of my machine. The problem is that both use different versions of ICU, hence the undefined reference. A similar issue has been reported here.
I used a same fix as proposed in the link above: uninstalling anaconda, building and installing Qt, reinstalling anaconda.
It must also be possible to change all the references to the packages in anaconda in the generated CMakeCache file, but it looks tedious and I don't know of any way to do that automatically.I will check that everything is alright and mark the topic as solved.
-
One other simpler thing to do: disable the automatic loading of the conda base environment. That way it does not interfere with your system.