On Fri, 2011-11-04 at 02:29 -0400, Charles Wilson wrote: > On 10/7/2011 12:18 PM, Jussi Kantola wrote: > > However I had to modify backend-main.c so that the config file (which > > defines the location of index files) > > could be read from cygwin's preferred location, > > /usr/share/astrometry/etc/backend.cfg. > > That's a little odd, and I don't think that's exactly what was meant by > the documentation http://cygwin.com/setup.html#package_contents. > > I don't think this is a showstopper for this release, but ordinarily > configuration files belong in the top-level /etc directory. However, > once installed there, a name like "backend.cfg" is poorly chosen, since > it doesn't really indicate what package it belongs to, and thus might > conflict with some other package.
Then this should be /etc/astrometry/backend.cfg instead. > IOW, cygwin python's distutils is _doing the right thing_ -- creating > the plugin with the name spherematch_c.dll -- but the Makefile in > astrometry.net thinks the plugin will always be named spherematch_c.so > and reports an error when it tries to install the latter file. So patch the Makefile.in. > Now, this bit is interesting: > - mkdir -p $(INSTALL_DIR)/python/astrometry/libkd > + mkdir -p $(INSTALL_DIR)/share/astrometry/python/astrometry/libkd > > Normally, python extensions go under the "real" python dir: > > /usr/lib/python2.6/site-packages/<pkgname>/... > > But...this whole build system doesn't really support that; it hardcodes > the destination path and then adds that path to sys.path via the > "application" .py files; when it really should use some mechanism to > find the entry in $python's sys.path list which contains "site-packages". > > So...accepting that, the python stuff should ALSO go under /lib rather > than /share, because (a) the .pyc files are platform specific, and (b) > the .dll's which ought to go there are also platform specific. I'm not so sure about (a), but my Linux VMs already use Python 2.7 so I couldn't check. That aside, I have no problem with application-specific pure-Python code in /usr/share/$PN, as they serve no purpose outside the given application, and many packages do this, in fact. Obviously DLL extensions can't go there though. > ....so, not GTG. Also, you missed Corinna's statement: "If the binaries > are using it (the libbackend library), they should also be linked > against [the DLL], rather than being linked statically." > > Your build still links against libbackend.a, rather than cygbackend.dll. > > I'm trying to massage your -src package to DTRT. Stay tuned. Good luck, it sounds like this software is quite unpolished. No wonder it's not in the distros yet. Yaakov