thanks for your replies
I have build lot of libraries,which library i have to build shared or
static so that i can solve this problem...
On Fri, May 10, 2013 at 3:32 AM, Gorshkov <gorshkovlists@...> wrote:
> On 5/9/2013 3:39 PM, Eli Zaretskii wrote:
> >> Date: Thu, 09 May 2013 14:13:07 -0400
> >> From: Gorshkov <gorshkovlists@...>
> >>
> >> short answer, one that I've stumbled across more than once myself the
> >> last few weeks: create EITHER static or dynamic libs - but not both.
> >
> > Actually, quite a few packages can do both at the same time. It's a
> > question of how recent the autotools they use.
> >
> > And I don't think this is the problem here, because MinGW's dirent
> > functions are in libmingwex.a. This command:
> >
> > nm -A libmingwex.a | grep "dir$"
> >
> > produces:
> >
> > (standard input):1283:\usr\lib\libmingwex.a:dirent.o:00000390 T
> _closedir
> > (standard input):1289:\usr\lib\libmingwex.a:dirent.o:00000000 T
> _opendir
> > (standard input):1290:\usr\lib\libmingwex.a:dirent.o:00000240 T
> _readdir
> > (standard input):1291:\usr\lib\libmingwex.a:dirent.o:000003f0 T
> _rewinddir
> > (standard input):1292:\usr\lib\libmingwex.a:dirent.o:00000490 T
> _seekdir
> > (standard input):1296:\usr\lib\libmingwex.a:dirent.o:00000450 T
> _telldir
> > (standard input):1304:\usr\lib\libmingwex.a:wdirent.o:00000360 T
> __wclosedir
> > (standard input):1308:\usr\lib\libmingwex.a:wdirent.o:00000000 T
> __wopendir
> > (standard input):1309:\usr\lib\libmingwex.a:wdirent.o:00000250 T
> __wreaddir
> > (standard input):1310:\usr\lib\libmingwex.a:wdirent.o:000003c0 T
> __wrewinddir
> > (standard input):1311:\usr\lib\libmingwex.a:wdirent.o:00000460 T
> __wseekdir
> > (standard input):1312:\usr\lib\libmingwex.a:wdirent.o:00000420 T
> __wtelldir
> >
> > IOW, these functions are statically linked into MinGW programs, so it
> > is unusual to see _imp__opendir etc, which come from some import
> > library.
> >
> > Finally, I built this version of GnuTLS myself with MinGW, and didn't
> > see any such problems.
> >
>
> yes most *can* - I'm not disputing that. I guess I have to go into my
> long answer after all - I was hoping *not* to, because I've done some
> quick checking, but no in-depth investigation, and didn't want to give a
> long-winded answer that turned out to be coming from out of my arse :)
>
>
> So, here it is ...
>
> Many packages use different compiler settings when generating "static"
> vs "shared" object files - PIC vs non-PIC, etc. Some packages deal with
> this by renaming some of their routines via macros, depending on shared
> or non-shared .... but if their Makefile setup is such that they do NOT
> generate seperate obj files for each, what you wind up with is a case of
> the object file generated for the static library (containing code for
> XXX()) being used in the SHARED library (which has been redefined to
> expect imp_XXX()) - which is exactly the case here.
>
> So, I think my short answer holds - if you're having that particular
> problem, configure and generate static OR shared - but not both.
>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and
> their applications. This 200-page book is written by three acclaimed
> leaders in the field. The early access version is available now.
> Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
> _______________________________________________
> MinGW-users mailing list
> MinGW-users@...
>
> This list observes the Etiquette found at
> http://www.mingw.org/Mailing_Lists.
> We ask that you be polite and do the same. Disregard for the list
> etiquette may cause your account to be moderated.
>
> _______________________________________________
> You may change your MinGW Account Options or unsubscribe at:
> https://lists.sourceforge.net/lists/listinfo/mingw-users
> Also: mailto:mingw-users-request@...
>
|