On 2007-07-02 15:00-0600 Orion Poplawski wrote:

> Alan W. Irwin wrote:
>> [...]I tried make -j2 on a fully configured system for revision 7687 on 
>> Ubuntu
>> Dapper, and I got good results:[...]
>> 
>> Please try "make -j2" yourself on revision 7687 to confirm that the 
>> problem
>> has now been solved.
>
> I still got an error, though in a different place:
>
> [122%] Building C object src/CMakeFiles/plplotd.dir/plvect.o
> /usr/bin/gcc  -Dplplotd_EXPORTS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 
> -mtune=generic -fasynchronous-unwind-tables  -fPIC 
> -I/builddir/build/BUILD/plplot-5.7.3/include 
> -I/builddir/build/BUILD/plplot-5.7.3/fedora 
> -I/builddir/build/BUILD/plplot-5.7.3/fedora/include   -DHAVE_CONFIG_H -o 
> src/CMakeFiles/plplotd.dir/plvect.o   -c 
> /builddir/build/BUILD/plplot-5.7.3/src/plvect.c
> Building C object src/CMakeFiles/plplotd.dir/plvpor.o
> /usr/bin/gcc  -Dplplotd_EXPORTS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 
> -mtune=generic -fasynchronous-unwind-tables  -fPIC 
> -I/builddir/build/BUILD/plplot-5.7.3/include 
> -I/builddir/build/BUILD/plplot-5.7.3/fedora 
> -I/builddir/build/BUILD/plplot-5.7.3/fedora/include   -DHAVE_CONFIG_H -o 
> src/CMakeFiles/plplotd.dir/plvpor.o   -c 
> /builddir/build/BUILD/plplot-5.7.3/src/plvpor.c
> /builddir/build/BUILD/plplot-5.7.3/src/plvect.c: In function 'plfvect':
> /builddir/build/BUILD/plplot-5.7.3/src/plvect.c:171: warning: 'a_y' may be 
> used uninitialized in this function
> Linking C shared library libplplotd.so
> cd /builddir/build/BUILD/plplot-5.7.3/fedora/src && /usr/bin/cmake -P 
> CMakeFiles/plplotd.dir/cmake_clean_target.cmake
> cd /builddir/build/BUILD/plplot-5.7.3/fedora/src && /usr/bin/cmake -E 
> cmake_link_script CMakeFiles/plplotd.dir/link.txt --verbose=1
> /usr/bin/gcc  -fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions 
> -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic 
> -fasynchronous-unwind-tables   -shared -Wl,-soname,libplplotd.so.9 -o 
> libplplotd.so.9.3.0 "CMakeFiles/plplotd.dir/pdfutils.o" 
> "CMakeFiles/plplotd.dir/plargs.o" "CMakeFiles/plplotd.dir/plbox.o" 
> "CMakeFiles/plplotd.dir/plcont.o" "CMakeFiles/plplotd.dir/plcore.o" 
> "CMakeFiles/plplotd.dir/plctrl.o" "CMakeFiles/plplotd.dir/plcvt.o" 
> "CMakeFiles/plplotd.dir/pldeprecated.o" "CMakeFiles/plplotd.dir/pldtik.o" 
> "CMakeFiles/plplotd.dir/plfill.o" "CMakeFiles/plplotd.dir/plfreetype.o" 
> "CMakeFiles/plplotd.dir/plhist.o" "CMakeFiles/plplotd.dir/plimage.o" 
> "CMakeFiles/plplotd.dir/plline.o" "CMakeFiles/plplotd.dir/plmap.o" 
> "CMakeFiles/plplotd.dir/plot3d.o" "CMakeFiles/plplotd.dir/plpage.o" 
> "CMakeFiles/plplotd.dir/plsdef.o" "CMakeFiles/plplotd.dir/plshade.o" 
> "CMakeFiles/plplotd.dir/plstdio.o" "CMakeFiles/plplotd.dir/plstripc.o" 
> "CMakeFiles/plplotd.dir/plsym.o" "CMakeFiles/plplotd.dir/pltick.o" 
> "CMakeFiles/plplotd.dir/plvpor.o" "CMakeFiles/plplotd.dir/plwind.o" 
> "CMakeFiles/plplotd.dir/plbuf.o" "CMakeFiles/plplotd.dir/plgridd.o" 
> "CMakeFiles/plplotd.dir/plvect.o" 
> -L/builddir/build/BUILD/plplot-5.7.3/fedora/lib/csa 
> -L/builddir/build/BUILD/plplot-5.7.3/fedora/lib/nn -lltdl -ldl -lm -lcsirocsa 
> -lcsironn -lfreetype -lm -lqhull 
> -Wl,-rpath,/builddir/build/BUILD/plplot-5.7.3/fedora/lib/csa:/builddir/build/BUILD/plplot-5.7.3/fedora/lib/nn
> gcc: CMakeFiles/plplotd.dir/plvpor.o: No such file or directory
> gmake[5]: *** [src/libplplotd.so.9.3.0] Error 1
> gmake[5]: Leaving directory `/builddir/build/BUILD/plplot-5.7.3/fedora'
>
> Wonder if we're bumping into cmake issues at this point...

I just got good "make -j2" results for latest SVN trunk of PLplot and
CMake-2.4.7-RC-11 on my Debian sarge platform so I cannot verify the problem
here.  Of course, I have a very different tool chain than you (let's face
it, my tool chain is obsolete compared to your cutting-edge Fedora one).
Also, my system is a uniprocessor entry-level 2.4GHz machine bought used
several years ago.  Your timings are probably very different as a result of
these major software/hardware differences so the bug could be triggered on
your system and by accident be avoided on my system.

All that said, one thing that is bothering me about the above report is the
linking step deals with the object files in the same order that they are
specified in src/CMakeLists.txt with plvpor being referenced a number of
files from the end of the list.  But the plvpor compilation seems to occur
as the last compilation.  However, that is followed by a plvect.c warning
message.  The only thing I can think of to explain that combination is you
elided some of the output to save bandwidth, but please confirm that and
also please confirm that the plvpor.c compilation was initiated before the
compilations of

plwind.c
plbuf.c
plgridd.c
plvect.c

were initiated.

Note the lines of source code in those files:

wc -l plvpor.c plwind.c plbuf.c plgridd.c plvect.c
   461 plvpor.c
   232 plwind.c
  1230 plbuf.c
   894 plgridd.c
   309 plvect.c
  3126 total

Given those lines of code, I don't understand why the plvpor.c compilation
was not finished long before the linking step was started.  Can you confirm
that the plvpor.c compilation actually completed?

Here are the relevant completion times for those compilations on my system
(just done with "make -j2")

[EMAIL PROTECTED]> ls -lt --time-style=full-iso src/CMakeFiles/plplotd.dir/*.o 
|head -6
-rw-r--r--  1 software software 11528 2007-07-02 16:35:53.000000000 -0700 
src/CMakeFiles/plplotd.dir/plbuf.o
-rw-r--r--  1 software software 11032 2007-07-02 16:35:53.000000000 -0700 
src/CMakeFiles/plplotd.dir/plgridd.o
-rw-r--r--  1 software software  6632 2007-07-02 16:35:53.000000000 -0700 
src/CMakeFiles/plplotd.dir/plvect.o
-rw-r--r--  1 software software 41924 2007-07-02 16:35:52.000000000 -0700 
src/CMakeFiles/plplotd.dir/plsym.o
-rw-r--r--  1 software software  3252 2007-07-02 16:35:52.000000000 -0700 
src/CMakeFiles/plplotd.dir/pltick.o
-rw-r--r--  1 software software 11344 2007-07-02 16:35:52.000000000 -0700 
src/CMakeFiles/plplotd.dir/plvpor.o

Obviously my system is configured improperly to display full time resolution
for ls, but I think the order is correct (which would indicate 5 other
compilations finished after the plvpor one and long before the library was
linked.)

If you do have high time resolution on your system you should be able to
clarify exactly when everything occurred.  If you can absolutely prove that
the link step occurred before the last compilation was completed, then that
is either a bug in CMake or the rules it should generate for the Makefiles
to enforce the constraint that the link step must wait until all
compilations are completed is not working for the Fedora version of make.

Either of those possibilities is nasty so I encourage you to follow up on
this issue.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to