autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mangled argument vector choking on spaces?


From: Fotis Georgatos
Subject: Re: Mangled argument vector choking on spaces?
Date: Wed, 31 Dec 2014 19:36:41 +0200

Hello * and a happy new year,

As regards $subject, this so-called STRING_ENCODING_CHARMAP may be relevant:
https://github.com/hpcugent/easybuild-framework/blob/master/easybuild/tools/filetools.py#L59
Look around line L1000 for the rational of that design and some pointers.

Basically, ` ` becomes `_space_` and so on, for many more potentially tricky 
characters.
The aim was to have freedom in relation to packages/filenames. It seems to work 
OK! (*)

On Dec 31, 2014, at 7:00 PM, <address@hidden> <address@hidden> wrote:
> I propose developing and documenting a standard convention for spaces in 
> pathnames that
> focuses on making things easier for *users* - the builders of the software.
> This convention could be enabled by some statement in autoconf.ac, and perhaps
> it could be enabled by default some time in the future.
> If autoconf defined a simple convention for differentiating spaces in 
> pathnames
> from spaces in argument separators, it might "just work".  It'd be tricky to 
> find such a convention,
> but if one can be found, autoconf would be able to adapt to many common 
> systems.

(*)

To make a long story short, we faced the same problem during EasyBuild
open source project, for building software intended for HPC platforms; 
in fact, that one issue triggered me to request EB’s first hackathon whereby,
in the issued Pull Request, I contained the wishes of a handful of people.
It is not known if there are better ways to go about it - and if so, what’s 
that?

We opted for that solution as the least hackish or, least worst.
It does not preserve 1-1 character mapping but IMHO no generic solution
would do that, anyhow. I hope you find this technique useful/relevant.

enjoy,
Fotis


ps.
If you know *anybody* who has setup a database of build modes/instructions
for 1000s of software packages across architectures & OS platforms,
kindly pass on the information! (ie. something more reusable than pkgsrc)

N.B.
autoconf build processes are handled out-of-the-box by EB, here is an example:
https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/a/ABySS/ABySS-1.3.6-goolf-1.4.10-Python-2.7.5.eb

If you wonder why we bother with yet another build system, obviously,
you haven’t been debugging HPC environments for 100s of users; have fun reading 
this:
https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/b/boost.py


-- 
echo "sysadmin know better bash than english" | sed s/min/mins/ \
  | sed 's/better bash/bash better/' # signal detected in a CERN forum










reply via email to

[Prev in Thread] Current Thread [Next in Thread]