From: Vince D. <vi...@sa...> - 2002-07-30 08:57:48
|
I think this is the right way to go --- makes sense both logically, and 'symbol-link-ably', at least to me. thanks for investigating and carrying out all this tricky work. -- Vince <http://www.santafe.edu/~vince> On Mon, 29 Jul 2002, Alan W. Irwin wrote: > On Mon, 29 Jul 2002, Vince Darley wrote: > > > >> > > A separate tkwin_common.c is necessary because both plplotter.c and (the > > new) > > tkwin.c depend on the functions defined in there. > > >> > > > > I have to say, I find this crazy! It is not possible to use plplotter.c > > without tkwin.c and not possible to use tkwin.c without plplotter.c so, > > please, put them in the same .so! > > OK. A quick visual check of the source codes seemed to indicate moving > Plplotter_Init.o, plplotter.o tkwin_common.o from libplplottcltk to > drivers/tkwind_drv.so would work since nothing else in libplplottcltk seems > to depend on anything in those functions. > > IMPORTANT *all* these functions have to be moved since Plplotter_Init.o > depends on plplotter, and if you leave it behind you create a > cross-dependency and this affects the wish recipe, see below. > > Indeed when I tried that locally the -dev tkwin worked fine, i.e., gave its > usual message without any linking troubles at all. > > Same for plserver. runAllDemos.tcl worked fine. > > But now the wish recipe we had before doesn't work... > > wish > % source pldefaults.tcl > % load libplplottcltkd.so Plplotter > couldn't find procedure Plplotter_Init > > Obviously it is looking for Plplotter_Init inside > libplplottcltkd.so and cannot find it since that has been moved > to tkwind_drv.so. > > So now the new wish recipe from plplot/tmp should be > > source pldefaults.tcl > load drivers/tkwind_drv.so Plplotter > package provide Plplotter 5.1.0 > source runAllDemos.tcl > > which works fine and makes sense under the hierarchical linking rules that > are now in place since tkwin depends on and links to libplplottcltk. > However, attempting to find tkwind_drv at its install location of > $prefix/lib/plplot5.1.0/drivers/tkwind_drv.so will cause some trouble. For > example, you will probably have to specify the complete path name to get it. > Ultimately, this could be solved with a symlink. > > Vince, if this is the way you want to go (reuniting tkwin_common with tkwin > and moving Plplotter_Init.o and plplotter.o from libplplottcltk to > drivers/tkwind_drv.so while accepting the wish recipe changes that result) > that is fine with me, but I need direct confirmation from you before I go to > the additional configuration work to make this the permanent solution. > > Alan > > |