confuse-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Confuse-devel] --enable-shared not working for me


From: Brett Russ
Subject: [Confuse-devel] --enable-shared not working for me
Date: Fri, 30 Jul 2004 12:35:13 -0400
User-agent: Mozilla Thunderbird 0.7 (X11/20040615)

Now that my app is ready to be released, I would like to move to the shared library instead of the static. However, using the confuse-2.3 tarball, I am unable to create shared libraries. I generated two source trees, one set up for shared (using ./configure --enable-shared) and one without (using just ./configure). The output from configure is different for each:

address@hidden:/tmp/confuse> diff configure-noshared-out configure-shared-out
82a83
> checking whether -lc should be explicitly linked in... no
87c88
< checking whether to build shared libraries... no
---
> checking whether to build shared libraries... yes

But the Makefiles all the way through are identical:

address@hidden:/tmp/confuse> ls
configure-noshared-out configure-shared-out confuse-2.3 confuse-2.3.shared address@hidden:/tmp/confuse> diff confuse-2.3/Makefile confuse-2.3.shared/Makefile address@hidden:/tmp/confuse> diff confuse-2.3/src/Makefile confuse-2.3.shared/src/Makefile address@hidden:/tmp/confuse> diff confuse-2.3/po/Makefile confuse-2.3.shared/po/Makefile address@hidden:/tmp/confuse> diff confuse-2.3/m4/Makefile confuse-2.3.shared/m4/Makefile

and no .so is built anywhere in the shared.

So then a friend suggested that I disable the static and just enable shared, so I did a:
./configure --disable-static --enable-shared
in a freshly unpacked tree which did result in different Makefiles (at least src/Makefile - which was the only one I checked), but the make subsequently failed in the examples subdirectory but not before it didn't build the .so, see output:

address@hidden:/tmp/confuse/confuse-2.3.shared> make
make  all-recursive
make[1]: Entering directory `/tmp/confuse/confuse-2.3.shared'
Making all in m4
make[2]: Entering directory `/tmp/confuse/confuse-2.3.shared/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/confuse/confuse-2.3.shared/m4'
Making all in po
make[2]: Entering directory `/tmp/confuse/confuse-2.3.shared/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/confuse/confuse-2.3.shared/po'
Making all in src
make[2]: Entering directory `/tmp/confuse/confuse-2.3.shared/src'
if /bin/sh ../libtool --mode=compile gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT confuse.lo -MD -MP -MF ".deps/confuse.Tpo" -c -o confuse.lo confuse.c; \ then mv -f ".deps/confuse.Tpo" ".deps/confuse.Plo"; else rm -f ".deps/confuse.Tpo"; exit 1; fi gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT confuse.lo -MD -MP -MF .deps/confuse.Tpo -c confuse.c -fPIC -DPIC -DPIC -o confuse.o
mv -f confuse.o confuse.lo
if /bin/sh ../libtool --mode=compile gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT lexer.lo -MD -MP -MF ".deps/lexer.Tpo" -c -o lexer.lo lexer.c; \ then mv -f ".deps/lexer.Tpo" ".deps/lexer.Plo"; else rm -f ".deps/lexer.Tpo"; exit 1; fi gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT lexer.lo -MD -MP -MF .deps/lexer.Tpo -c lexer.c -fPIC -DPIC -DPIC -o lexer.o
mv -f lexer.o lexer.lo
/bin/sh ../libtool --mode=link gcc -g -O2 -o libconfuse.la -rpath /usr/local/lib confuse.lo lexer.lo mkdir .libs
rm -fr .libs/libconfuse.la .libs/libconfuse.* .libs/libconfuse.*
(cd . && ln -s confuse.lo confuse.o)
(cd . && ln -s lexer.lo lexer.o)
gcc -shared confuse.lo lexer.lo -Wl,-soname -Wl,libconfuse.0 -o .libs/libconfuse.0.0.0
(cd .libs && rm -f libconfuse.0 && ln -s libconfuse.0.0.0 libconfuse.0)
(cd .libs && rm -f libconfuse && ln -s libconfuse.0.0.0 libconfuse)
creating libconfuse.la
(cd .libs && rm -f libconfuse.la && ln -s ../libconfuse.la libconfuse.la)
make[2]: Leaving directory `/tmp/confuse/confuse-2.3.shared/src'
Making all in examples
make[2]: Entering directory `/tmp/confuse/confuse-2.3.shared/examples'
if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../src -g -O2 -MT cfgtest.o -MD -MP -MF ".deps/cfgtest.Tpo" -c -o cfgtest.o cfgtest.c; \ then mv -f ".deps/cfgtest.Tpo" ".deps/cfgtest.Po"; else rm -f ".deps/cfgtest.Tpo"; exit 1; fi make[2]: *** No rule to make target `../src/.libs/libconfuse.a', needed by `cfgtest'. Stop.
make[2]: Leaving directory `/tmp/confuse/confuse-2.3.shared/examples'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/confuse/confuse-2.3.shared'
make: *** [all] Error 2
address@hidden:/tmp/confuse/confuse-2.3.shared> find -name "lib*"
./m4/lib-link.m4
./m4/lib-ld.m4
./m4/lib-prefix.m4
./src/.libs/libconfuse.0
./src/.libs/libconfuse
./src/.libs/libconfuse.lai
./src/.libs/libconfuse.0.0.0
./src/.libs/libconfuse.la
./src/libconfuse.la
./libtool
./libconfuse.spec
./libconfuse.spec.in
./windows/msvc6/libConfuse
./windows/msvc6/libConfuse/libConfuse.dsp
./windows/msvc6/libConfuse/libConfuse.dsw
./windows/msvs.net/libConfuse
./windows/msvs.net/libConfuse/libConfuse.vcproj
./windows/devcpp/libConfuse.dev
./windows/borland/libConfuse.bpf
./windows/borland/libConfuse.bpr


So, any help appreciated, I am using autoconf-2.57-142 if it matters.

Thanks!
Brett




reply via email to

[Prev in Thread] Current Thread [Next in Thread]