libtool

Libtool slowness, double building?

守給你的承諾、 提交于 2019-12-07 12:02:49
问题 In my project, modules are organized in subdirs for tidiness. My project dir hierarchy: $ ls -R .: configure.in Makefile.am Makefile.cvs src ./src: log Makefile.am main.cpp ./src/log: log.cpp Makefile.am configure.in: AC_INIT(configure.in) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(myapp, 0.1) AC_LANG_CPLUSPLUS AC_PROG_CXX AM_PROG_LIBTOOL AC_OUTPUT(Makefile src/Makefile src/log/Makefile) Makefile.am: AUTOMAKE_OPTIONS = foreign SUBDIRS = src Makefile.cvs: default: aclocal libtoolize --force -

Using libtool to load a duplicate function name from a shared library

江枫思渺然 提交于 2019-12-06 09:55:28
问题 I'm trying to create a 'debug' shared library (i.e., .so or .dll file) that calls another 'real' shared library that has the same C API as the debug library (in this case, to emulate the PKCS#11 API). However, I'm running into trouble where the link map of the debug library is colliding with that of the real library and causing the debug library to call its own functions instead of the corresponding functions in the real library. I found a solution to this problem by using the POSIX dlmopen

automake and custom rpath

半腔热情 提交于 2019-12-06 07:31:23
I have to ship a third-party library with an application. Because I don't want to set LD_LIBRARY_PATH by hand or require any wrapper script I want automake to set a custom rpath . Unfortunately libtool has its own -rpath option and adding -Wl,-rpath,/foo/bar to LDFLAGS only results in g++: unrecognized option '-rpath' because libtool seems to get confused with the command line options. The same happens with the alternative form -Wl,-rpath -Wl,/foo/bar . Is there any way to specify a custom rpath without libtool interference? As you said, libtool has its own -rpath option. Any reason you don't

g++-4.6.real: error: unrecognized option '-R'

为君一笑 提交于 2019-12-06 04:57:02
I am trying to compile phpcompiler from source using this configure command. ./configure --prefix=/opt/phc-0.3.0.1/ --with-php=/opt/php-5.3.17/ The configure error was, checking for exit in -lboost_regex-mt... no checking for exit in -lboost_regex-mt... (cached) no checking for exit in -lboost_regex... no checking for exit in -lboost_regex... (cached) no checking for exit in -lboost_regex... (cached) no configure: error: Could not link against boost_regex Thats completely wrong as I have both boost and boost_regex packages installed. Both libs and header files. Then I dug this in the config

Libtool slowness, double building?

拈花ヽ惹草 提交于 2019-12-06 00:57:04
In my project, modules are organized in subdirs for tidiness. My project dir hierarchy: $ ls -R .: configure.in Makefile.am Makefile.cvs src ./src: log Makefile.am main.cpp ./src/log: log.cpp Makefile.am configure.in: AC_INIT(configure.in) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(myapp, 0.1) AC_LANG_CPLUSPLUS AC_PROG_CXX AM_PROG_LIBTOOL AC_OUTPUT(Makefile src/Makefile src/log/Makefile) Makefile.am: AUTOMAKE_OPTIONS = foreign SUBDIRS = src Makefile.cvs: default: aclocal libtoolize --force --copy autoheader automake --add-missing --copy autoconf src/Makefile.am bin_PROGRAMS = myapp myapp

Libtool claims it does not support shared libraries during cross compilation

别说谁变了你拦得住时间么 提交于 2019-12-05 17:22:27
问题 I'm attempting to build the expat (2.0.0) XML parsing library for an ARM embedded machine running busybox 1.13, and during the ./configure, I get the error: checking if libtool supports shared libraries... no I've specified my gcc, g++, ar, ranlib, strip, etc and those all get found by the configure tool, and I've got the very latest libtool (2.4.2 at the time of this writing) running on Ubuntu 12.10, so why is it saying that libtool doesn't support shared libraries ? My configure command is

Automake: building shared module which is not to be installed

让人想犯罪 __ 提交于 2019-12-05 14:10:53
How to tell Automake to build a dynamic module which is not to be installed? pkglib_LTLIBRARIES = mywrapper.la mywrapper_la_LDFLAGS = -no-undefined -module -avoid-version causes mywrapper.so to be installed to pkglibdir . noinst_LTLIBRARIES = mywrapper.la mywrapper_la_LDFLAGS = -no-undefined -module -avoid-version causes static convenience library to be built instead. The dynamic module in question is only used to run a test suite, and hence is not to be distributed. I had the same problem. This is what I did, including the peeved comment to myself for future reference: # The rpath is

Libtool version mismatch

不羁岁月 提交于 2019-12-05 04:44:33
问题 I have downloaded the source of some old project. I'm trying to build it now: ./bootstrap && ./configure It works fine, but: make /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -W -g -O2 -DDEBUG -MT rcclexer.lo -MD -MP -MF .deps/rcclexer.Tpo -c -o rcclexer.lo rcclexer.cpp ../libtool: line 415: CDPATH: command not found libtool: Version mismatch error. This is libtool 2.4.2, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate

How to install and use libtool shared library (.lo files)?

久未见 提交于 2019-12-05 02:43:24
问题 So after I ran libtool and got out a libfoo.lo and foo.o file from my library source, how do I convert the libfoo.lo file into a normal Linux shared library, like libfoo.so.1.0.0 so I can install and link to it on my target system? 回答1: From the outputs mentioned in the question, it looks like you ran libtool with --mode=compile mode. You will need to run libtool again with --mode=link to produce .a and .so libraries. libtool is just a simple wrapper for gcc, ln ar and ranlib which is needed

Relative or independent paths in libtool .la file

为君一笑 提交于 2019-12-04 12:06:20
问题 My .la file has full pathnames in both the dependency_libs= section and the libdir= section which makes it difficult to copy my libraries to a different machine (same arch but different path structure). What is the solution to this, besides having some script to hack the .la file to adjust for the paths on the new machine? ==Details== When I ./configure; make; make install my libfoo , depending on how I use the --prefix , --exec-prefix , and DESTDIR= flags, I'll get an entry in the libfoo.la