Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2001-06-16 14:25:46


I had everything working at the office yesterday, then tried it at home with
the latest Cygwin and it failed again with the same message :-(.

Finally, I
added -Wl,--exclude-symbols,_bss_end__:_bss_start__:_data_end__:_data_start_
_ to the command line and everything works again. None of the mailing list
messages on this problem mentioned that approach, and I had tried all the
others. Strange that this stuff gets by the release process, isn't it?

-Dave

----- Original Message -----
From: "Jerome Lecomte" <jlecomte_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Saturday, June 16, 2001 1:58 PM
Subject: [boost] Re: Build system/cygwin question

> Greg, Dave
>
> I had read these messages before but couldn't get it to work. I am
> sure I did something wrong but couldn't figure what.
>
> This lead me to the dllwrap alternative by Mumit Khan. I zipped the
> little toy project I made to test it and made it available on the
> vault. It seems to initialize the static object correctly and cope
> with dlopen/dlsym/dlclose.
>
> One thing though. As pointed out by Greg .so extension is replaced
> with .dll.
>
> JL
>
> --- In boost_at_y..., Greg Chicares <chicares_at_m...> wrote:
> > David Abrahams wrote:
> > >
> > > Is anyone out there familiar with building shared libraries under
> Cygwin?
> > >
> > > Does "g++ -shared" work?
> >
> > Yes.
> >
> > > When I tried it with a simple test program, I got:
> > > Cannot export _bss_end__: symbol not defined
> > > Cannot export _bss_start__: symbol not defined
> > > Cannot export _data_end__: symbol not defined
> > > Cannot export _data_start__: symbol not defined
> > > collect2: ld returned 1 exit status
> >
> > This message might help
> > http://www.cygwin.com/ml/cygwin/2001-03/msg00589.html
> > If the code has to do with python, try this one:
> > http://www.mail-archive.com/cygwin@s.../msg11037.html
> >
> > > Does it generate .so files that can be used in the usual unix
> fashion?
> >
> > Ummm...it generates .dll files that can be used in the usual
> > windows fashion. I don't know enough about unix to say how
> > that differs.
> >
> > > I realize there's something called dlltool; is that just for
> generating
> > > windows-standard DLLs, or is that the only way to generate a
> proper shared
> > > library with cygwin?
> >
> > dlltool is rarely needed. Go here
> > http://sources.redhat.com/cygwin/faq/faq_4.html#SEC97
> > and follow the link to
> > http://cygwin.com/ml/cygwin/2000-06/msg00688.html
> > Where it says
> > | To compile bar.exe to use the DLL:
> > |
> > | gcc -DUSEDLL -c bar.c -o bar.exe
> > | gcc bar.o libfoo.import.a -o bar.exe
> > |
> > | That's all there is to it.
> > make this change:
> > - gcc -DUSEDLL -c bar.c -o bar.exe
> > + gcc -DUSEDLL -c bar.c -o bar.o
> > I just verified that this works with the latest cygwin,
> > which uses gcc-2.95.3-4 .
>
>
> Info: http://www.boost.org Unsubscribe:
<mailto:boost-unsubscribe_at_[hidden]>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk