|December 12, 2011, 11:03||
Compile error from gmake: target pattern contains no `%'
When installing 2.0.0 on HECToR (www.hector.ac.uk), which requires the gnu compilers, I find the following in the compiler's std out:
wmakeLnInclude: linking include files to OpenFOAM/lnInclude
+ wmakeLnInclude OSspecific/POSIX
wmakeLnInclude: linking include files to OSspecific/POSIX/lnInclude
+ wmake libso dummy
wmakeLnInclude: linking include files to ./lnInclude
Making dependency list for source file UPstream.C
Making dependency list for source file UIPread.C
Making dependency list for source file UOPwrite.C
UPstream.dep:42: *** target pattern contains no `%'. Stop.
and line 42 of UPstream.dep reads
UPstream.dep: $(WM_PROJECT_DIR)/src/Open$(OBJECTS_DIR)/UPstream.o: $(EXE_DEP)
A 'google' suggests to me that gmake v3.81 no longer supports Window's PATHs and that any path+filename cannot have a ':' in the string; however, WM_PROJECT_DIR does not contain any offending characters, whilst OBJECTS_DIR and EXE_DEP appear to be blank.
I couldn't see this mentioned in the v2.0.1 release.
Apart from switching to gmake v3.80, any clues?
|December 12, 2011, 16:47||
Join Date: Mar 2009
Location: Lisbon, Portugal
Blog Entries: 39Rep Power: 103
Anyway, the following details come to mind:
|January 18, 2012, 12:34||
The issue is now resolved: the problem was that I was making OF on the front-end of an HPC system to be run on the back-end of the same system and, as such, had set the target arch to be the back-end.
Now, tthe two ends do not share the same arch and, as such, the 3 wmake tools where made with the back-end as the target archetecture; however, they must be run on the front-end as they are part of the compilation procedure.
The solution is to either make them separately or 'hack' the file wmake/src/Makefile by specifying the compilers to be employed.
For our case, after the lines
include $(RULES)/generalinclude $(RULES)/$(WM_LINK_LANGUAGE)
we added the following two new lines
cc = gccCC = g++This forces the associated wmake binaries, required during installation, to be compatible with the front end nodes, whilst keep all other binaries compatible with the target architecture (either the front- or back-end).
|Thread||Thread Starter||Forum||Replies||Last Post|
|Running mapFields with Parallel Source and Parallel Target||RDanks||OpenFOAM Mesh Utilities||4||August 2, 2016 05:24|
|Building OpenFOAM1.7.0 from source||ata||OpenFOAM Installation||42||May 14, 2012 20:48|
|Can someone PLEASE document the development version installation||bernd||OpenFOAM Installation||76||November 14, 2008 22:51|
|OpenFOAM14 for Mac OSX Darwin 104||gschaider||OpenFOAM Installation||118||July 20, 2008 05:19|