[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How about this?
From: |
Robert Boehne |
Subject: |
Re: How about this? |
Date: |
Fri, 01 Feb 2002 15:35:44 -0600 |
Allan:
ld doesn't work for linking c++, so you need to have an
alpha version (or CVS HEAD) of Libtool to do this.
Robert
Allan McIntosh wrote:
>
> I don't believe my question is bug related. I am just seeking advice,
> having struggled way to long with this.
>
> In my hand written Makefile I have the following:
>
> g++ -MD -fPIC -c source1.c
> g++ -MD -fPIC -c source2.c
> g++ -MD -fPIC -c source3.c
>
> and so on up untill:
>
> g++ -o libagent.so -fPIC -L/usr/local/lib -G Agent.o AgentObject.o
> AgentObjectLinux.o AgentObjectFactory.o Vector.o Attribute.o
> SharedLibrary.o SharedLibraryMgr.o Storage.o StorageFile.o
> AttributeContainer.o ObjectContainer.o AgentObjectVersion.o ODParser.o
> XMLParser.o XMLItem.o md5.o -lcrypt -ldl -lltapi12 -lltstd12 -lz g++ -o
>
> g++ -o agent -fPIC AGENT_grammar.o AGENT_tokens.o main.o -lfl -lsocket -lnsl
> -lagent
>
> Providing me with libagent.so and agent.
>
> ---------------------------------------------------------------
>
> Using Autotools and libtool do the following:
>
> Makefile.am:
>
> lib_LTLIBRARIES = libagent.la
> libagent_la_SOURCES = Agent.cc AgentObject.cc AgentObjectLinux.cc
> AgentObjectFactory.cc\
> Vector.cc Attribute.cc SharedLibrary.cc SharedLibraryMgr.cc\
> Storage.cc StorageFile.cc AttributeContainer.cc ObjectContainer.cc
> AgentObjectVersion.cc\
> ODParser.cc XMLParser.cc XMLItem.cc md5.cc
>
> libagent_la_LDFLAGS = -L/usr/local/lib
> libagent_la_DEPENDENCIES =
> libagent_la_LIBADD =
>
> compile output:
>
> source='AgentObject.cc' object='AgentObject.lo' libtool=yes \
> depfile='.deps/AgentObject.Plo' tmpdepfile='.deps/AgentObject.TPlo' \
> depmode=gcc /bin/sh ../depcomp \
> /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../src
> -I/usr/local/include -g -O2 -c -o AgentObject.lo `test -f
> AgentObject.cc || echo './'`AgentObject.cc
> rm -f .libs/AgentObject.lo
> g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I/usr/local/include -g -O2 -c
> AgentObject.cc -Wp,-MD,.deps/AgentObject.TPlo -fPIC -DPIC -o
> .libs/AgentObject.lo
> g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I/usr/local/include -g -O2 -c
> AgentObject.cc -Wp,-MD,.deps/AgentObject.TPlo -o AgentObject.o >/dev/null
> 2>&1
> mv -f .libs/AgentObject.lo AgentObject.lo
>
> All the way down to:
>
> /bin/sh ../libtool --mode=link g++ -g -O2 -o libagent.la -rpath
> /home/agent/lib -L/usr/local/lib Agent.lo AgentObject.lo
> AgentObjectLinux.lo AgentObjectFactory.lo Vector.lo Attribute.lo
> SharedLibrary.lo SharedLibraryMgr.lo Storage.lo StorageFile.lo
> AttributeContainer.lo ObjectContainer.lo AgentObjectVersion.lo ODParser.lo
> XMLParser.lo XMLItem.lo md5.lo -lnsl -lz -lltstd12 -lltapi12 -lfl -ldl
> -lcrypt -lsocket
> rm -fr .libs/libagent.la .libs/libagent.* .libs/libagent.*
> /usr/ccs/bin/ld -G -h libagent.so.0 -o .libs/libagent.so.0.0.0 Agent.lo
> AgentObject.lo AgentObjectLinux.lo AgentObjectFactory.lo Vector.lo
> Attribute.lo SharedLibrary.lo SharedLibraryMgr.lo Storage.lo
> StorageFile.lo AttributeContainer.lo ObjectContainer.lo
> AgentObjectVersion.lo ODParser.lo XMLParser.lo XMLItem.lo md5.lo
> -L/usr/local/lib -lnsl -lz -lltstd12 -lltapi12 -lfl -ldl
> -lcrypt -lsocket -lc
>
> (cd .libs && rm -f libagent.so.0 && ln -s libagent.so.0.0.0 libagent.so.0)
> (cd .libs && rm -f libagent.so && ln -s libagent.so.0.0.0 libagent.so)
> ar cru .libs/libagent.a Agent.o AgentObject.o AgentObjectLinux.o
> AgentObjectFactory.o Vector.o Attribute.o SharedLibrary.o
> SharedLibraryMgr.o Storage.o StorageFile.o AttributeContainer.o
> ObjectContainer.o AgentObjectVersion.o ODParser.o XMLParser.o XMLItem.o
> md5.o
> ranlib .libs/libagent.a
> creating libagent.la
> (cd .libs && rm -f libagent.la && ln -s ../libagent.la libagent.la)
>
> The lib tool version segfaults on start up. Therefore I can not debug it.
> What exactly is the difference? I am on the verge of removing the libtool
> portion of the build process on i386-pc-solaris2.8.
>
> Thanks again in advance.
>
> _______________________________________________
> Libtool mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool
--
Robert Boehne Software Engineer
Ricardo Software Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email: address@hidden