开发者

Building a project with Boost dynamic libraries disabled

开发者 https://www.devze.com 2023-01-11 04:22 出处:网络
I\'m trying to build the open source project VMWare open view client.The problem I\'m having is I can build it following their instructions however my build does not include all the depedencies and th

I'm trying to build the open source project VMWare open view client. The problem I'm having is I can build it following their instructions however my build does not include all the depedencies and thus when I go to deploy it there is a failure saying missing libboost_signals-gcc41-1_34_1.so.1.34.1. According to their forums someone suggested the following try building boost with dynamic libraries disabled. The problem if I hav开发者_运维技巧e no idea how to accomplish that.

Ideas?

As a point of reference the way in which you build their project is ./configure && make.

I've looked through the ./configure options and there is a --enable-static-icu but there is nothing for --enable-static-boost.

There are some optional flags that can be passed directly to the C / C++ compiler but I'm not sure what those options would be.

Additionally the reason I am posting here is I've made a post to their discussion forums and have gotten no response. There is also some other questions posted that are over a month old that no one has responded to. So I suspect they are taking a break of some sort.

Thanks for any input offered :-D


First off, no you don't use 'configure' to build boost. You use bjam.

The problem seems to be that you are not deploying the dependent libraries along with your executable. Try making sure that the boost libraries are on the target machine also.

Additionally, any project that uses 'configure' to build makefiles will spit up a complete list of options if you run 'configure --help'.


To answer your question, static libraries should be built by default -- could you please double check they are not there. If not, you should add 'link=static' to bjam, either directly or by editing the generated Makefile.

On a higher level, I'm not really sure what you're trying to do, or why you got this recommendation. The error message means you lack .so on your target machine. Why don't you copy it over and adjust LD_LIBRARY_PATH? Because even if you have static libraries for Boost, you'll still have to tweak your program to use static libraries, as opposed to shared.

0

精彩评论

暂无评论...
验证码 换一张
取 消