|
Boost-Build : |
Subject: Re: [Boost-build] msvc 64-bit test targets vs. maifest files
From: R.U.10 (erudix_at_[hidden])
Date: 2008-10-13 04:36:24
Hello Mat,
Did you installed the needed "Microsoft Visual C++ 200x Redistributable
Package"?
http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=Microsoft%20Visual%20C%2b%2b%20Redistributable%20Package&DisplayLang=en#
the x64 or IA64 version will probably work for you.
otherwise, you can try to make an isolated application with private
assemblies
http://msdn.microsoft.com/en-us/library/aa375674(VS.85).aspx<http://msdn.microsoft.com/en-us/library/aa375674%28VS.85%29.aspx>
http://www.codeproject.com/KB/cpp/PrivateAssemblyProjects.aspx
but bjam is not yet ready for compiling libraries compatibles with private
assemblies.
R.U.10
2008/10/12 Vladimir Prus <ghost_at_[hidden]>
> On Thursday 09 October 2008 00:34:13 Mat Marcus wrote:
> > Second attempt (no answer the first time. if no answer again, will try
> > boost-users, then boost developers)
>
> Hi Mat,
> I was hoping somebody with windows experience would comment, before
> impressing the world with my deep lack of knowledge about it, but alas...
>
> > On Fri, Oct 3, 2008 at 11:50 AM, Mat Marcus <mat-lists_at_[hidden]>
> wrote:
> > > For several years I have been working with a set of libraries, built
> > > with boost build and dependent upon some boost libraries. I've been
> > > working on a 32-bit machine, but I have occasionally been building
> > > 64-bit targets to try to help support clients who will be using my
> > > library on 64-bit machines. My suite of boost-build test targets
> > > (unit-test, run, etc.) for my lib is a bit inconvenient when on 32 bit
> > > machines, since I get an error dialog each time I build, but sometimes
> > > I want to test as much as possible. The commands I use to build (msvc
> > > 9) are:
> > >
> > > ## 32 bit
> > > bjam msvc debug
> > >
> > > ## 64 bit
> > > bjam msvc debug architecture=x86 address-model=64
> > > define=BOOST_DISABLE_ABI_HEADERS
> > >
> > > Yesterday, I tried to build/run the 64 bit targets for the same files
> > > using the same invocation on a 64-bit Vista machine. I thought that
> > > perhaps my code would exhibit some 64-bit run-time issues, but things
> > > didn't go that far. Instead, I got manifest/DLL-related problems for
> > > each test. Here is an example of the error that I receive each time
> > > boost build tries to run a built artifact:
> > >
> > > ====== BEGIN OUTPUT ======
> > > The application has failed to start because its side-by-side
> > > configuration is incorrect. Please see the application event log for
> > > more detail.
> > >
> > > EXIT STATUS: 14001
> > > ====== END OUTPUT ======
> > >
> > > The corresponding Application Event Log Entry is:
> > >
> > > Activation context generation failed for
> > >
> "c:\asl\staff\mmarcus\sandbox\built_artifacts\documentation\examples\enum_ops_example.test\msvc-9.0\debug\address-model-64\architecture-x86\link-static\threading-multi\enum_ops_example.exe".
> > > Dependent Assembly
> > >
> Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
> > > could not be found. Please use sxstrace.exe for detailed diagnosis.
>
> So, at the link time, reference to the right library is made, but at
> runtime, the library is not available.
> Do you know the location of the CRT library found at link time? It probably
> has a .manifest file giving
> the names of actual .dll files. Are those .dll founds located in directory
> in PATH? Maybe
> the VisualStudio install process installs those libraries so that they are
> available to linker,
> but not at runtime? Does that sxstrace.exe tool tell anything?
>
> - Volodya
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk