[GRASS-user] ps.map vpoints eps trouble

Frank Broniewski liste at geo-dienstleistung.de
Wed Nov 14 02:06:34 EST 2007


On Wednesday 14 November 2007 03:08:52 Hamish wrote:
> > Frank Broniewski wrote:
> > > I have a vector layer with points representing sites. I want to use eps
> > > graphics to represent the sites in ps.map. I define the the points
> > > layer in
> > >
> > > the map description file like below
> > >
> > > vpoints sites
>
> ..
>
> > >   eps /home/frank/brassard.svg.eps
>
> ..
>
> > >   end
> > >
> > > but when I run
>
> ..
>
> > > ps.map exits with a segmentation fault: Segmentation fault (core
> > > dumped)
>
> Hamish:
> > It works for me using the GRASS logo EPS file,
>
> It worked for me in Debian as I had compiled with the gcc -g debug flag,
> which sets all unint'd memory to null AFAIK.
>
> > Is there any other message with the SegFault? e.g. I am aware that a
> > malformed SQL query causes a segfault, but you get a message about that.
>
> I've now fixed that (unrelated) segfault.
>
> > do see see text like this:
> >   epstype=1, pre=/usr/local/src/grass/grass63/tools/grasslogo_vector.eps,
> > suf=(null)
> >   Scale set to 1 : 102867.
> >   ...
> > ?
>
> ..
>
> > I notice in r_vpoints.c that the EPS suffix (vector.layer[vec].epssuf) is
> > uninitialized if epstype=1.  ?  (thus above suf=(null))
>
> I believe the above "suf=(null)" was the problem. It was trying to printf()
> an uninitialized variable. Fixed in CVS and backported to the 6.2 branch.
>
>
> The only work around for your current version would to be to put a "$" at
> the end of the eps filename in the ps.map instruction file (but not
> actually on the eps file itself)
>    eps /home/frank/brassard.svg.eps$
>
> and then make a symlink back to the eps file for every category number.
> If you put the "$" but don't make the symlinks you'll get a lot of errors
> telling you what cat/files it wanted to see. The "$" in the eps instruction
> lets you use different .eps files based on cat number, the "$" is replaced
> by the cat number for the eps filename. In the above, "suf=" is everything
> after the $, which for you didn't exist.
>
>
> Hamish
>
>
>
>      
> ___________________________________________________________________________
>_________ Be a better sports nut!  Let your teams follow you
> with Yahoo Mobile. Try it now. 
> http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ

Hi Hamish,

I replied already yesterday to you, but somehow this email got lost in the 
internet universe. I C&P my answer here for your info:

thanks for your help. I downloaded the grass logo from the website because it 
wasn't on my harddrive. I prepared a test case with just the point layer in 
it and it runs fine too. I added succesively on layer after the other to 
track the problem down. By adding a raster map as background I could 
reproduce the problem. The whole file looks like below:

paper a3
  end

raster dgm

vpoints sites
  color black
  fcolor 98 87 78
#  symbol basic/circle
  eps /home/frank/grasslogo_vector.eps
  rotate 0
  masked n
  size 1
  where epoch = 'Préhistoire' and category = 'Objet isolé'
  label Objet isolé
  end

And the last 10 lines or so befor ps.map exits:
D2/5: Vect_cidx_open(): name = sites mapset= PERMANENT
D3/5: dig_cidx_init()
D3/5: dig_read_cidx()
D3/5: dig_cidx_init()
D3/5: Cidx header: file version 5.0 , supported from GRASS version 5.0
D3/5:   byte order 0
D3/5:   header size 9
D1/5: V1_open_old_nat(): name = sites mapset = PERMANENT
D2/5: Coor header: file version 5.1 , supported from GRASS version 5.1
D2/5:   byte order 0
D2/5:   header size 14
D2/5:   with_z 0
D2/5:   coor size 31305
D1/5: get coor 
info: /home/frank/grassdata/Luxembourg/PERMANENT/vector/sites/coor
D1/5: Info->size = 31305, Info->mtime = 1194884927
D1/5: coor size in head = 31305, real coor file size= 31305
D2/5: dig_file_load ()
D2/5:   requested mode = 2
D2/5:   size = 31305
D2/5:   file was not loaded to the memory
D1/5: Vect_open_old(): vector opened on level 2
D1/5: Vect_read_dblinks(): map = sites, mapset = PERMANENT
D3/5: Searching for FID column in OGR DB
D1/5: dbln file: /home/frank/grassdata/Luxembourg/PERMANENT/vector/sites/dbln
D4/5: G_getl2: ->1 sites id host=192.168.0.10,dbname=epc pg<-
D1/5: dbln: 1 sites id host=192.168.0.10,dbname=epc pg
D3/5: Field number <1>, name <(null)>
D3/5: Vect_check_dblink: field 1
D1/5: field = 1 name = (null), table = sites, key = id, database = 
host=192.168.0.10,dbname=epc, driver = pg
D4/5: G_getl2: -><-
D1/5: Dblinks read
D1/5: Vect_Rewind(): name = sites
D1/5: Vect_close(): name = sites, mapset = PERMANENT, format = 0, level = 2
D1/5: close history file
D1/5: V1_close_nat(): name = sites mapset= PERMANENT
D4/5: G_getl2: ->  color black<-
D3/5: G_str_to_color(): str = 'black'
D4/5: G_getl2: ->  fcolor 98 87 78<-
D3/5: G_str_to_color(): str = '98 87 78'
D4/5: G_getl2: ->#  symbol basic/circle<-
D4/5: G_getl2: ->  eps /home/frank/grasslogo_vector.eps<-
Segmentation fault (core dumped)
GRASS 6.2.2cvs (Luxembourg):~ > 

Just as an info: I run grass 6.2.2cvs on my Ubuntu 7.04 from the repositories.

Frank




More information about the grass-user mailing list