[GRASS-dev] GRASS 6.3.0 release preparation
Glynn Clements
glynn at gclements.plus.com
Fri Oct 19 00:11:34 EDT 2007
Glynn Clements wrote:
> > sorry but I'm not an make guru and thus see it simple: if I run comand
> > "make -j4" it should get along with it or fail with "err blah parallel
> > buld not supported". Current CVS version does neither of it.
>
> It works for me. If this is a bug in the system's development tools,
> there isn't much that the Makefiles can do about it.
>
> > As
> > multicore CPU's are getting more popular, more and more users will be
> > trying to run "make -j X" and thus report failure as bug [1].
> >
> > If I can help with testing, drop me instructions.
>
> First, ensure that you have a clean source tree with no local
> modifications. Then, run:
>
> make clean
> make -d -j 4 DIRS=lib &> build.log
> gzip -9 build.log
>
> Send me the build.log.gz file.
That didn't appear to tell me anything useful, until I noticed:
Finished compilation: CÂ okt 18 01:02:10 EEST 2007
So:
$ cd lib/gis/colors/
$ cat foo.make
COLORSRC := $(wildcard [a-z]*)
test:
@echo $(COLORSRC)
$ make -f foo.make test
aspect aspectcolr bcyr bgyr byg byr curvature differences elevation etopo2 evi foo.make grey grey1.0 grey255 gyr ndvi population rainbow ramp ryb ryg slope srtm terrain wave
$ LANG=lv_LV make -f foo.make test
aspect aspectcolr bcyr bgyr byg byr curvature CVS differences elevation etopo2 evi foo.make gyr grey grey1.0 grey255 ndvi population rainbow ramp ryb ryg slope srtm terrain wave
^^^
So, the way that $(wildcard ...) handles character ranges depends upon
locale settings. I don't know if that's intentional or on oversight;
locales simply aren't mentioned in the make documentation.
Setting LANG in the Makefiles doesn't help, as (AFAICT) setlocale()
gets called before the Makefiles are read.
In this case, changing [a-z]* to [abcdefghijklmnopqrstuvwxyz]* seems
to work. Ugly, but I guess that it will have to do.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list