Issue 11673

Summary: Parallel build fails where the same filename is created in different directories
Product: Build Tools Reporter: chris
Component: codeAssignee: Martin Hollmichel <nesshof>
Status: CLOSED FIXED QA Contact: issues@tools <issues>
Severity: Trivial    
Priority: P3 CC: issues
Version: 644   
Target Milestone: OOo 1.1 Beta2   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---
Issue Depends on:    
Issue Blocks: 9443    
Attachments:
Description Flags
Patch to work around problems using method #1 none

Description chris 2003-02-20 09:54:43 UTC
This is a typical error message:

desktop/util$ dmake -P6
cat ../unxlngi4.pro/misc/soffice.cmd
------------------------------
cat ../unxlngi4.pro/misc/soffice.cmd
------------------------------
Making: ../unxlngi4.pro/bin/soffice
Making: ../unxlngi4.pro/bin/so/soffice
unx
-------------
unx
ccache gcc -Wl,-export-dynamic -Wl,--noinhibit-exec -L../unxlngi4.pro/lib
-L../lib -L/usr/local/src/ooffice/oo_cvs/solenv/unxlngi4/lib
-L/usr/local/src/ooffice/oo_cvs/solver/644/unxlngi4.pro/lib
-L/usr/local/src/ooffice/oo_cvs/solenv/unxlngi4/lib -L/usr/lib/j2sdk1.3/lib
-L/usr/lib/j2sdk1.3/jre/lib/i386 -L/usr/lib/j2sdk1.3/jre/lib/i386/client
-L/usr/lib/j2sdk1.3/jre/lib/i386/native_threads -L/usr/X11R6/lib -o
../unxlngi4.pro/bin/so/soffice ../unxlngi4.pro/obj/app.o
../unxlngi4.pro/obj/lockfile.o ../unxlngi4.pro/obj/intro.o
../unxlngi4.pro/obj/officeipcthread.o ../unxlngi4.pro/obj/appinit.o
../unxlngi4.pro/obj/cmdlineargs.o ../unxlngi4.pro/obj/pluginacceptthread.o
../unxlngi4.pro/obj/officeacceptthread.o ../unxlngi4.pro/obj/oinstanceprovider.o
../unxlngi4.pro/obj/opluginframefactory.o ../unxlngi4.pro/obj/appsys.o
../unxlngi4.pro/obj/desktopresid.o ../unxlngi4.pro/obj/dispatchwatcher.o
../unxlngi4.pro/obj/ssodlg.o ../unxlngi4.pro/obj/ssoinit.o
../unxlngi4.pro/obj/configinit.o ../unxlngi4.pro/obj/javainteractionhandler.o
../unxlngi4.pro/obj/oempreload.o ../unxlngi4.pro/obj/testtool.o
../unxlngi4.pro/obj/checkinstall.o ../unxlngi4.pro/obj/cmdlinehelp.o
../unxlngi4.pro/obj/copyright_ascii_sun.o ../unxlngi4.pro/obj/icon_resource_sun.o \
-lsvl644li -lvcl644li -lcppu -lcppuhelpergcc3 -ltl644li -lvos2gcc3 -lsal
-lutl644li -lucbhelper2gcc3 -lcomphelp2 -lsalhelpergcc3 -lsvt644li -lXext -lSM
-lICE -lX11 -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc -lstdc++
ccache gcc -Wl,-export-dynamic -Wl,--noinhibit-exec -L../unxlngi4.pro/lib
-L../lib -L/usr/local/src/ooffice/oo_cvs/solenv/unxlngi4/lib
-L/usr/local/src/ooffice/oo_cvs/solver/644/unxlngi4.pro/lib
-L/usr/local/src/ooffice/oo_cvs/solenv/unxlngi4/lib -L/usr/lib/j2sdk1.3/lib
-L/usr/lib/j2sdk1.3/jre/lib/i386 -L/usr/lib/j2sdk1.3/jre/lib/i386/client
-L/usr/lib/j2sdk1.3/jre/lib/i386/native_threads -L/usr/X11R6/lib -o
../unxlngi4.pro/bin/so/soffice ../unxlngi4.pro/obj/app.o
../unxlngi4.pro/obj/lockfile.o ../unxlngi4.pro/obj/intro.o
../unxlngi4.pro/obj/officeipcthread.o ../unxlngi4.pro/obj/appinit.o
../unxlngi4.pro/obj/cmdlineargs.o ../unxlngi4.pro/obj/pluginacceptthread.o
../unxlngi4.pro/obj/officeacceptthread.o ../unxlngi4.pro/obj/oinstanceprovider.o
../unxlngi4.pro/obj/opluginframefactory.o ../unxlngi4.pro/obj/appsys.o
../unxlngi4.pro/obj/desktopresid.o ../unxlngi4.pro/obj/dispatchwatcher.o
../unxlngi4.pro/obj/ssodlg.o ../unxlngi4.pro/obj/ssoinit.o
../unxlngi4.pro/obj/configinit.o ../unxlngi4.pro/obj/javainteractionhandler.o
../unxlngi4.pro/obj/oempreload.o ../unxlngi4.pro/obj/testtool.o
../unxlngi4.pro/obj/checkinstall.o ../unxlngi4.pro/obj/cmdlinehelp.o
../unxlngi4.pro/obj/copyright_ascii_sun.o ../unxlngi4.pro/obj/icon_resource_sun.o \
-lsvl644li -lvcl644li -lcppu -lcppuhelpergcc3 -ltl644li -lvos2gcc3 -lsal
-lutl644li -lucbhelper2gcc3 -lcomphelp2 -lsalhelpergcc3 -lsvt644li -lXext -lSM
-lICE -lX11 -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc -lstdc++
-lsvl644li -lvcl644li -lcppu -lcppuhelpergcc3 -ltl644li -lvos2gcc3 -lsal
-lutl644li -lucbhelper2gcc3 -lcomphelp2 -lsalhelpergcc3 -lsvt644li -lXext -lSM
-lICE -lX11 -ldl -lpthread -lm -Wl,-Bdynamic -lstlport_gcc -lstdc++

-lsvl644li: Command not found.

There is a similar problem when making so/spadmin.bin and spadmin.bin in
padmin/source.

The reason for the failure is because the makefiles use a file called
<targetname>.cmd in the misc subdirectory of the output tree.  When two targets
with the same name are built, such as soffice and so/soffice, the same command
file is created: misc/soffice.cmd.

I see two ways to fix this:

1. Add a dependency to one of the conflicting targets on the other target, so
that they get built sequentially.

2. Fix the central makefiles to take the directory of the object file into
account for the .cmd file name, i.e. generate misc/soffice.cmd and
misc/so/soffice.cmd in this example.

Method 1. is more of a quick hack than a proper fix, but is quicker to do and
affects less source files.  Maybe it is the least intrusive fix for 644?  I
think that in the non-short term, method 2. should be implemented.
Comment 1 chris 2003-02-20 10:13:07 UTC
Created attachment 4806 [details]
Patch to work around problems using method #1
Comment 2 hjs 2003-02-20 11:27:25 UTC
please have a look at...
Comment 3 Martin Hollmichel 2003-04-01 15:38:06 UTC
fixed in cws_srx644_20030412.
Comment 4 Martin Hollmichel 2003-06-16 16:53:58 UTC
closed.