Issue 11673 - Parallel build fails where the same filename is created in different directories
Summary: Parallel build fails where the same filename is created in different directories
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: 644
Hardware: All All
: P3 Trivial (vote)
Target Milestone: OOo 1.1 Beta2
Assignee: Martin Hollmichel
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks: 9443
  Show dependency tree
 
Reported: 2003-02-20 09:54 UTC by chris
Modified: 2003-06-16 16:53 UTC (History)
1 user (show)

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


Attachments
Patch to work around problems using method #1 (1.14 KB, patch)
2003-02-20 10:13 UTC, chris
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
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.