[sane-devel] [PATCH] undef linux before defining STRINGIFY

Niels Ole Salscheider niels_ole at salscheider-online.de
Wed Jun 10 17:53:36 UTC 2015


On Wednesday 10 June 2015, 08:38:53, Olaf Meeuwissen wrote:
> Olaf Meeuwissen writes:
> > Niels Ole Salscheider writes:
> >> Am 2015-06-09 14:21, schrieb m. allan noah:
> >>> We need more info here. Where do you see this expansion problem?
> >>> 
> >>> allan
> >> 
> >> The problem is that LIBDIR is passed as a define from the build system.
> >> Then, STRINGIFY(LIBDIR) is used in backend/dll.c to get a string of the
> >> search path for the backends.
> >> This seems to be fine but it can become a problem since "linux" is
> >> definded to "1" by default.
> >> 
> >> This causes an issue on e. g. Exherbo, my linux distribution. Exherbo
> >> installs all packages to /usr/target-triplet/{bin,lib,include,...} so
> >> that you can have packages for different architectures on the same root.
> >> On my system, sane would be installed to /usr/x86_64-pc-linux-gnu/...,
> >> so that LIBDIR would be defined to be /usr/x86_64-pc-linux-gnu/lib.
> >> But now, STRINGIFY(LIBDIR) turns this into /usr/x86_64-pc-1-gnu/lib
> >> (since it also expands linux) - and as a result, sane cannot find any
> >> backends.
> > 
> > Rather than willy-nilly undefine `linux` (unconditionally at that) in
> > include/sane/sanei.h without really knowing what else might break ;-),
> > I would remove the `STRINGIFY()` calls from backend/dll.c.  The build
> > system passes LIBDIR as a properly quoted string already with a
> > 
> >  -DLIBDIR="$(libdir)/sane"
> > 
> > in AM_CPPFLAGS in backend/Makefile.am.
> 
> Scrap that.  I shouldn't reply before the second cup of coffee.  :-(
> 
> The double quotes in Makefile.am are eaten by the shell.  You would also
> need to change the above to
> 
>   -DLIBDIR="\"$(libdir)/sane\""
> 
> in backend/Makefile.am and run autoreconf to update the rest of the
> build system to make my suggestion work.

I have sent an updated patch. I guess the build system is re-generated once 
before each release?

> Hope this helps,
> --
> Olaf Meeuwissen, LPIC-2           FLOSS Engineer -- AVASYS CORPORATION
> FSF Associate Member #1962               Help support software freedom
>                  http://www.fsf.org/jf?referrer=1962




More information about the sane-devel mailing list