Issue 18562 - Project ODK does not (re-)build (missing directories)
Summary: Project ODK does not (re-)build (missing directories)
Status: CLOSED FIXED
Alias: None
Product: App Dev
Classification: Unclassified
Component: api (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: PC Windows XP
: P3 Trivial
Target Milestone: ---
Assignee: nikolai.pretzell
QA Contact: issues@api
URL:
Keywords:
Depends on: 27818
Blocks:
  Show dependency tree
 
Reported: 2003-08-23 10:51 UTC by simonbr
Modified: 2013-02-24 21:08 UTC (History)
3 users (show)

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


Attachments
zip file containing build log (62.63 KB, application/octet-stream)
2003-08-23 10:52 UTC, simonbr
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description simonbr 2003-08-23 10:51:40 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.
Comment 1 simonbr 2003-08-23 10:52:55 UTC
Created attachment 8688 [details]
zip file containing build log
Comment 2 simonbr 2003-08-24 08:44:02 UTC
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 ) 
Comment 3 ooo 2003-08-25 10:40:32 UTC
forwarding to a more appropriate developer
Comment 4 jsc 2003-11-28 15:34:24 UTC
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.
Comment 5 flibby05 2004-03-21 11:52:50 UTC
closing for now
Comment 6 flibby05 2004-03-21 11:53:05 UTC
.
Comment 7 boldi 2004-04-08 22:55:18 UTC
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.
Comment 8 boldi 2004-04-10 13:13:07 UTC
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...
Comment 9 boldi 2004-04-10 22:20:20 UTC
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.
Comment 10 boldi 2004-04-10 22:47:50 UTC
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?
Comment 11 boldi 2004-04-10 23:42:38 UTC
//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...

Comment 12 boldi 2004-04-11 00:16:19 UTC
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 );
#-------------
Comment 13 quetschke 2004-04-11 00:32:57 UTC
/usr/bin/dir *.* correctly reports "No such file or directory" when only sun is
in the directory.

I reopen the issue.
Comment 14 quetschke 2004-04-11 00:35:11 UTC
Please have a second look. boldi did a thorough analysis.
Comment 15 boldi 2004-04-11 01:33:20 UTC
I checked my patch, and it works correctly, so no more problems during ODK 
build, after the applied patch...
Comment 16 quetschke 2004-04-13 04:12:37 UTC
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.
Comment 17 stephan.wunderlich 2004-04-13 09:14:55 UTC
SW->JSC: seems to be one for you
Comment 18 quetschke 2004-04-20 00:50:18 UTC
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
Comment 19 jsc 2004-04-26 12:13:45 UTC
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.
Comment 20 nikolai.pretzell 2004-04-26 13:42:38 UTC
Its practically a drawing down of a fix we already did on SRC680.
So, it's fixed.
Comment 21 nikolai.pretzell 2004-04-26 13:46:18 UTC
and verified.
Comment 22 nikolai.pretzell 2004-04-26 13:47:02 UTC
closed.