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

Reply via email to