Libicu, needed by Qt5Core, compilation issues. Please help!! Worked fine in 18.04, but not 16.04.
-
Hello QT friends. Thank you taking the time to read this.
I had been working on this project in Ubuntu 18.04 LTS and had been working with multiple libraries utilizing Protobuf, GRPC, GNU Radio, ArcGIS SDK, among a few other things.
Down the road I find out we have to STIG the machine, some government security process, which in the end, made us downgrade to 16.04 LTS to fulfill all the requirements needed.
This caused a lot of issues for us in many ways, but nothing that wasn't fixable. Currently, I have been trying to figure out this next problem before seeking out for help. I've only been programming for a few years, so I am sorry if this turns out to be a single mistake.
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so -lGL -lpthread
cp -f -R "/home/labuser/dev/lewe-master/LeweGui/qdarkstyle" "/home/labuser/dev/build-LEWE2-Desktop_Qt_5_15_1_GCC_64bit-Debug/LeweGui"
make[1]: Leaving directory '/home/labuser/dev/build-LEWE2-Desktop_Qt_5_15_1_GCC_64bit-Debug/LeweApp'
/usr/bin/ld: warning: libicui18n.so.56, needed by /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicuuc.so.56, needed by /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicudata.so.56, needed by /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_getAlias_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
uenum_next_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference tou_strToUpper_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucnv_fromUnicode_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference touenum_close_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_openTimeZoneIDEnumeration_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucal_getDSTSavings_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_setMillis_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucol_getSortKey_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_get_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_compareNames_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucol_setAttribute_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_open_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_openTimeZones_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_getAvailableName_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_close_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_getDefaultName_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_getDefaultTimeZone_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucol_strcoll_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucnv_close_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_countAvailable_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
u_strToLower_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_getStandardName_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_getTimeZoneDisplayName_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucnv_setSubstChars_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
u_errorName_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucol_close_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucol_open_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucal_clone_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucal_open_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucal_openCountryTimeZones_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucnv_countAliases_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference toucal_inDaylightTime_56' /opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to
ucnv_toUnicode_56'
/opt/Qt/5.15.1/gcc_64/lib/libQt5Core.so: undefined reference to `ucnv_getMaxCharSize_56'
collect2: error: ld returned 1 exit status
Makefile:548: recipe for target 'LeweGui' failed
make[1]: Leaving directory '/home/labuser/dev/build-LEWE2-Desktop_Qt_5_15_1_GCC_64bit-Debug/LeweGui'
make[1]: *** [LeweGui] Error 1
Makefile:143: recipe for target 'sub-LeweGui-make_first' failed
make: *** [sub-LeweGui-make_first] Error 2
18:29:06: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project LEWE2 (kit: Desktop Qt 5.15.1 GCC 64bit)
When executing step "Make"
When I look at the folder, I can see the files are there but I don't know what I can do fix this issue. This works no problem in 18.04. It was working in Redhat 7 before finding out, it wasn't optimal for 16.04
What could be causing issues for me using 16.04 LTS. I've tried google searching the libs needed by QTCore and I'd tried setting LD paths and other types of linking issues, although I could be doing it wrong, but I am stuck and looking for guidance.
Thank you for reading. Have a good day.
-
Hi,
What version of ICU do you have on your system ?
-
Si here is your issue: it's below the version expected by the prebuilt version of Qt you are using.
-
@SGaist I understand.
labuser@THORE0001:/opt/Qt/5.15.1/gcc_64/lib$ ls
cmake libQt5Nfc.prl
libicudata.so libQt5Nfc.so
libicudata.so.56 libQt5Nfc.so.5
libicudata.so.56.1 libQt5Nfc.so.5.15
libicui18n.so libQt5Nfc.so.5.15.1
libicui18n.so.56 libQt5OpenGLExtensions.a
libicui18n.so.56.1 libQt5OpenGLExtensions.la
libicuio.so libQt5OpenGLExtensions.prl
libicuio.so.56 libQt5OpenGL.la
libicuio.so.56.1 libQt5OpenGL.prl
libicule.so libQt5OpenGL.so
libicule.so.56 libQt5OpenGL.so.5
libicule.so.56.1 libQt5OpenGL.so.5.15
libiculx.so libQt5OpenGL.so.5.15.1
libiculx.so.56 libQt5PacketProtocol.a
libiculx.so.56.1 libQt5PacketProtocol.la
libicutest.so libQt5PacketProtocol.prl
libicutest.so.56 libQt5PlatformCompositorSupport.a
libicutest.so.56.1 libQt5PlatformCompositorSupport.la
libicutu.so libQt5PlatformCompositorSupport.prl
libicutu.so.56 libQt5Positioning.la
libicutu.so.56.1 libQt5Positioning.prl
libicuuc.so libQt5PositioningQuick.la
libicuuc.so.56 libQt5PositioningQuick.prl
labuser@THORE0001:/opt/Qt/5.15.1/gcc_64/lib$ sudo apt install libicu-dev
[sudo] password for labuser:
Reading package lists... Done
Building dependency tree
Reading state information... Done
libicu-dev is already the newest version (55.1-7ubuntu0.5).
labuser@THORE0001:/opt/Qt/5.15.1/gcc_64/lib$ find libicu*
libicudata.so
libicudata.so.56
libicudata.so.56.1
libicui18n.so
libicui18n.so.56
libicui18n.so.56.1
libicuio.so
libicuio.so.56
libicuio.so.56.1
libicule.so
libicule.so.56
libicule.so.56.1
libiculx.so
libiculx.so.56
libiculx.so.56.1
libicutest.so
libicutest.so.56
libicutest.so.56.1
libicutu.so
libicutu.so.56
libicutu.so.56.1
libicuuc.so
libicuuc.so.56
libicuuc.so.56.1
Although I have libicu56 in the file directory, my machine uses 55. I'm assuming it needs to be 56, or is this not the case?
Cheers,
Armando o/ -
One thing you can test: use LD_LIBRARY_PATH to point to the folder where libicu 56 is located before starting your application.
-
Yes. Thank you SGaist.
In Kits, I was able to select my current kit and under Enviroment put: LD_LIBRARY_PATH=/opt/Qt/5.15.1/gcc_64/lib:${LD_LIBRARY_PATH}
And it worked for me. Cheers mate.
-
@zeethree50 said in Libicu, needed by Qt5Core, compilation issues. Please help!! Worked fine in 18.04, but not 16.04.:
And it worked for me
Great, so please don't forget to mark your post as solved!