Hi Mark,
It really is quite strange. I think it has something to do with the perl
version I'm using or perhaps my environment(???)
On my machine fullPathName.pl always returns paths with backward
slashes:
W:\work\epics\R3.14.10\base>fullPathName.pl ..\..
W:\work\epics
W:\work\epics\R3.14.10\base>fullPathName.pl ../..
W:\work\epics
W:\work\epics\R3.14.10\base>fullPathName.pl ../../R3.14.10
W:\work\epics\R3.14.10
C:\Documents and Settings\up45\Desktop>fullPathName.pl ../../up45/
C:\Documents and Settings\up45
C:\Documents and Settings\up45\Desktop>fullPathName.pl "c:/mingw/bin"
C:\mingw\bin
I have always used ActiveState ActivePerl version 5.10.0.1003 and I
didn't get this behaviour on my previous PC (which of course I have no
longer available to mess around with).
For now I think I will just modify the src/softIoc/Makefile to convert
the string to forward slashes.
If anyone out there has a suggestion to fix it or explanation, please do
let me know.
Cheers,
Ulrik
________________________________
From: Mark Rivers [mailto:[email protected]]
Sent: 16 July 2009 14:51
To: Pedersen, UK (Ulrik); [email protected]
Subject: RE: Escaped strings from fullPathName.pl
Ulrik,
That is not happening for me with R3.13.10 on Windows. Here is the
output I get:
cl /nologo /EHsc /GR -c /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /D__STDC__=0 /RTCsu /Zi /W3 /w44355
-
DEPICS_BASE=h:/epics/base-3.14.10 /MTd -DEPICS_DLL_NO -I.
-I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32
-I..\\..\\..\\include /Tp ..\\softMain.cpp
softMain.cpp
Note that the -D for EPICS_BASE has forward slashes.
I am running Visual Studio 2005, Cygwin perl (v5.10.0). I believe the
version of make is an old version from Cygwin before they broke it.
Mark
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Pedersen, UK (Ulrik)
Sent: Thursday, July 16, 2009 5:19 AM
To: [email protected]
Subject: Escaped strings from fullPathName.pl
Hello,
In a recent attempt to build base R3.14.10 on Windows I have come across
a build problem in src\softIoc\. The Makefile uses fullPathName.pl to
create an EPICS_BASE variable which is the full path to the base
installation. This is passed to the build of the softMain.cpp with the
-D flag and used in the code to create a C string.
Unfortunately fullPathName.pl creates a string with backslashes in it
(when expanding the relative path ../../..). The compiler falls over
when it get to compile this string with backslashes (see build output
below).
Strangely enough I have not come across this problem before when I have
build base R3.14.10 under Windows - but I'm now using a new PC with a
fresh installation of the build tools (Same versions as on my old PC
though: Visual Studio .NET 2003, MinGW 5.1.4 for make and perl
(ActiveState) 5.10.0.1003)
When I fun fullPathName.pl manually it always seems to produce paths
will backslashes on my PC.
I suppose a fix can be done either by adding a flag to fullPathName.pl
to force creation of paths with forward slashes - or alternatively force
the src/softIoc/Makefile to always substitute backward with forward
slashes in the string contained in the EPICS_BASE (local) variable(???)
Here is the output of the build of src/softIoc/softMain.cpp:
cl /nologo /EHsc /GR -c /D_CRT_SECURE_NO_DEPRECATE
/D_CRT_NONSTDC_NO_DEPRECATE /D__STDC__=0 /Ox /GL /W3 /w44355
-DEPICS_BASE=W:\work\up45\R3.14.10\base /MT -DEPICS_DLL_NO -I
. -I..\\O.Common -I. -I.. -I..\\..\\..\\include\\os\\WIN32
-I..\\..\\..\\include /Tp ..\\soft
Main.cpp
softMain.cpp
..\softMain.cpp(81) : warning C4129: 'u' : unrecognized character escape
sequence
..\softMain.cpp(81) : error C3847: wrong symbol in universal character;
must use hex digits
..\softMain.cpp(81) : warning C4129: 'w' : unrecognized character escape
sequence
..\softMain.cpp(81) : warning C4129: 'R' : unrecognized character escape
sequence
..\softMain.cpp(82) : warning C4129: 'u' : unrecognized character escape
sequence
..\softMain.cpp(82) : error C3847: wrong symbol in universal character;
must use hex digits
..\softMain.cpp(82) : warning C4129: 'w' : unrecognized character escape
sequence
..\softMain.cpp(82) : warning C4129: 'R' : unrecognized character escape
sequence
mingw32-make[1]: *** [softMain.obj] Error 2
mingw32-make[1]: Leaving directory
`W:/work/up45/R3.14.10/base/src/softIoc/O.win32-x86'
mingw32-make: *** [install.win32-x86] Error 2
Has anyone by any chance come across the same problem?
Cheers,
Ulrik
--------------------------------------------------------------------
Ulrik Pedersen phone: +44(0)1235-778580
Software Engineer email: [email protected]
Diamond Light Source Ltd.
Rutherford Appleton Laboratory,
Chilton, Didcot
Oxfordshire OX11 0DE
--------------------------------------------------------------------
--
Scanned by iCritical.
--
Scanned by iCritical.
- Replies:
- RE: Escaped strings from fullPathName.pl Mark Rivers
- RE: Escaped strings from fullPathName.pl Rees, NP (Nick)
- References:
- Escaped strings from fullPathName.pl Pedersen, UK (Ulrik)
- RE: Escaped strings from fullPathName.pl Mark Rivers
- Navigate by Date:
- Prev:
Re: c channel access John Hammonds
- Next:
RE: Escaped strings from fullPathName.pl Mark Rivers
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: Escaped strings from fullPathName.pl Mark Rivers
- Next:
RE: Escaped strings from fullPathName.pl Mark Rivers
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|