Apache OpenOffice (AOO) Bugzilla – Issue 62021
OOB680_m1: npsdk: assert.h not found
Last modified: 2006-04-20 12:24:13 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:~>
set target.
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' ...
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>
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:~>
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 ).
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'
After commenting out this line, the build continues. /me wonders what other variables is Sun using to get this to compile...
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.
It somehow gets found via 'INCLUDE' environment variable which still contains the compiler include directory even is 'SOLARINC' is unset.
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?
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.
Fixed on HEAD and mws_oob680, will go into OOB680 m2.
> 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.
*** Issue 62087 has been marked as a duplicate of this issue. ***
.