On Wed, 30 Aug 1995, Lionel Cons wrote:
> Unfortunately, my PATH contains /usr/local/bin which contain a
> cppstdin program (comimg from gcc) so makedepend uses gcc's cppstdin
> which does not work with the selected cc flags:
Uh-oh. I didn't know gcc made & installed a cppstdin command. That's not
very nice of it. Beware that gcc's cppstdin is going to get clobbered when
you install perl (assuming you install perl into /usr/local/bin).
Still, even if gcc didn't do this, you could run into the same problem in
the following way:
1. Build & install perl4 or perl5 with compiler A. If compiler A needs
a cppstdin script, it'll be built and installed into /usr/local/bin.
2. Now try to Configure & build perl5 with compiler B. When cppstdin
gets called, the A version in /usr/local/bin will get called if
/usr/local/bin is in your PATH ahead of '..'.
> So can we put either a better path name in $cppstdin or modify the
> PATH to have . and .. BEFORE the rest of the PATH. This kind of
> conflicts may appear with other programs also...
We can't really use a better path name because $cppstdin has to be
findable both during build and after installation when the build tree
might have been deleted.
Here's your PATH alteration wrapped up into a patch:
Index: makedepend.SH
*** perl5.001m/makedepend.SH Thu May 25 11:05:52 1995
--- perl5.001n/makedepend.SH Wed Aug 30 22:55:44 1995
***************
*** 45,51 ****
# We need .. when we are in the x2p directory if we are using the
# cppstdin wrapper script.
! PATH="$PATH:.:.."
export PATH
$cat /dev/null >.deptmp
--- 45,53 ----
# We need .. when we are in the x2p directory if we are using the
# cppstdin wrapper script.
! # Put .. and . first so that we pick up the present cppstdin, not
! # an older one lying about in /usr/local/bin.
! PATH=".:..:$PATH"
export PATH
$cat /dev/null >.deptmp
End of patch.
Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042
> Unfortunately, my PATH contains /usr/local/bin which contain a
> cppstdin program (comimg from gcc) so makedepend uses gcc's cppstdin
> which does not work with the selected cc flags:
Uh-oh. I didn't know gcc made & installed a cppstdin command. That's not
very nice of it. Beware that gcc's cppstdin is going to get clobbered when
you install perl (assuming you install perl into /usr/local/bin).
Still, even if gcc didn't do this, you could run into the same problem in
the following way:
1. Build & install perl4 or perl5 with compiler A. If compiler A needs
a cppstdin script, it'll be built and installed into /usr/local/bin.
2. Now try to Configure & build perl5 with compiler B. When cppstdin
gets called, the A version in /usr/local/bin will get called if
/usr/local/bin is in your PATH ahead of '..'.
> So can we put either a better path name in $cppstdin or modify the
> PATH to have . and .. BEFORE the rest of the PATH. This kind of
> conflicts may appear with other programs also...
We can't really use a better path name because $cppstdin has to be
findable both during build and after installation when the build tree
might have been deleted.
Here's your PATH alteration wrapped up into a patch:
Index: makedepend.SH
*** perl5.001m/makedepend.SH Thu May 25 11:05:52 1995
--- perl5.001n/makedepend.SH Wed Aug 30 22:55:44 1995
***************
*** 45,51 ****
# We need .. when we are in the x2p directory if we are using the
# cppstdin wrapper script.
! PATH="$PATH:.:.."
export PATH
$cat /dev/null >.deptmp
--- 45,53 ----
# We need .. when we are in the x2p directory if we are using the
# cppstdin wrapper script.
! # Put .. and . first so that we pick up the present cppstdin, not
! # an older one lying about in /usr/local/bin.
! PATH=".:..:$PATH"
export PATH
$cat /dev/null >.deptmp
End of patch.
Andy Dougherty doughera@lafcol.lafayette.edu
Dept. of Physics
Lafayette College, Easton PA 18042