[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Confuse-devel] --enable-shared not working for me,
Brett Russ <=