Issue 62021 - OOB680_m1: npsdk: assert.h not found
Summary: OOB680_m1: npsdk: assert.h not found
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: current
Hardware: All Windows Server 2003
: P1 (highest) Trivial (vote)
Target Milestone: OOo 2.0.2
Assignee: hjs
QA Contact: issues@tools
URL:
Keywords:
: 62087 (view as issue list)
Depends on:
Blocks: 61850
  Show dependency tree
 
Reported: 2006-02-14 06:00 UTC by pavel
Modified: 2006-04-20 12:24 UTC (History)
6 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description pavel 2006-02-14 06:00:55 UTC
Hi,

my build on Windows (cygwin):

=============
Building project np_sdk
=============
/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/np_sdk/mozsrc
mkout -- version: 1.6
/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/np_sdk/mozsrc------------------------------
Making: ../wntmsci10.pro/slo/npwin.obj
guw.pl /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe -Zm500 -wd4251 -wd4275
-wd4290 -wd4675 -wd4786 -wd4800 -Zc:forScope -GR -c -nologo -Gs  -I.  -I.
-I../inc -I../inc -I../WIN/inc -I../wntmsci10.pro/inc     -I. -I../res -I. -Gy
-Ob1 -Oxs -Oy- -Gd  -Zi -Fd../wntmsci10.pro/misc/_ooo_st_npsdk.PDB    -DWNT
-DWNT -DNT351 -DMSC -DM1310 -DINTEL -D_USE_NAMESPACE -D_X86_=1 -DFULL_DESK
-DSTLPORT_VERSION=400 -DWINVER=0x400 -D_WIN32_IE=0x400 -D_MT -DCPPU_ENV=msci
-DSUPD=680 -DPRODUCT -DNDEBUG -DPRODUCT_FULL -DOSL_DEBUG_LEVEL=0 -DOPTIMIZE
-DEXCEPTIONS_OFF -DCUI -DSOLAR_JAVA -DOOB680=OOB680   -DSHAREDLIB -D_DLL_
-DWIN32 -D_MT -D_DLL -DWIN32 -D_MT -D_DLL -DMULTITHREAD -W3
-Fo../wntmsci10.pro/slo/npwin.obj
/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/np_sdk/mozsrc/npwin.cpp 

guw.pl /cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/bin/cl.exe @/tmp/mkb06176
npwin.cpp
f:\home\pavel\BuildDir\ooo_OOB680_m1_src\np_sdk\mozsrc\jri_md.h(45) : fatal
error C1083: Cannot open include file: 'assert.h': No such file or directory
dmake:  Error code 2, while making '../wntmsci10.pro/slo/npwin.obj'
---* tg_merge.mk *---

ERROR: Error 65280 occurred while making
/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/np_sdk/mozsrc
dmake:  Error code 1, while making 'build_instsetoo_native'
---*  *---
+ date
Mon Feb 13 23:54:13 CEST 2006
+ echo 'Dmake failed, fix the bug above.'
Dmake failed, fix the bug above.
+ read
pavel@drogo:~>
Comment 1 pavel 2006-02-14 06:09:54 UTC
set target.
Comment 2 rt 2006-02-14 09:08:39 UTC
In my build 'assert.h' gets found in the compilers include directory. Allthough
that directory is not listed in the include path given with '-I' ...
Comment 3 pavel 2006-02-14 09:13:59 UTC
rt: where exactly?

I do have the following files:

pavel@drogo:/cygdrive/c/Program Files> find . -name assert.h 2>/dev/null
./Microsoft SDK/include/Win64/crt/assert.h
./Microsoft SDK/Samples/Com/Fundamentals/Include/assert.h
./Microsoft SDK/src/crt/assert.h
./Microsoft Visual Studio .NET 2003/Vc7/crt/src/assert.h
./Microsoft Visual Studio .NET 2003/Vc7/include/assert.h
pavel@drogo:/cygdrive/c/Program Files> 
Comment 4 pavel 2006-02-14 09:15:49 UTC
pavel@drogo:~> cat test.cxx 
#include <assert.h>

pavel@drogo:~> cl.exe test.cxx 
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

test.cxx
test.cxx(1) : fatal error C1083: Cannot open include file: 'assert.h': No such
file or directory
pavel@drogo:~> 
Comment 5 mikhail.voytenko 2006-02-14 09:19:35 UTC
MAV->HJS: Please take a look.
What for an environment is that? Is it offitially supported? If yes, why wasn't
the problem realized earlier? If not then this is no P1.
By the way, in this case the "assert.h" header can be just removed. But it looks
like a problem of the environment, since the header is placed in the compiler
installation ( at least  when I use the usual environment ).
Comment 6 pavel 2006-02-14 09:41:48 UTC
After removing assert.h, it fails to find excpt.h. It is in:

pavel@drogo:/cygdrive/c/Program Files> find . -name excpt.h
./Microsoft SDK/include/Win64/crt/excpt.h
./Microsoft SDK/src/crt/excpt.h
./Microsoft Visual Studio .NET 2003/Vc7/crt/src/excpt.h
./Microsoft Visual Studio .NET 2003/Vc7/include/excpt.h
pavel@drogo:/cygdrive/c/Program Files> 

The problem is because of empty SOLARINC:

pavel@linux:~/.ooo/ooo_OOB680_m1_src/np_sdk> grep SOLARINC mozsrc/makefile.mk 
SOLARINC=
pavel@linux:~/.ooo/ooo_OOB680_m1_src/np_sdk> 

rt: can you please check the build in your environment? How it could find the files?

In my environment:

SOLARINC=' -I.
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solver/680/wntmsci10.pro/inc/external
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solver/680/wntmsci10.pro/inc
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solenv/wntmsci10/inc
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solenv/inc
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/res
-I/cygdrive/f/home/pavel/BuildDir/ooo_OOB680_m1_src/solver/680/wntmsci10.pro/inc/stl
-I/cygdrive/c/J2SDK1~1.2_0/include/win32 -I/cygdrive/c/J2SDK1~1.2_0/include
-I/cygdrive/c/PROGRA~1/MICROS~2/include
-I/cygdrive/c/PROGRA~1/MICROS~1.NET/Vc7/include -I/cygdrive/e/MICROS~1.0SD/include'
Comment 7 pavel 2006-02-14 09:43:48 UTC
After commenting out this line, the build continues.

/me wonders what other variables is Sun using to get this to compile...
Comment 8 rt 2006-02-14 10:01:56 UTC
pavel: For me those headers get taken from msvc7net3\include; a directory which
should be equivalent to your './Microsoft Visual Studio .NET 2003/Vc7/include/'.
But I really cannot see why it gets found there, on the command line in my
4nt-shell there is no such include path. I'm still investigating, but probably I
need Ause to help me. 
Comment 9 rt 2006-02-14 10:24:36 UTC
It somehow gets found via 'INCLUDE' environment variable which still contains
the compiler include directory even is 'SOLARINC' is unset.
Comment 10 pavel 2006-02-14 10:54:11 UTC
INCLUDE is in DOS format in OOo environment:

pavel@drogo:~/BuildDir/ooo_OOB680_m1_src> echo $INCLUDE
C:\Program Files\Microsoft SDK\Include\.;E:\Microsoft Visual Studio
.NET2002\FrameworkSDK\include\;C:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1\include\

What is the value in Sun environment?
Comment 11 rt 2006-02-14 12:03:28 UTC
a) This build issue should be solved by simply remove line 44 of
np_sdk/mozsrcmakefile.mk
SOLARINC=
I'll do so as masterfix on OOB680 and SRC680.

b) There still is the question why %INCLUDE contains lot more in Sun environment
as in yours. I have
> echo %INCLUDE
;.;o:\OOB680\wntmsci10.pro\inc\stl;;o:\OOB680\wntmsci10.pro\inc;o:\OOB680\src\solenv\wntmsci10\inc;;n:\msvc7net3\PlatformSDK\include;n:\msvc7net3\Sdk\v1.1\include;n:\msvc7net3\DirectXSDK\include;n:\msvc7net3\include;n:\msvc7net3\include\sys;o:\OOB680\src\solenv\inc;;
Ause is investigating on this, perhaps he'll open a follow-up issue.
Comment 12 rt 2006-02-14 12:30:18 UTC
Fixed on HEAD and mws_oob680, will go into OOB680 m2.
Comment 13 quetschke 2006-02-14 16:30:10 UTC
> b) There still is the question why %INCLUDE contains lot more in Sun environment
> as in yours. I have
> > echo %INCLUDE
>;.;o:\OOB680\wntmsci10.pro\inc\stl;;o:\OOB680\wntmsci10.pro\inc;o:\OOB680\src\solenv\wntmsci10\inc;;n:\msvc7net3\PlatformSDK\include;n:\msvc7net3\Sdk\v1.1\include;n:\msvc7net3\DirectXSDK\include;n:\msvc7net3\include;n:\msvc7net3\include\sys;o:\OOB680\src\solenv\inc;;
> Ause is investigating on this, perhaps he'll open a follow-up issue.

Because there was some clean-up on the OOo side that obviously was never
duplicated to hamburgs environment. Having SOLARINC *and8 INCLUDE is error prone
and the DOS style INCLUDE variable was removed. Would be nice if you guys would
also clean up a little.

Hint, have a look at iz61638.
Comment 14 rt 2006-02-15 14:00:00 UTC
*** Issue 62087 has been marked as a duplicate of this issue. ***
Comment 15 hjs 2006-04-20 12:24:13 UTC
.