On 6/25/2015 10:51 AM, Stefan Hett wrote:
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).
Hi Stefan,
OK, the plot thickens ... libapr.vcxproj
You only get the.vcxproj when using the IDE which uses the dsp files,
not the .mak.
Bill found one today but it was in the Windows 9x build. This error
message does not allude to this being a Win9x build.
http://svn.apache.org/r1687620
I can't find any others. I say search your libapr.dsp file for
libapr.pdb but I don't think you will find it.
It looks like the compiler knows what it is told to do but instead is
simply going to do what it wants to.