[求助]hpux上ganglia编译问题
本帖最后由 rdcwayx 于 2014-11-29 16:35 编辑在hpux11.31上面编译,其实作为监控采集点,我只要gmond和模块的功能就好了,
但是很奇怪,编译过程中没报错,gmond的二进制程序也编译出来了,但是对应模块的so文件一直都没编译出来
下面make的时候编译到模块的输出,感觉是这里有问题,导致动态库没编译出来*** Warning: This system can not link to static lib archive /data/mon/ins/lib/libconfuse.la.
*** I have the capability to make that library automatically link in when
*** you link to this library.But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
*** But as you try to build a module library, libtool will still create
*** a static module, that should work as long as the dlopening application
*** is linked with the -dlopen flag to resolve symbols at runtime.
libtool: link: rm -fr.libs/moddisk.a .libs/moddisk.la .libs/moddisk.lai
libtool: link: (cd .libs/moddisk.lax/libmetrics.a && ar x "/data/mon/ganglia-3.4.0/gmond/modules/disk/../../../libmetrics/.libs/libmetrics.a")
libtool: link: ar cru .libs/moddisk.amod_disk.o.libs/moddisk.lax/libmetrics.a/libmetrics.o .libs/moddisk.lax/libmetrics.a/interface.o .libs/moddisk.lax/libmetrics.a/get_ifi_info.o .libs/moddisk.lax/libmetrics.a/metrics.o
libtool: link: ranlib .libs/moddisk.a
libtool: link: rm -fr .libs/moddisk.lax
libtool: link: ( cd ".libs" && rm -f "moddisk.la" && ln -s "../moddisk.la" "moddisk.la" )
test -z "/data/mon/ins/lib/ganglia" || ../../../build/install-sh -c -d "/data/mon/ins/lib/ganglia"
/bin/sh ../../../libtool --mode=install ../../../build/install-sh -c moddisk.la '/data/mon/ins/lib/ganglia'
libtool: install: ../../../build/install-sh -c .libs/moddisk.lai /data/mon/ins/lib/ganglia/moddisk.la
libtool: install: ../../../build/install-sh -c .libs/moddisk.a /data/mon/ins/lib/ganglia/moddisk.a
libtool: install: chmod 644 /data/mon/ins/lib/ganglia/moddisk.a
libtool: install: ranlib /data/mon/ins/lib/ganglia/moddisk.a
----------------------------------------------------------------------
Libraries have been installed in:
/data/mon/ins/lib/ganglia
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- use the `-Wl,+b -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
这是我的编译选项export LDFLAGS="-Wl,+s -Wl,+b/data/mon/ins/lib:/usr/lib:/usr/local/lib"
export LIBS="-lpthread"
export CFLAGS=-D_PSTAT64
export CPPFLAGS="-I/data/mon/ins/include"
./configure --prefix=/data/mon/ins/--with-libconfuse=/data/mon/ins/--with-libapr=/data/mon/ins/ --without-libpcre --disable-python
大家有什么思路吗 你找一下 libconfuse 是否已经安装。 本帖最后由 yuegui2 于 2014-11-29 21:32 编辑
已经安装了
./configure --prefix=/data/mon/ins/--with-libconfuse=/data/mon/ins/--with-libapr=/data/mon/ins/ --without-libpcre --disable-python
configure的时候这里也指定了路径,而且能完整的编译出gmond,就是少了模块的动态库
还是说hpux编译有什么要注意的参数,求大神给点思路 你自己要看文档了。 编译前,看看有什么dependence 的应用何驱动要装。
/data/mon/ins/ 这个目录看着就不太像 lib的路径。 你看看/data/mon/ins/下有没有/data/mon/ins/lib/libconfuse.la
如果实在不行,你手工设个 LD_LIBRARY_PATH , 比如:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/mon/ins/lib
再编译一下试试看
页:
[1]