Issue 49856 - OOo build fails with current Platform SDK - April 2005 Edition
Summary: OOo build fails with current Platform SDK - April 2005 Edition
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: current
Hardware: PC Windows, all
: P3 Trivial (vote)
Target Milestone: OOo 2.0
Assignee: hjs
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-25 14:25 UTC by quetschke
Modified: 2007-10-01 21:19 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Patch to let configure catch a libcp.lib (934 bytes, patch)
2005-05-28 17:56 UTC, quetschke
no flags Details | Diff
Config Log (18.37 KB, text/plain)
2007-09-27 01:01 UTC, friendsinmelb
no flags Details
Compile Log with LIBCP.LIB file on the system (5.74 KB, text/plain)
2007-09-27 01:01 UTC, friendsinmelb
no flags Details
Compile log without LIBCP.LIB file (5.74 KB, text/plain)
2007-09-27 01:02 UTC, friendsinmelb
no flags Details
log file with full MPSDK installation and removed libcp (6.22 KB, text/plain)
2007-09-27 06:18 UTC, friendsinmelb
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description quetschke 2005-05-25 14:25:48 UTC
While setting up a new build environment I found that the build of icu fails
with the current
"Microsoft® Windows Server 2003 SP1 Platform SDK - April 2005 Edition"
I installed
  MS Windows Core SDK
  MS Web Workshop (IE) SDK
  MS Internet Information Server (IIS) SDK
  MS Data Access Services (MDAC) SDK
  MS Windows Installer SDK
from the SDK.

In the OOo environment ILIB (and therefore LIB) uses the following order:
ILIB=(OOoLibs):
     (Java Libs):
     (PSDK Libs):          (1)
     (Framework SDK from .NET2003 Libs):
     (.NET 2003 Libs):     (2)
     (DirectX SDK Libs)

If I place the PSDK libs (1) behind the actual compiler libs (2) the build
of icu (and the rest? The build is still running and currently in dbaccess )
finishes.

But with the unpatched, and IMHO correct order it fails, see errorlog at the
end.

What is the order of the lib dirs in the Hamburg environment? How to proceed
from here?

  Volker

Errorlog:
Generating Code...
	link.exe @c:\DOKUME~1\q\LOKALE~1\Temp\nm3668.tmp
   Creating library .\..\..\..\lib\icuio.lib and object .\..\..\..\lib\icuio.exp
ustream.obj : error LNK2019: unresolved external symbol "public: void __thiscall
std::locale::facet::_Register(void)" (?_Register@facet@locale@std@@QAEXXZ)
referenced in function "class std::ctype<char> const & __cdecl
std::use_facet<class std::ctype<char> >(class std::locale const &)"
(??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z)
ustream.obj : error LNK2019: unresolved external symbol "public: class
std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int)const
" (?_Getfacet@locale@std@@QBEPBVfacet@12@I@Z) referenced in function "class
std::ctype<char> const & __cdecl std::use_facet<class std::ctype<char> >(class
std::locale const &)"
(??$use_facet@V?$ctype@D@std@@@std@@YAABV?$ctype@D@0@ABVlocale@0@@Z)
..\..\..\bin\icuio26.dll : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
Stop.
NMAKE : fatal error U1077: 'c:\PROGRA~1\MICROS~1.NET\Vc7\bin\nmake.exe' : return
code '0x2'
Stop.
dmake:  Error code 2, while making './wntmsci10.pro/misc/build/so_built_so_icu'
---* tg_merge.mk *---
Comment 1 quetschke 2005-05-25 20:59:55 UTC
I just want to document my findings after our discussion on IRC:
[13:37] <ause>	vq: i just peeked around in the ms compiler header.
        locale:Getfacet here is located in the include file "xlocale" and
        presumely supplied be msvcprt.lib.
[13:37] <ause>	vq: maybe updating PSDK intruduces some incompatible changes
        there...
I moved all xlocale files to xlocale.xxx and rebuild. No file complained that
missing header but I got the same error while linking.

[14:07] [vq] ause: But now the funny part: I only changed the order of LIB to
        fix the problem, and not the includes. Even more, msvcprt.lib is not
        in the PSDK.

[14:09] <ause>	vq: got something funny too: looked for Getfacet in icu here.
        no reference...

[14:33] <ause>	vq: could you try to add msvcprt.lib to the link flags in
        icu/wntmsci10.pro/misc/build/icu/source/extra/ustdio manually?
        just a test to see if it removes the need to reorder...
[14:33] <ause>	vq: of cause in the *.mak there...
I didn't try that, but:

[14:49] [vq] ause: Another grep. The only occurence of Getfacet in the 2005
        psdk in a *.lib file is in libcp.lib.

and after moving that lib to libcp.lib.xxx icu builds to the end.

Suggestions?
Comment 2 quetschke 2005-05-28 17:56:12 UTC
Created attachment 26642 [details]
Patch to let configure catch a libcp.lib
Comment 3 quetschke 2005-05-28 18:06:28 UTC
The previous patch lets configure error out if a libcp.lib is found in the
$PSDK_HOME/lib/ directory.

The old 2003 PSDK didn't contain that library so this is not a problem
until MS releases the next PSDK that suddenly requires this dll.

I committed the pach to CSW vq16.

I'm not 100% sure that this is the right thing to do but with that dll removed
I can build OOo to the end.

vq->ause: Can you verify that this is a valid solution for this problem, or
assign to one of your MS compiler gurus to have a look at it?

Once this issue gets integrated I will update our build instructions on how
to build OOo with the current Platform SDK.
Comment 4 quetschke 2005-05-28 18:07:29 UTC
vq->ause: Please check/redirect.
Comment 5 quetschke 2005-05-28 18:08:15 UTC
Oops, I meant FIXED ;)
Comment 6 hjs 2005-06-06 14:15:03 UTC
.
Comment 7 hjs 2005-07-15 13:51:45 UTC
.
Comment 8 friendsinmelb 2007-09-26 05:22:17 UTC
Hello Everyone

I'm kind of stuck with this issue (49856), and have been trying to solve it 
for quite some time with no success. 

I tried removing/renaming libcp.lib as suggested but I got an error 
saying "Some (all) files of the Windows Installer SDK are missing, please 
install."

I'm sure what to do next, so any suggestions will be helpful.

Thanks & Regards
Comment 9 quetschke 2007-09-26 16:41:31 UTC
@friendsinmelb: Provide more details:

  http://wiki.services.openoffice.org/wiki/Debug_Build_Problems
Comment 10 friendsinmelb 2007-09-27 01:01:02 UTC
Created attachment 48530 [details]
Config Log
Comment 11 friendsinmelb 2007-09-27 01:01:40 UTC
Created attachment 48531 [details]
Compile Log with LIBCP.LIB file on the system
Comment 12 friendsinmelb 2007-09-27 01:02:06 UTC
Created attachment 48532 [details]
Compile log without LIBCP.LIB file
Comment 13 friendsinmelb 2007-09-27 01:05:00 UTC
vq, Thanks for your response.

1. I downloaded "core source package" and "system source package" from 
http://download.openoffice.org/2.3.0/source.html location. 

2. Could not find mybuild.log file.

3. I compied compilation switches from 
http://wiki.services.openoffice.org/wiki/Windows URL and edited as per my 
system configuration. Switch used:

./configure  --disable-build-mozilla --with-use-shell=bash --disable-activex --
with-win32 --with-distro=NovellWin32
--with-tag=src680-m190 --with-cl-home="/cygdrive/c/Program Files/Microsoft 
Visual Studio 8/VC"
--with-csc-path="/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v2.0.50727" --
with-midl-path="/cygdrive/c/Program 
Files/Microsoft Platform SDK/Bin" --with-frame-home="/cygdrive/c/Program 
Files/Microsoft Platform SDK" --with-ant-home=/cygdrive/c/apache-ant-1.7.0 
--with-jdk-home=/cygdrive/c/j2sdk1.4.2_15 --disable-directx --with-nsis-
path="/cygdrive/c/Program Files/NSIS"

I'm attaching Config.log for your reference.

4. Path: /usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Program 
Files/Microsoft DirectX SDK (August 
2007)/Utilities/Bin/x86:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdr
ive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Microsoft SQL 
Server/90/Tools/binn/:/cygdrive/c/Program Files/Microsoft Visual Studio .NET 
2003/Common7/IDE


5. Could not find the environment script.

vq, i'm also attaching compile logs with and without libcp.lib. In first case 
i.e. with libcp.lib available compilation fails with error "Some module do not 
build correctly with MS Platform SDK - April 2005. Edition if the library 
(/cygdrive/c/progra~1/mic977~1/lib/libcp.lib) is found. Remove/rename/backup 
that file and restart configure. Details about this problem can be found in 
issue 49856".

If I rename libcp.lib I get an error saying "Some (all) files of the windows 
installer sdk are missing, please install".


I hope this helps in resolving the issue, do let me know if I can be of any 
further assistance.

Regards
Rahul

Note: I've attached 3 files for your reference using "Create a new attachment" 
link.
Comment 14 quetschke 2007-09-27 02:56:53 UTC
How are you building? You talk about compiling but you never start a build, all
I see is a stuck configure command?

Something is weird, both your 
 CompileLog_With libcp.txt
and
 CompileLog_Without libcp.txt
end with:

...
checking for PSDK files... 

How do you capture the logfile?

You should do (in bash, in config_office/):

$ ./configure <put your switches here> >& myconfig.log


Additionally please report what:

$ ./oowintool --psdk-home

reports.
Comment 15 quetschke 2007-09-27 03:02:22 UTC
Oh, and another thing. Did you install *ALL* needed parts of the PSDK?

You need the MDAC SDK, the Core SDK and the Internet Development SDK. If in doubt,
install all parts.
Comment 16 friendsinmelb 2007-09-27 06:18:07 UTC
Created attachment 48539 [details]
log file with full MPSDK installation and removed libcp
Comment 17 friendsinmelb 2007-09-27 06:18:46 UTC
vq, I reinstalled Microsoft PSDK (all the modules) and now when I 
execute ./configure (after removing libcp.lib file) I get an error 
saying "\patch\ not found in $PATH, install development tool named \patch". 
I'm attaching log files for your reference. 

./oowintool --psdk-home returns "/cygdrive/C/Program Files/ Microsoft Platform 
SDK".

I'm following the instructions as mentiond on the OpenOffice Wiki 
(http://wiki.services.openoffice.org/wiki/Windows) and i've reached the step 
where I'm suppose to configure the environment.

vq, i'm not sure if that matters or not but while installing various software 
pre-requirements, installation for instmsiw.exe and instmsia.exe failed. 
saying "Wrong OS or OS version of application"
Comment 18 quetschke 2007-10-01 21:19:00 UTC
The purpose of configure is to check if you satisfy all prerequisites to build
OOo.

This:

checking for patch... no

and the following error shows that patch is missing. Please follow
 http://wiki.services.openoffice.org/wiki/Windows
and
 http://tools.openoffice.org/dev_docs/build_windows_tcsh.html
to find a list of the needed requirements and install them.

Please write further problem reports to tools@dev.openoffice.org,
issues are for particular problems and not general help support.