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.

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

Reply via email to