Apache OpenOffice (AOO) Bugzilla – Issue 18562
Project ODK does not (re-)build (missing directories)
Last modified: 2013-02-24 21:08:50 UTC
Building on Windows using tcsh stops in the ODK project. The last output is the following: >/cygdrive/g/oo_11rc3_src/odk/pack/checkbin >/usr/bin/perl ../../util/check.pl ../../wntmsci9.pro/bin/odk645 windows >".exe" . >./../wntmsci9.pro/misc/checkbin.txt >Check for windows >check binaries: ++++++++++++ >check packaging files: +++++++++ >check xml format specifiaction: >check config files: >check setting files: >check cpp docu: >++++---+-++--+++++++++++++++++++++++++++++++++++++++++++++++++++ >++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >++++ >++++++++++++++++++++++++-++++--+++++++-++++++++-+-++++++++++++ >check java docu: ++++++++++++ >check examples: >++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >+++++++++++++++++ >ERROR >dmake: Error code 12, while making 'checkit' Modifying the check.pl script so that it shows the directories it can't find, indicates the following directories are missing in odk/wntmsci9.pro/bin/odk645/docs/cpp/ref/names/ : com/sun/star/uno/Any com/sun/star/uno/Type com/sun/star/uno/Array com/sun/star/uno/Reference com/sun/star/uno/Sequence com/sun/star/uno/BaseReference Context remote_DisposingListener remote_Interface remote_Connection remote_Context remote_InstanceProvider After copying these directories from the 1.1RC2 tree that I had built successfully with the same building environment, to the 1.1RC3 tree, the ODK project built to completion. But this is, of course, an ugly workaround that should not at all be necessary. I will attach the output from the build of the complete project.
Created attachment 8688 [details] zip file containing build log
I now built 1.1RC4 without encountering this problem anymore. I suspect it may have had the same cause as issue 18561 ( http://www.openoffice.org/issues/show_bug.cgi?id=18561 )
forwarding to a more appropriate developer
There was a problem with autodoc but i have no idea (build error?) But it seems to work now. It definitely no problem in the odk module. Only the error gets visible in this module.
closing for now
.
It seems the same problem happens at my computer. Some info: Windows build, previously 1.1.0 HAD no problems, but at a recompilation on the SAME old tree, same Microsoft VC version, same TCSH, same Cygwin etc. it occoured. I tried on 1.1.1 , same build problem at project odk, just like at the reporers'. /cygdrive/g/openoffice/source/oo_1.1.1_src/odk/examples/DevelopersGuide/Charts /cygdrive/g/openoffice/source/oo_1.1.1_src/odk/pack/copying /cygdrive/g/openoffice/source/oo_1.1.1_src/odk/pack/gendocu /cygdrive/g/openoffice/source/oo_1.1.1_src/odk/pack/checkbin /usr/bin/perl ../../util/check.pl ../../wntmsci9.pro/bin/odk645 windows ".exe" . ./../wntmsci9.pro/misc/checkbin.txt Check for windows check binaries: ++++++++++++ check packaging files: +++++++++ check xml format specifiaction: check config files: check setting files: check cpp docu: ++++---+-++-- +++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + ++++++++++++++++++++++++-++++--+++++++-++++++++-+-++++++++++++ check examples: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++ ERROR dmake: Error code 12, while making '../../wntmsci9.pro/misc/checkbin.txt' echo: No match. ERROR: Error 65280 occurred while making /cygdrive/g/openoffice/source/oo_1.1.1_ The temp drive IS on a different drive (i:) from the source tree (g:) AND the processor WAS UPGRADED to AMD XP 2400 (!). So 18561 may be okay. Trying to recompile with a temp drive on the same drive. I think it should be assigned to 1.1.1 and reopened.
Still no success. I upgraded the cygwin environment, installed sp5 for visual studio 6, applied the 2 secs delay, tried the compilation in 4nt, changed the temporary directory to the same partition (all partitions are ntfs), tried java 1.4.2_04, checked makedepend, and other utilities, and it happens again and again. Currently i don't really have an idea which command (part, etc.) failes as only the checkbin reports the missing directory. So any advice could be great...
It seems the problem is from autodoc. To be more exact, It tries to find cppu docs in e.g. com directory, with a call csv::ploc::Directory -> GetContainedDirectories or something. This does not return the subdirectories, and thus it won't find com/sun/etc, boost, ... Directory class is defined in cosv package.
Different commands, same directory: G:\...\solver\645\wntmsci9.pro\inc\com>dir *.* /usr/bin/dir: *.*: No such file or directory dir : sun getdirectorycontained has const char * c_sANYDIR = "\\*.*"; String sNew; StreamStr sFilter(200); sFilter << StrPath() << c_sANYDIR; Why "*.*" ? Maybe cygwin, tcsh et al have problems with this? or msvcirt.lib problem in cosv?
//A sample modified ffind.c to show files.. to complie: cl ffind.c //ffind.c: #include <stdio.h> #include <io.h> #include <time.h> void main( void ) { struct _finddata_t c_file; long hFile; if( (hFile = _findfirst( "*.*", &c_file )) == -1L ) printf( "No files in current directory!\n" ); else { printf( "Listing of .c files\n\n" ); printf( "\nATTR SUB RDO HID SYS ARC FILE DATE %25c SIZE\n", ' ' ); printf( "---- --- --- --- --- --- ---- ---- %25c ---- \n", ' ' ); printf("%x",c_file.attrib); printf( ( c_file.attrib & _A_SUBDIR ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_RDONLY ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_SYSTEM ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_HIDDEN ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_ARCH ) ? " Y " : " N " ); printf( " %-12s %.24s %9ld\n", c_file.name, ctime( &( c_file.time_write ) ), c_file.size ); while( _findnext( hFile, &c_file ) == 0 ) { printf("%x",c_file.attrib); printf( ( c_file.attrib & _A_SUBDIR ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_RDONLY ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_SYSTEM ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_HIDDEN ) ? " Y " : " N " ); printf( ( c_file.attrib & _A_ARCH ) ? " Y " : " N " ); printf( " %-12s %.24s %9ld\n", c_file.name, ctime( &( c_file.time_write ) ), c_file.size ); } _findclose( hFile ); } } //ffind.c ends ---------------------- ATTR SUB RDO HID SYS ARC FILE DATE SIZE ---- --- --- --- --- --- ---- ---- ---- 2010 Y N N N N . Sun Apr 11 00:35:31 2004 0 2010 Y N N N N .. Sun Apr 11 00:35:31 2004 0 2010 Y N N N N a.b Sun Apr 11 00:04:49 2004 0 2020 N N N N Y a.txt Sun Apr 11 00:06:18 2004 4 2020 N N N N Y ffind.c Sun Apr 11 00:38:30 2004 1941 2020 N N N N Y ffind.exe Sun Apr 11 00:38:32 2004 49152 2020 N N N N Y ffind.obj Sun Apr 11 00:38:32 2004 2698 2010 Y N N N N sun Sat Apr 10 03:46:29 2004 0 a.b, a.txt and ffind are created by me in solver/...../inc/com note "2010" at dir sun...
Someone to reopen this bug and apply this patch to CVS? It seems that windows xp on my machine has special directory attributes and ploc_dir forgot to check directory status by the standard (bit operator) way... #--------------- --- cosv/source/storage/ploc_dir.cxx.orig 2003-03-18 14:48:51.000000000 +0100 +++ cosv/source/storage/ploc_dir.cxx 2004-04-11 01:12:34.227260800 +0200 @@ -201,7 +201,7 @@ bFindMore == 0; bFindMore = _findnext( hFile, &aEntry ) ) { - if (aEntry.attrib == _A_SUBDIR AND *aEntry.name != '.' ) + if ( ( (aEntry.attrib & _A_SUBDIR) == _A_SUBDIR) AND *aEntry.name != '.' ) { sNew = aEntry.name; o_rResult.push_back( sNew ); #-------------
/usr/bin/dir *.* correctly reports "No such file or directory" when only sun is in the directory. I reopen the issue.
Please have a second look. boldi did a thorough analysis.
I checked my patch, and it works correctly, so no more problems during ODK build, after the applied patch...
OK, I could reproduce this issue. It happens only on rebuilds, but should be fixed nevertheless. Reproduced on W2k / .NET 2002 / W32-tcsh. Oh, and the patch is approved. I'll commit it tomorrow as obvious if nobody beats me to it.
SW->JSC: seems to be one for you
Comitted following patch to cws_srx645_ooo112fix1 --- cosv/source/storage/ploc_dir.cxx 18 Mar 2003 13:48:51 -0000 1.5 +++ cosv/source/storage/ploc_dir.cxx 19 Apr 2004 23:42:44 -0000 @@ -201,7 +201,7 @@ bFindMore == 0; bFindMore = _findnext( hFile, &aEntry ) ) { - if (aEntry.attrib == _A_SUBDIR AND *aEntry.name != '.' ) + if ( ( aEntry.attrib & _A_SUBDIR ) AND *aEntry.name != '.' ) { sNew = aEntry.name; o_rResult.push_back( sNew ); vq->jsc: Please verify
JSC -> NP: Nikolai you are the better person to verify this because the fix is used by autodoc and you knows what is going on there. It's during the odk build but it fails when checking the generated C++ reference docu.
Its practically a drawing down of a fix we already did on SRC680. So, it's fixed.
and verified.
closed.