David Fang wrote: >>> The package update I'm working on: >>> http://sourceforge.net/tracker/index.php?func=detail&aid=1926383&group_id=17203&atid=414256 >>> >>> The error message: >>> Error: package contains a dylib with no corresponding Shlibs entry >>> (/sw/lib/magic/tcl/exttosim.dylib -> exttosim.dylib 0.0.0) >>> If this is a private library, add >>> '!/sw/lib/magic/tcl/exttosim.dylib' to the Shlibs field. >> [more of these for other .dylib] >>> ... but I've done exactly that in Shlibs (no whitespace). >>> [puzzled look] >> I wonder if the validation-message is the problem. Notice that it >> first says that the target is "exttosim.dylib 0.0.0", but then later >> says that the Shlibs entry is "/sw/lib/magic/tcl/exttosim.dylib". >> Could you verify that the first line of the output of 'otool -L' on >> that file is indeed just "exttosim.dylib (compatibility version >> 0.0.0)", i.e., the simple filename rather than the full path? The >> Shlibs field is required to contain the install_name (what the file >> calls itself according to otool -L). > > % pwd > /sw/src/fink.build/root-magic74-7.4.59-1/sw/lib/magic/tcl > % otool -L exttosim.dylib > exttosim.dylib: > exttosim.dylib (compatibility version 0.0.0, current version > 0.0.0) > /usr/lib/libSystem.B.dylib (...) > /usr/lib/libgcc_s.1.dylib (...) > >> OTOH, that looks a lot like an upstream bug in the package too >> (similar to what dbreiser saw a week or so ago), where a library has a >> "simple filename" install_name instead of the full path to it. > > So it looks like we only get a simple filename, no full path. > What corrective action should be taken? > I only need this to work as a private shared library for this package.
Hi David, A basename shared library like this will only be found by dyld if it is in a directory that is listed in DYLD_FALLBACK_LIBRARY_PATH (~/lib /usr/local/lib /lib /usr/lib if the var is unset), so if your package actually works, it would imply that nothing is statically linked to this shared library. Is that the case, does it appear in the otool -L output of any other objects in your package? If not, it is probably loaded with dlopen(), and there should be a way to make the validator be quiet about it, maybe just '!exttosim.dylib' in the Shlibs field? Peter -- Peter O'Gorman http://pogma.com ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel