[Nix-dev] I think I've found an ar archive bug

Tony White tonywhite100 at googlemail.com
Tue Oct 20 02:10:37 CEST 2009


2009/10/19 Lluís Batlle <viriketo at gmail.com>:
> 2009/10/18 Tony White <tonywhite100 at googlemail.com>:
>> Hi guys,
>> Thanks for the replies. So libmad.a is a static library?
> In the GNU world, and many of the unix world, a "static library" means
> little more than putting the compiled object files into an archive. It
> could be a 'zip', a tar, or 'ar'. Well, 'ar' has some features like
> having an index of all the symbols in all the objects, I think (man
> ranlib).
> In the Microsoft and Borland compilers goes in a different way.
>
>> Audacity wants libmad.a because it uses the .o files inside the ar
>> archive as compile time dependencies and if I build it as shared on
>> fedora libmad.a is created.
> Yes, I think also the GNU Makefile (at least) can point to object
> files inside archive files (ar), and not only to usual filesystem
> files.
>
> Regards,
> Lluís.
>

Hi,
Yes; you are both exactly right. It's trying to build static libs. So
is the default nix expression configure option --disable-static ?
(Used by the generic builder.)

The dontDisableStatic = true; flag allowed audacity to build some of
it's deps. Thank you Peter!
The problem is now that it builds, is how to build it so that it
doesn't need certain static libs and uses the shared ones I've built
even when I explicitly tell it to. The script just won't find some of
them.
At least it builds in a working form now.

Thanks guys,
Tony



More information about the nix-dev mailing list