Hi Gregg,
On 6/22/2015 3:58 AM, Stefan Hett wrote:
Hi Gregg,
On 6/22/2015 2:49 AM, Stefan Hett wrote:
Hi,
I just tested building APR 1.5.2 from source on windows, following
the instructions from the readme file.
compiling (aka: nmake -f Makefile.win) succeeded without problems,
but the following install command (aka: nmake -f Makefile.win
PREFIX=FOO install) failed with return code 0x1:
copy Release/libapr-1.pdb "..\apr-dist\bin\" <.y
The system cannot find the file specified.
NMAKE : fatal error U1077: 'copy' : return code '0x1'
Stop.
Without looking at the build script I assume that the PDB is not
created for Release builds and therefore the file is missing.
Maybe worth either adjusting the linker/compiler settings so the
PDB is also generated in Release builds or adding a
file-existence-check prior to the copy operation, so building
doesn't issue that error?
For me that's not a problem here. Just thought might be good to
raise that point so that user experience with APR could be improved.
But it is there, look at the Link line in libapr.mak
/pdb:"$(OUTDIR)\libapr-1.pdb"
It didn't get produced for some reason. What Visual C++ version are
you using?
Using Visual Studio 2010 SP1 here.
I'm not that familiar with APR internals. So pardon me if I'm wrong
here.
I assume you are refering to apr/libapr.mak here. For instance in
line 174.
I can see that the /pdb-parameter is specified. However I don't see
the /debug parameter here. To my knowledge the /pdb parameter just
specifies the output filename for the PDB. It doesn't actually
specify that the PDB is to be generated (for which the /Debug
parameter would be used for). Also see:
https://msdn.microsoft.com/en-us/library/kwx19e36.aspx
Am I on the wrong page here?
I don't think so but yes, line 174, /debug is right after the /pdb
switch.
tal:no /pdb:"$(OUTDIR)\libapr-1.pdb" /debug /out:"$
http://svn.apache.org/viewvc/apr/apr/tags/1.5.2/libapr.mak?view=annotate
I just got back and checked this issue out once more. Of course you are
right here. The linker settings seem to be fine. I just realized that in
the build-directory (apr/Release) there indeed is a generated pdb-file,
but it's called libapr.pdb.
Looking through the libapr.mak-file I didn't get a clue how it could
name the pdb without the "-1"-suffix...
When building libapr I get these linker warnings:
1>C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5):
warning MSB8012:
TargetPath(E:\[delete]SVNTest\SVN\apr\.\Release\libapr.dll) does not
match the Linker's OutputFile property value
(E:\[delete]SVNTest\SVN\apr\Release\libapr-1.dll). This may cause your
project to build incorrectly. To correct this, please make sure that
$(OutDir), $(TargetName) and $(TargetExt) property values match the
value specified in %(Link.OutputFile).
1>C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(992,5):
warning MSB8012: TargetName(libapr) does not match the Linker's
OutputFile property value (libapr-1). This may cause your project to
build incorrectly. To correct this, please make sure that $(OutDir),
$(TargetName) and $(TargetExt) property values match the value specified
in %(Link.OutputFile).
1>Link:
1> Creating library Release\libapr-1.lib and object Release\libapr-1.exp
1> libapr.vcxproj -> E:\[delete]SVNTest\SVN\apr\.\Release\libapr.dll
Maybe these information ring a bell on ur side (atm it doesn't for me).
Regards,
Stefan