Results 1 to 6 of 6

Thread: Patch #8 for Ice 3.3.0: IcePatch2 and non-ascii file names

  1. #1
    dwayne's Avatar
    dwayne is offline ZeroC Staff
    Name: Dwayne Boone
    Organization: ZeroC, Inc.
    Project: Internet Communications Engine
    Join Date
    Jan 2005
    Location
    St. John's, Newfoundland
    Posts
    397

    Patch #8 for Ice 3.3.0: IcePatch2 and non-ascii file names

    The following patch resolves issues with IcePatch2 when it is used with files with non-ascii names, such as chinese characters.

    To apply the patch:
    Code:
    cd Ice-3.3.0
    patch -p1 < IcePatch2.patch.txt
    and then recompile Ice. For Windows the patch utility can be obtained here.
    Attached Files Attached Files
    Last edited by dwayne; 12-08-2008 at 05:22 PM.

  2. #2
    cxq2003 is offline Registered User
    Name: Gem Chen
    Organization: University of National Defence
    Project: monitor 100+ Clients throught local area network
    Join Date
    May 2008
    Posts
    31
    after patch it.

    client.cpp link error.

  3. #3
    cxq2003 is offline Registered User
    Name: Gem Chen
    Organization: University of National Defence
    Project: monitor 100+ Clients throught local area network
    Join Date
    May 2008
    Posts
    31
    - Compiler :visual studio 2003 sp1
    - Operating system :windows xp sp2
    - Build flags (debug/release) :debug ( release also error)
    - The error message you are getting. :see following

    ps. I manually compiled the third-parties and ice 3.3.0 through visual studio 2003 sp1 successfully. Do you need it?


    D:\Ice-3.3.0-VC71\Ice-3.3.0>patch --binary -p1 < IcePatch2.patch.txt
    patching file cpp/include/IceUtil/StringUtil.h
    patching file cpp/src/IcePatch2/Calc.cpp
    patching file cpp/src/IcePatch2/Client.cpp
    patching file cpp/src/IcePatch2/Util.cpp
    patching file cpp/src/IceUtil/StringUtil.cpp

    D:\Ice-3.3.0-VC71\Ice-3.3.0>cd cpp
    D:\Ice-3.3.0-VC71\Ice-3.3.0>nmake /f Makefile.mak OPTIMIZE=no install
    ...


    "making install in IcePatch2"
    del /q ..\..\include\IcePatch2\FileInfo.h FileInfo.cpp
    ..\..\bin\slice2cpp.exe --ice --include-dir IcePatch2 --dll-export ICE_P
    ATCH2_API -I..\..\..\slice ..\..\..\slice\IcePatch2\FileInfo.ice
    move FileInfo.h ..\..\include\IcePatch2
    del /q ..\..\include\IcePatch2\FileServer.h FileServer.cpp
    ..\..\bin\slice2cpp.exe --ice --include-dir IcePatch2 --dll-export ICE_P
    ATCH2_API -I..\..\..\slice ..\..\..\slice\IcePatch2\FileServer.ice
    move FileServer.h ..\..\include\IcePatch2
    cl.exe /c -I. -I.. -I"C:\Ice-3.3.0-ThirdParty-VC71\include" -nologo -W3
    -WX -GR -EHsc -FD -D_CONSOLE -Zi -Gm -Od -D_DEBUG -MDd -GZ -I..\..\include -DWIN
    32_LEAN_AND_MEAN Util.cpp ClientUtil.cpp FileInfo.cpp FileServer.cpp
    Util.cpp
    FileInfo.cpp
    FileServer.cpp
    code generating...
    compiling...
    ClientUtil.cpp
    code generating......
    link.exe /LIBPATH:"C:\Ice-3.3.0-ThirdParty-VC71\lib" /LIBPATH:"..\..\lib
    " /nologo /FIXED:no /debug /incremental:yes /dll /pdb:..\..\bin\icepatch233d.p
    db Util.obj ClientUtil.obj FileInfo.obj FileServer.obj OS.obj /out:..\..\bin
    \icepatch233d.dll iced.lib iceutild.lib rpcrt4.lib advapi32.lib libbz2d.lib ssl
    eay32.lib libeay32.lib IcePatch2.res
    creating lib ..\..\bin\icepatch233d.lib and object ..\..\bin\icepatch233d.exp
    move ..\..\bin\icepatch233d.lib ..\..\lib\icepatch2d.lib
    cl.exe /c -I. -I.. -I"C:\Ice-3.3.0-ThirdParty-VC71\include" -nologo -W3
    -WX -GR -EHsc -FD -D_CONSOLE -Zi -Gm -Od -D_DEBUG -MDd -GZ -I..\..\include -DWIN
    32_LEAN_AND_MEAN Server.cpp FileServerI.cpp
    Server.cpp
    code generating...
    skipping...(no modify detected)
    FileServerI.cpp
    link.exe /LIBPATH:"C:\Ice-3.3.0-ThirdParty-VC71\lib" /LIBPATH:"..\..\lib
    " /nologo /FIXED:no /debug /incremental:yes /pdb:..\..\bin\icepatch2server.pdb
    setargv.obj Server.obj FileServerI.obj /out:..\..\bin\icepatch2server.exe iced
    .lib iceutild.lib rpcrt4.lib advapi32.lib icepatch2d.lib IcePatch2Server.res
    cl.exe /c -I. -I.. -I"C:\Ice-3.3.0-ThirdParty-VC71\include" -nologo -W3
    -WX -GR -EHsc -FD -D_CONSOLE -Zi -Gm -Od -D_DEBUG -MDd -GZ -I..\..\include -DWIN
    32_LEAN_AND_MEAN Client.cpp
    Client.cpp
    link.exe /LIBPATH:"C:\Ice-3.3.0-ThirdParty-VC71\lib" /LIBPATH:"..\..\lib
    " /nologo /FIXED:no /debug /incremental:yes /pdb:..\..\bin\icepatch2client.pdb
    setargv.obj Client.obj /out:..\..\bin\icepatch2client.exe iced.lib iceutild.lib
    rpcrt4.lib advapi32.lib icepatch2d.lib IcePatch2Client.res
    Client.obj : error LNK2019: undefined external symbol "__declspec(dllimport) class std:
    :basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __
    cdecl IceUtilInternal::toLower(class std::basic_string<char,struct std::char_tra
    its<char>,class std::allocator<char> > const &)" (__imp_?toLower@IceUtilInternal
    @@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$al locator@D@2@@std@@ABV23@@Z) ,
    this symbol in function "public: virtual bool __thiscall TextPatcherFeedback::noFileSummary
    (class std::basic_string<char,struct std::char_traits<char>,class std::allocator
    <char> > const &)" (?noFileSummary@TextPatcherFeedback@@UAE_NABV?$bas ic_string@D
    U?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中被引用
    ..\..\bin\icepatch2client.exe : fatal error LNK1120: 1 Unresolved Externals
    NMAKE : fatal error U1077: “link.exe” : 返回代码“0x460”
    Stop.
    NMAKE : fatal error U1077: “for” : 返回代码“0x1”
    Stop.
    NMAKE : fatal error U1077: “for” : 返回代码“0x1”
    Stop.
    Last edited by cxq2003; 12-05-2008 at 02:02 AM.

  4. #4
    fmoya is offline Registered User
    Name: Francisco Moya
    Organization: UCLM
    Project: Debian packages
    Join Date
    Oct 2004
    Posts
    51
    The error is pretty clear to me. nmake did not remade iceutil.dll and therefore new symbols are not available.

    The easy fix: delete lib\iceutild.lib and bin\iceutild.dll and recompile.
    Francisco Moya Fernandez
    Computer Architecture and Tecnology Group
    University of Castilla-La Mancha

    Debian Maintainer of ZeroC Ice packages.

  5. #5
    cxq2003 is offline Registered User
    Name: Gem Chen
    Organization: University of National Defence
    Project: monitor 100+ Clients throught local area network
    Join Date
    May 2008
    Posts
    31
    Quote Originally Posted by fmoya View Post
    The easy fix: delete lib\iceutild.lib and bin\iceutild.dll and recompile.
    Does not work!

    I tried it and it does not work!
    I even run "nmake /f Makefile.mak clean" before "nmake /f Makefile.mak OPTIMIZE=no install", errors keep the same as above!

  6. #6
    cxq2003 is offline Registered User
    Name: Gem Chen
    Organization: University of National Defence
    Project: monitor 100+ Clients throught local area network
    Join Date
    May 2008
    Posts
    31
    Quote Originally Posted by fmoya View Post
    The error is pretty clear to me. nmake did not remade iceutil.dll and therefore new symbols are not available.

    The easy fix: delete lib\iceutild.lib and bin\iceutild.dll and recompile.
    I found the problem and solved.
    In StringUtil.cpp, you must not put the toLower,toUpper,removeWhitespace functions body in #else segment that make the compilation error under windows xp .

    see attachment
    Attached Files Attached Files

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 1
    Last Post: 08-21-2008, 04:58 AM
  2. Replies: 1
    Last Post: 07-11-2007, 08:44 PM
  3. Replies: 0
    Last Post: 11-28-2006, 09:35 AM
  4. Replies: 2
    Last Post: 12-12-2005, 10:10 AM
  5. IcePach2 problem with czech file names
    By kovacm in forum Bug Reports
    Replies: 1
    Last Post: 11-28-2005, 02:00 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •