I try to compile thermo_pw according to guidance here [1]. Thispackage needs to be placed in the root directory of QE package [2]
qe-7.0/location outside the QE package, the following compilation step
| thermo_pw
If the thermo_pw directory above is a symbolic link to another
$ make join_qe
if test -f main_Makefile ; then mv ../Makefile Makefile_qe ; \
mv main_Makefile ../Makefile ; fi
On 2022-01-31, hongy...@gmail.com <hongy...@gmail.com> wrote:
I try to compile thermo_pw according to guidance here [1]. Thispackage needs to be placed in the root directory of QE package [2]
when compiling, i.e., with the following directory hierachy:
qe-7.0/
| thermo_pw
If the thermo_pw directory above is a symbolic link to anotherlocation outside the QE package, the following compilation step
issued from the symbolic link directory will fail as shown below:
$ make join_qeNot going to work. .. will always refer to the physical parent
if test -f main_Makefile ; then mv ../Makefile Makefile_qe ; \
mv main_Makefile ../Makefile ; fi
since it has to be unambiguous - this is one of the reasons you
can't hard link directories in the first place - the other is you
could eventuality end up with directories isolated from the root.
The trickery ksh and successors use to track the "logical" path is
purely internal to the shell, any external process will always
refer to the physical parent.
On possible workaround would be to create a new parent directory
containing the physical therm_pw directory and then symlinking the
_contents_ of qe-7.0/ into that. That may or may not work. I'd
expect most simple or well-structured projects not to depend on
backing up to the parent so I would hope you will be in luck, but
the easiest way to find out is simply to try it.
However, I would caution about the motivation for wanting to do
this in the first place. If you are expecting the original qe-7.0/
to be left in an unaltered condition you can't depend on that in
the general case, there is nothing to say the build products will
remain the same or even that source files are not altered. You
would hope so, but that is assuming thermo_pw is well-behaved. If
it is it makes no difference whather it is physically in qe-7.0/
or not. If it isn't the symlinks aren't going to help.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 497 |
Nodes: | 16 (2 / 14) |
Uptime: | 25:08:41 |
Calls: | 9,793 |
Calls today: | 12 |
Files: | 13,749 |
Messages: | 6,188,097 |