Re: [Fink-devel] Shlibs validation failures with new ode package
On Jan 24, 2009, at 10:15 PM, Daniel Johnson wrote: > libode.dylib needs to go in the dev package, not shlibs. It appears > that nothing currently depends on ode, yes? If so, I'd suggest > removing the ode-dev splitoff entirely, leaving all the dev files in > the main ode package. Make it BuildDependsOnly: true and leave the > ode-shlibs package as is and everything should work. Generally fink > packages use the libfoo, libfoo-shlibs nomenclature. You only create > a libfoo-dev splitoff if the main package contains user binaries. That seems to have done the trick, thanks! I've submitted it to the tracker as ID 2534457. Trevor -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Shlibs validation failures with new ode package
On Jan 24, 2009, at 7:33 PM, Trevor Harmon wrote: > On Jan 24, 2009, at 5:54 PM, Daniel Johnson wrote: > >> There are a couple of problems here. You have too many packages. >> There only needs to be a -dev and a -shlibs package. The >> unnecessary ode package only contains 2 files: libode.1.0.0.dylib, >> which needs to be in ode-shlibs and libode.la, which needs to go in >> ode-dev. It's because libode.1.0.0.dylib isn't in ode-shlibs that >> you're getting that validator error, since it's the actual shared >> lib: libode.1.dylib is just a symlink to it. > > Okay, I was able to get the packages to validate. However, I had to > remove libode.dylib from the shlibs because I was getting a > validation error: > > Error: Files with names less specifically versioned than ones in > public Shlibs entries do not belong in this package > Offending file: /sw/lib/libode.dylib > > I simply removed libode.dylib from the shlibs split off, but I don't > think that's right because now there's only libode.1.0.0.dylib and > libode.1.dylib. Shouldn't there be a libode.dylib somewhere as well? > > Also, regarding the unnecessary ode package... How do I address > this? I don't know how to remove it without also removing the split > offs. Thanks, > > Trevor libode.dylib needs to go in the dev package, not shlibs. It appears that nothing currently depends on ode, yes? If so, I'd suggest removing the ode-dev splitoff entirely, leaving all the dev files in the main ode package. Make it BuildDependsOnly: true and leave the ode- shlibs package as is and everything should work. Generally fink packages use the libfoo, libfoo-shlibs nomenclature. You only create a libfoo-dev splitoff if the main package contains user binaries. Daniel -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Shlibs validation failures with new ode package
On Jan 24, 2009, at 5:54 PM, Daniel Johnson wrote: There are a couple of problems here. You have too many packages. There only needs to be a -dev and a -shlibs package. The unnecessary ode package only contains 2 files: libode.1.0.0.dylib, which needs to be in ode-shlibs and libode.la, which needs to go in ode-dev. It's because libode.1.0.0.dylib isn't in ode-shlibs that you're getting that validator error, since it's the actual shared lib: libode.1.dylib is just a symlink to it. Okay, I was able to get the packages to validate. However, I had to remove libode.dylib from the shlibs because I was getting a validation error: Error: Files with names less specifically versioned than ones in public Shlibs entries do not belong in this package Offending file: /sw/lib/libode.dylib I simply removed libode.dylib from the shlibs split off, but I don't think that's right because now there's only libode.1.0.0.dylib and libode.1.dylib. Shouldn't there be a libode.dylib somewhere as well? Also, regarding the unnecessary ode package... How do I address this? I don't know how to remove it without also removing the split offs. Thanks, Trevor ode.info Description: Binary data -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Shlibs validation failures with new ode package
On Jan 24, 2009, at 5:33 PM, Daniel Macks wrote: > The validator messages and otool-L are all self-consistent: the > problem (and it *is* a problem) is that the lib is coded as if it > exists in /opt/ode instead of in %p. Actually, the reason why otool reports /opt/ode is most likely because I used --prefix=/opt/ode when configuring the manual install. Trevor -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Shlibs validation failures with new ode package
On Jan 24, 2009, at 4:29 PM, Trevor Harmon wrote: > Hi, > > I'm the maintainer of the ode package, which has had a history of > problems related to shlibs [1]. Luckily, ode now uses libtool, and > it also fixes a problem that was preventing successful builds on > Leopard, so I thought I'd hit two birds with one stone and upgrade > Fink's package for ode to the latest upstream. > > I've now got a version that's mostly working, but it gives me > validation errors related to shlibs, and I'm not sure how to fix > them. Validating ode-shlibs gives: > > Error: Shlibs field specifies file '/sw/lib/libode.1.dylib', but it > does not exist! > > And validating ode gives: > > Error: package contains the shared library > /sw/lib/libode.1.0.0.dylib > but the corresponding install_name and compatibility_version > %p/lib/libode.1.dylib 2.0.0 > are not listed in the Shlibs field. See the packaging manual. > > On a manual installation of ode, running "otool -L" on the dylib > gives: > > /opt/ode/lib/libode.dylib: > /opt/ode/lib/libode.1.dylib (compatibility version 2.0.0, current > version 2.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 111.1.3) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current > version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > Everything looks right in my .info, so I don't know how to fix these > errors. I've attached the .info I've created, so maybe somebody can > spot my mistake. Thanks, > > Trevor There are a couple of problems here. You have too many packages. There only needs to be a -dev and a -shlibs package. The unnecessary ode package only contains 2 files: libode.1.0.0.dylib, which needs to be in ode-shlibs and libode.la, which needs to go in ode-dev. It's because libode.1.0.0.dylib isn't in ode-shlibs that you're getting that validator error, since it's the actual shared lib: libode.1.dylib is just a symlink to it. Daniel -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel
Re: [Fink-devel] Shlibs validation failures with new ode package
On Sat, Jan 24, 2009 at 04:29:23PM -0500, Trevor Harmon wrote: > Hi, > > I'm the maintainer of the ode package, which has had a history of > problems related to shlibs [1]. Luckily, ode now uses libtool, and it > also fixes a problem that was preventing successful builds on Leopard, > so I thought I'd hit two birds with one stone and upgrade Fink's > package for ode to the latest upstream. > > I've now got a version that's mostly working, but it gives me > validation errors related to shlibs, and I'm not sure how to fix them. > Validating ode-shlibs gives: > > Error: Shlibs field specifies file '/sw/lib/libode.1.dylib', but it > does not exist! > > And validating ode gives: > > Error: package contains the shared library > /sw/lib/libode.1.0.0.dylib >but the corresponding install_name and compatibility_version > %p/lib/libode.1.dylib 2.0.0 >are not listed in the Shlibs field. See the packaging manual. > > On a manual installation of ode, running "otool -L" on the dylib gives: > > /opt/ode/lib/libode.dylib: > /opt/ode/lib/libode.1.dylib (compatibility version 2.0.0, current > version 2.0.0) > /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current > version 111.1.3) > /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current > version 7.4.0) > /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current > version 1.0.0) > > Everything looks right in my .info, so I don't know how to fix these > errors. I've attached the .info I've created, so maybe somebody can > spot my mistake. Thanks, The validator messages and otool-L are all self-consistent: the problem (and it *is* a problem) is that the lib is coded as if it exists in /opt/ode instead of in %p. That means there is probably an unstream bug in the -install_name flag being passed when the lib itself is compiled. Maybe a Makefile hard-codes a path instead of using $prefix, or somehow else over-rides libtool or auto* defaults. dan -- Daniel Macks dma...@netspace.org http://www.netspace.org/~dmacks -- This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword ___ Fink-devel mailing list Fink-devel@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.devel