[GRASS-dev] GRASS 6.3.0 release preparation
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 .
> > 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
$ cd lib/gis/colors/
$ cat foo.make
COLORSRC := $(wildcard [a-z]*)
$ 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