File: buildnotes

package info (click to toggle)
dstool 2.0-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 8,384 kB
  • ctags: 8,859
  • sloc: ansic: 50,817; fortran: 17,506; makefile: 1,549; csh: 872; sh: 518; perl: 41
file content (86 lines) | stat: -rw-r--r-- 2,336 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
The original source unpacks into same directory.
Fix this in the usual way.
Most of the source is still in another tar.Z file after
unpacking, install/blah.tar.Z .
This also unpacks in same dir. So make another
subdir called 'src' and unpack this.
Then tar everything up into a new source file.

Testing things.
set DSTOOL to  dstool-2.0/install .
type make dstool. Get some stuff to compile,
but there are some errors.  There is a csh script
which asks configuration questions and does a build.
I find how to configure from this.

all the following fixed errors that stopped compile
{
 in src/twoD/complete.c changed the way the NAMLEN
 macro is defined.

 Makefile in src/contrib/locbif/loclbf refers to 
 f77 .

 Many fortran files give error when functions are called
 with INTEGER*2 args.  Changing them to INTEGER*4 seems to
 work.
 
 Changed a type LOGICAL to CHARACTER, in a fortran file

 added -w flag in some fortan makefile to suppress warnings
 that killed compile.

}

OK won't link now 
eg, termnt.o(.text+0xb): undefined reference to `loclbf_halt__'

The source says,
src/contrib/locbif/loclbf/complbf/termnt.F


	integer halt
        external loclbf_halt !$pragma C( loclbf_halt )
...
	call loclbf_halt(halt)

This is probably some f2c thing ?

Same with this.
homey 22 > grep 'getfv' */*.F
complbf/funtds.F:      external getfv  !$pragma C( getfv  )
complbf/funtds.F:      call getfv(x, t, f)

complbf/store.F:	external lbmem !$pragma C( lbmem )
complbf/store.F:	call lbmem( X, N, P, M, T, PointType, Npt )

homey 24 > grep 'getuf' */*.F
complbf/funtds.F:      external getufv !$pragma C( getufv )
complbf/funtds.F:      call getufv(ifn,x,t,funres) 

Aha , Here is one of them.
locbif/locpanels/locbif_mem_go.c:getfv(x, t, f)


It was trailing underscores that needed to be added to 
three functions in locbif/locpanels/locbif_mem_go.c .
Now it works fine.
 
But the binary segfaults. Strace shows this is because it
cannot read an intitialization file.

Example in 
sample_nowin_session
works just fine.

Maybe dstool doesn't work because it was not compiled with openwinhome defined.

Hmm compile with -g.
Look in src/main/config.c and put in a breakpoint. Turns out to
be the correct file.

Attempt to close null FILE *fp  caused segfault in here.
src/utilities/file_util.c

Fixed it.  Now pretty xwindows appear.