From: Alan W. I. <ir...@be...> - 2002-07-29 18:36:46
|
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 |