Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

./wtf/unicode/icu/UnicodeIcu.h:29:27: fatal error: unicode/uchar.h: no such file or directory



  • Development environment: Fedora 14, QT5.3.2, openssl1.0.2k;
    when I make the code of QT5.3.2, error as follows:

    g++ -c -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -pipe -O3 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -D_REENTRANT -MMD -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DEVICE_ORIENTATION=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GEOLOCATION=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_ORIENTATION_EVENTS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DHAVE_QTPOSITIONING=1 -DHAVE_QTSENSORS=1 -DWTF_USE_LIBXML2=1 -DENABLE_XSLT=1 -DWTF_USE_ZLIB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DHAVE_XCOMPOSITE=1 -DHAVE_XRENDER=1 -DHAVE_GLX=1 -DHAVE_FONTCONFIG=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DWTF_USE_PLUGIN_BACKEND_XLIB=1 -DPLUGIN_ARCHITECTURE_X11=1 -DENABLE_PLUGIN_PROCESS=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_VIDEO=1 -DWTF_USE_QT_MULTIMEDIA=1 -DHAVE_SQLITE3=1 -DENABLE_GAMEPAD=1 -DWTF_USE_GRAPHICS_SURFACE=1 -DWTF_USE_GLX=1 -DENABLE_TOUCH_SLIDER=1 -DWTF_USE_LEVELDB=1 -DHAVE_QTTESTSUPPORT=1 -DENABLE_ACCELERATED_2D_CANVAS=0 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_FONT_LOAD_EVENTS=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MICRODATA=0 -DENABLE_MOUSE_CURSOR_SCALE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOSNIFF=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_RESOURCE_TIMING=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SECCOMP_FILTERS=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_TEMPLATE_ELEMENT=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_THREADED_HTML_PARSER=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_USER_TIMING=0 -DENABLE_VIBRATION=0 -DENABLE_WEB_AUDIO=0 -DBUILDING_WTF -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtbase/mkspecs/linux-g++ -I. -I. -Iwtf -I../../Source -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit/Source/include -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtscript/include -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtscript/include/QtScript -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtbase/include -I/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtbase/include/QtCore -I.moc -o .obj/wtf/DateMath.o wtf/DateMath.cpp
    In file included from ./wtf/unicode/Unicode.h:32:0,
                     from ./wtf/text/ASCIIFastPath.h:31,
                     from ./wtf/text/WTFString.h:28,
                     from wtf/DateMath.h:54,
                     from wtf/DateMath.cpp:73:
    **./wtf/unicode/icu/UnicodeIcu.h:29:27: fatal error: unicode/uchar.h: no such file or directory**
    Compilation is interrupted.
    gmake[2]: *** [.obj/wtf/DateMath.o] error 1
    gmake[2]: Leaving the directory "/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit/Source/WTF"
    gmake[1]: *** [sub-Source-WTF-WTF-pro-make_first-ordered] error 2
    gmake[1]: leave the directory "/home/oneu/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit"
    gmake: *** [module-qtwebkit-make_first] error 2
    [root@localhost qt-everywhere-opensource-src-5.3.2]#
    

  • Lifetime Qt Champion

    Either use the -skip option or the more brutal way is to move the subfolder somewhere else.

    WebKit is used if you want to provide web support for your application. It has nothing to do with Qt network module.



  • Hi,
    Check the source code of QT5.3.2,
    #Include <unicode/uchar.h> in UnicodeIcu.h,
    because of path or others, "fatal error: unicode/uchar.h: no such file or directory" when making source code of QT5.3.2,

    The file UnicodeIcu.h is in the directory /home/user1/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit/Source/WTF/wtf/unicode/icu/,
    The file uchar.h is in the directory /home/user1/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit/Source/WTF/icu/unicode/,

    [root@localhost WTF]# pwd
    	/home/user1/Downloads/qt-everywhere-opensource-src-5.3.2/qtwebkit/Source/WTF
    [root@localhost WTF]# ls wtf/unicode/
    	CharacterNames.h  CollatorDefault.cpp  Collator.h  icu  ScriptCodesFromICU.h  Unicode.h  UnicodeMacrosFromICU.h  UTF8.cpp  UTF8.h  wchar
    [root@localhost WTF]# ls wtf/unicode/icu/   ///////////////here UnicodeIcu.h
    	CollatorICU.cpp  UnicodeIcu.h
    [root@localhost WTF]# ls icu/unicode/   ///////////////here uchar.h
    	bytestream.h    platform.h  rep.h         stringpiece.h  ucnv.h     uenum.h  umachine.h  unorm.h    uscript.h  utf16.h  utf_old.h  uversion.h
    	localpointer.h  ptypes.h    std_string.h  uchar.h        ucol.h     uiter.h  unistr.h    uobject.h  uset.h     utf8.h   utypes.h
    	parseerr.h      putil.h     strenum.h     ucnv_err.h     uconfig.h  uloc.h   unorm2.h    urename.h  ustring.h  utf.h    uvernum.h
    [root@localhost WTF]#
    

  • Lifetime Qt Champion

    Hi,

    Before going further: do you really need the WebKit module ?

    Unless you have the need for every module in Qt, you should only build what you actually use. That will shorten your build time and reduce your dependencies needs.



  • @SGaist
    Thank you,
    What is WebKit used for?
    Whether socket (http and https) will use WebKit?
    What should I do if I want to remove the WebKit when compiling QT5.3.2?


  • Lifetime Qt Champion

    Either use the -skip option or the more brutal way is to move the subfolder somewhere else.

    WebKit is used if you want to provide web support for your application. It has nothing to do with Qt network module.



  • @SGaist
    thanks, ./wtf/unicode/icu/UnicodeIcu.h:29:27: fatal error: unicode/uchar.h: no such file or directory

    I changed the ./wtf/unicode/icu/UnicodeIcu.h file #include <unicode/uchar.h> to #include <icu/unicode/uchar.h> , which can be passed by make.

    my configure: ./configure -prefix /usr/local/Qt-5.3.2-2 -qt-xcb -no-accessibility;
    (1) I want to know if the configure for compiling QT5.3 is correct?
    (2) Causes errors in the QT compilation process and needs to install some software.


  • Lifetime Qt Champion

    Nothing wrong with your configure call.

    Take a look at the dependency list provided by the documentation.

    Recommandation: use out of source builds. That will avoid polluting the sources with build artifacts and allow to easily start new builds if things go wrong or you want to experiment with various options.



  • @SGaist
    I skip compiling WebKit.
    my new configure: ./configure -prefix /usr/local/Qt-5.3.2-2 -qt-xcb -no-accessibility -skip qtwebkit


Log in to reply