2010/1/29 Gabriel M. Beddingfield <[email protected]>:
>
>
> On Fri, 29 Jan 2010, Daniel Roßberg wrote:
>
>> many programs using these.  And there is my point:  The programs
>> memorized the Python, TCL, etc. library version they were build with.
>> For example you may use the package manager of your choice an look at
>> the dependencies section there.  This section won't ask the installed
>> Python, TCL etc. for its version but a manifest file belonging to the
>> program.
>
> Not exactly.  When they load the .so-file (equiv. of a DLL) there is one or
> more API versions (integer) encoded in the library file.  ld looks for a
> library with the right name and internal API version to load.  The API
> version must change whenever your binary API changes (e.g. you add a member
> to a class, you remove a function, you change a function parameters, etc.).
>  Read the libtool manual for details on this.
>
> So, they don't look into a manifest file, it's encoded in the so-file.

We have probable a misunderstanding here.  In the mentioned paragraph
I wasn't talking about source and object files but about executable
and .deb files.  I.e. if I install a .deb file all its dependencies
are mentioned in this file without access to the .so files.

However, you made an interesting point there:  "ld looks for a library
with the right ... internal API version to load."  Where does ld know
"the right internal API version" from?  (I hope the answer isn't
"libtool".  BTW, "man libtool" gives a rather short explanation.)

>> Now I want to do something similar with BRL-CAD.  How do I get the
>> dependency/compatibility numbers for my manifest file?  (I don't
>> really have a manifest file but something similar.)
>>
>> BTW, this is a problem on MS Windows only.  "make install" copies the
>> brlcad_config.h too which contains the PACKAGE_STRING and
>> PACKAGE_VERSION defines.
>
> I'm not sure what the Windows equivalent of libtool is. Maybe libtool's
> versioning works on Windows, too?  Anyway, on Windows I think this problem
> is called "DLL Hell," and searching that term (and its solutions) might
> point you in a good direction.
>
> HTH,
> Gabriel
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the
> business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> BRL-CAD Developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/brlcad-devel
>
>

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
BRL-CAD Developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-devel

Reply via email to