[sane-devel] sane-backend 1.0.27 USB broken on Mac with Homebrew
Olaf Meeuwissen
paddy-hack at member.fsf.org
Sat Aug 12 05:32:01 UTC 2017
Hi Thomas,
schmo-fu writes:
> Okay, here i go again ...
>
> i can confirm, that it is not a permission problem. It's just that there
> are no files, where they should be.
>
> The scanner is recognized by sane-find-scanner now. But scanimage -L
> doesn't find it, because the sane-backends .conf files are supposed to
> be at:
> /usr/local/Cellar/sane-backends/1.0.27_1/etc/sane.d/
> but there is no etc/ (and there also is no doc/; both are present under
> 1.0.25_1; (»officially« there should also be a tools/, but this isn't
> present neither in 25 nor in 27).
>
> Looking at
> https://gist.github.com/anonymous/5e324f6e1c7c8b9ea4172a72e0352255
> [[see note]]
> the make-log shows, that the backends are all build with
> "-DPATH_SANE_CONFIG_DIR=usr/local/Cellar/sane-backends/1.0.27_2/etc/sane.d"
> which seems alright.
>
> Maybe they get deleted later? I don't know enough about this process, to
> know where to look for answers.
[ ... looking through the log ... ]
They don't get deleted later. The files to be installed don't get
created to begin with. This is arguably a bug in the sane-backends
build system but you can easily work around it by running a `make`
before doing a `make install`.
It looks like the homebrew stuff assumes that `make install` will be
smart enough to also trigger builds for everything that needs to be
installed. A bit overly optimistic, if you ask me ;-)
Below is the Makefile.am snippet that installs the configuration files.
The first line after the @list, checks for a readable configuration but
because all these files are generated they don't exist unless you run a
`make install` first.
install-becfg:
@# Libtool has a bug where it will sometimes symlink the last
@# installed library in $(sanelibdir) to $(sanelibdir)/libsane.*.
@# Having two libsane's can cause issues so get rid of it.
-rm -f $(DESTDIR)$(sanelibdir)/libsane.*
test -z "$(configdir)" || $(MKDIR_P) "$(DESTDIR)$(configdir)"
test -z "$(configdir)/dll.d" || $(MKDIR_P) "$(DESTDIR)$(configdir)/dll.d"
@list="$(BACKEND_CONFS_ENABLED) saned.conf dll.conf"; for cfg in $$list; do \
if test ! -r $${cfg}; then continue; fi; \
if test -f $(DESTDIR)$(configdir)/$${cfg}; then \
echo NOT overwriting $${cfg} in $(configdir)...; \
else \
echo installing $${cfg} in $(configdir)/$${cfg}...; \
$(INSTALL_DATA) $${cfg} $(DESTDIR)$(configdir)/$${cfg} \
|| exit 1; \
fi; \
done
I pushed a fix for this in 519ff57.
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join
More information about the sane-devel
mailing list