|
[Sponsors] |
July 10, 2010, 16:05 |
wmake turns evil ???!!!
|
#1 |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
wmake has suddenly decided to randomly delete my source files when compiling. It happens during the wmakeLnInclude. Good thing I have backups! Here's the output:
dave@Bruce:~/OpenFOAM/dave-1.5-dev/src/PhD$ wmake libso wmakeLnInclude: linking include files to /home/dave/OpenFOAM/dave-1.5-dev/src/PhD/lnInclude ln: creating symbolic link `./multiSolverInit.H': File exists ln: creating symbolic link `./setSolverDomain.H': File exists ln: creating symbolic link `./endMultiSolver.H': File exists ln: creating symbolic link `./multiSolverSetControls.C': File exists ln: creating symbolic link `./multiSolver.H': File exists ln: creating symbolic link `./createMultiSolver.H': File exists ln: creating symbolic link `./multiSolverSetInitialSolverDomain.C': File exists ln: creating symbolic link `./multiSolverTimeFunctions.C': File exists ln: creating symbolic link `./multiSolverI.H': File exists ln: creating symbolic link `./multiSolver.C': File exists ln: creating symbolic link `./multiSolverSetNextSolverDomain.C': File exists Making dependency list for source file admScalar/admScalar.C Making dependency list for source file buoyantPressure/buoyantPressureFvPatchScalarField.C Making dependency list for source file dummyControlDict/dummyControlDict.C make: *** No rule to make target `multiSolver/multiSolver.dep', needed by `Make/linux64GccDPOpt/dependencies'. Stop. make: *** Waiting for unfinished jobs.... dave@Bruce:~/OpenFOAM/dave-1.5-dev/src/PhD$ Every file that failed with ln (file exists) is deleted... mercilessly. (No name.H~ to save the day) The files getting deleted I haven't touched for about a week, and have survived a wmake libso since then. All I did was add another couple of sources (none of the deleted files) to the library, and execute wmake libso. I frequently am adding sources to the library, the only difference I can think of is these ones are 2 directories deep, as opposed to one. Any ideas? |
|
July 10, 2010, 17:13 |
|
#2 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Greetings David,
Uhm, are you by any chance putting the real files directly in lnInclude? Because lnInclude is a temporary folder, mainly for symbolic links to the headers, and meant for making it easier for wmake to build the desired binary! Best regards, Bruno
__________________
|
|
July 10, 2010, 18:43 |
|
#3 |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
Good idea... but no. The problem even occurs after deleting lnInclude, and the .dep, all the Make/linux directories.
|
|
July 11, 2010, 06:50 |
|
#4 |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Hmm... that is strange... can you post the contents of the file Make/files? There should be a logical reason for wmake to go postal
edit: it would also be good to know what the file Make/options has inside it!
__________________
Last edited by wyldckat; July 11, 2010 at 06:53. Reason: Make/options would also be good... |
|
July 11, 2010, 08:15 |
|
#5 | |
Senior Member
Mark Olesen
Join Date: Mar 2009
Location: https://olesenm.github.io/
Posts: 1,695
Rep Power: 40 |
Quote:
This could be that you reference multiSolver.C in a Make/files, but this file does not actually exist (any more). |
||
July 11, 2010, 14:34 |
|
#6 | |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
Quote:
buoyantPressure/buoyantPressureFvPatchScalarField.C admScalar/admScalar.C dummyControlDict/dummyControlDict.C multiSolver/multiSolver.C multiTimeInstant/multiTimeInstant.C timeCluster/timeCluster.C timeCluster/timeClusterList.C // equation/equationMaster/equationMaster.C // equation/equation/equation.C // equation/equationOperation/equationOperation.C // admScalar/admScalarList.C LIB = $(FOAM_USER_LIBBIN)/libPhD And here is my Make/options: EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -Ituple2Lists LIB_LIBS = \ -lfiniteVolume |
||
July 11, 2010, 17:53 |
Problem found
|
#7 |
Senior Member
David Gaden
Join Date: Apr 2009
Location: Winnipeg, Canada
Posts: 437
Rep Power: 22 |
It was a file name collision.
PhD |-timeCluster |-Make |-multiSolver |-multiSolver_beforeChanges |-multiSolver_bak '-tuple2lists I had copied the multiSolver directory to another name to archive some changes I was making. When wmakeLnInclude runs, it deletes all the duplicate source files in all directories, leaving only one copy... in my case, it left me the "multiSolver_beforeChanges" files. Once I got rid of the archive directories, wmake started behaving again. I'm thinking that's a pretty poor fail mode for a file name collision! |
|
August 16, 2016, 05:47 |
|
#8 |
Senior Member
Przemek
Join Date: Jun 2011
Posts: 249
Rep Power: 15 |
Hi Wyldcat,
During the compilation I have the following message: wmakeLnInclude: linking include files to ./lnInclude ln: failed to create symbolic link `./Lee.H': File exists ln: failed to create symbolic link `./Lee.C': File exists Is it wrong or it does not matter?
__________________
best regards pblasiak |
|
August 20, 2016, 16:37 |
|
#9 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,975
Blog Entries: 45
Rep Power: 128 |
Quote:
This "lnInclude" folder is meant to be used for symbolic links only, therefore if that message is being given, then you better double-check if those files are meant to be there on purpose or if they were accidentally moved into that folder. Is this message showing up with any particular community contribution (namely, source code made available online) or is it code that you're creating yourself? I ask this because if it's from something shared online, then we need to review the code with the respective authors, in order to fix this.
__________________
|
||
August 21, 2016, 14:43 |
|
#10 |
Senior Member
Przemek
Join Date: Jun 2011
Posts: 249
Rep Power: 15 |
Hi wyldcat,
This is my source code. This situation appeared when: 1) firstly I compiled Lee.C and Lee.H files using wmake 2) then I deleted Lee files and compiled other anotherModel.C and andotherModel.H files 3) finally I came back to Lee model and deleted anotherModel files after step 3 the message I mentioned in my post appeared, namely wmakeLnInclude: linking include files to ./lnInclude ln: failed to create symbolic link `./Lee.H': File exists ln: failed to create symbolic link `./Lee.C': File exists So I did not copy Lee files into lnInclude directory. How to remove this massage?
__________________
best regards pblasiak |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Problems Installing OF 1.6 32 bit | bucksfan | OpenFOAM Installation | 19 | August 4, 2009 01:36 |
Installation OF1.5-dev | ttdtud | OpenFOAM Installation | 46 | May 5, 2009 02:32 |
OpenFOAM15 installables are incomplete problem with paraFoam | tryingof | OpenFOAM Bugs | 17 | December 7, 2008 04:41 |
Problem of compilation OF 14Allwmake command not found | erik_d | OpenFOAM Bugs | 13 | September 13, 2008 21:45 |
[OpenFOAM] ParaFoam error message | joey | ParaView | 1 | October 2, 2006 13:28 |