Bug 760648

Summary: Application "qpid-latency-test.exe" cannot run due to missing dll library
Product: Red Hat Enterprise MRG Reporter: Petra Svobodová <psvobodo>
Component: qpid-sdkAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: crolke, jross, ppecka
Target Milestone: 2.1.2   
Target Release: ---   
Hardware: Unspecified   
OS: Windows   
Whiteboard:
Fixed In Version: 2.2.0.1 Doc Type: Bug Fix
Doc Text:
Cause: Executable programs qpid-perftest and qpid-latency-test are linked for release but placed in debug directory. Consequence: Executable programs fail to run. Fix: Modify packaging script to place executables in release directory. Result: Executable programs run normally.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 650969    

Description Petra Svobodová 2011-12-06 17:25:40 UTC
Description of problem:

Running the "qpid-latency-test.exe" fails with the error message: "This application has failed to start because boost_program_options-vc90-mt-1_47.dll was not found. Re-installing the application may fix this problem."

On x64 platforms misses application "boost_program_options-vc100-mt-1_47.dll.

Note:
In the /bin folder there are libraries with similar names: "boost_program_options-vc90-mt-gd-1_47.dll" and 
"boost_program_options-vc100-mt-gd-1_47.dll"

I tried to rename these libraries ("boost_program_options-vc90-mt-gd-1_47.dll" to "boost_program_options-vc90-mt-1_47.dll" and "boost_program_options-vc100-mt-gd-1_47.dll" to "boost_program_options-vc100-mt-1_47.dll"); the qpid-latency-test started then but exited with error.


Version-Release number of selected component (if applicable):
qpid-cpp-x*86-VS*-97.97.97.97.zip


How reproducible:
100%

Steps to Reproduce:
1. Unzip the packages.
2. Run the <WinSDK>\bin\qpid-latency-test.exe

  
Actual results:
The application start fails.


Expected results:
The application should run.

Comment 1 Petra Svobodová 2011-12-07 12:06:14 UTC
The "qpid-perftest" application has the same problem.

Comment 2 Chuck Rolke 2011-12-09 20:38:06 UTC
The problem here is that the executables qpid-latency-test.exe and qpid-perftest.exe are in bin\debug when they should be in bin\release.

As a test please copy the files to bin\release and see if they work from there.

To be an authority on what's wrong you can run Visual Studio tool dumpbin:
 > dumpbin /dependents qpid-perftest.exe

 File Type: EXECUTABLE IMAGE
 ...
   boost_program_options-vc90-mt-1_47.dll
 ...

That file is not in /release so the load fails.

Comment 3 Chuck Rolke 2011-12-12 16:27:35 UTC
The executable files were in the wrong directory. Fixed in 2.2.0.1

Comment 5 Petra Svobodová 2011-12-19 09:42:39 UTC
All applications "qpid-latency-test.exe" and "qpid-perftest.exe" run correctly without exceptions on all supported Microsoft Windows platforms: 
- Windows XP - x86 and x64
- Windows 7 - x86 and x64
- Windows Server2003 x86 and x64
- Windows Server2008 x86 and x64
- Windows Server2008R2 x64

Verified on packages:
qpid-cpp-x64-VS2008-2.2.0.1-1.zip
qpid-cpp-x64-VS2010-2.2.0.1-1.zip
qpid-cpp-x86-VS2008-2.2.0.1-1.zip
qpid-cpp-x86-VS2010-2.2.0.1-1.zip

--> VERIFIED

Comment 6 Chuck Rolke 2012-03-09 18:35:39 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Executable programs qpid-perftest and qpid-latency-test are linked for release but placed in debug directory.

Consequence: Executable programs fail to run.

Fix: Modify packaging script to place executables in release directory.

Result: Executable programs run normally.