From: mathog@seqaxp.bio.caltech.edu Sent: Saturday, August 12, 2000 2:22 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: shareable image library (too big ???) In article <4.3.2.7.0.20000811083906.00cab580@24.8.96.48>, Dan Sugalski writes: >At 01:45 PM 8/11/00 +0200, Rainer Lehrig wrote: >>Hello, >> >>I have the C++ GUI libray Qt for OpenVMS >>(see: http://www.trolltech.com >>and http://www.lehrig.de (there click button service)) as ordinary *.olb >> >>Now I want to convert the library to a shareable image library. >>I produced an option file with SYMBOL_VECTOR = all qt routines. >> >>The problem is: >>VMS tells me that the SYMBOL_VECTOR is to big. >> >>Question: >>Is there a workaround ? >>What can I do ? > >You can always have multiple SYMBOL_VECTORs specified. That's what we do >with perl and it works out just fine. Have a look at: http://seqaxp.bio.caltech.edu/pub/SOFTWARE/MAKE_OPT_FROM_OLB.COM Which I use like this to build shared images from .olb files (assuming it doesn't also need further touch up work to the .olb to handle, for instance, global symbols.) $ write sys$output "Starting to build XPM shared library" $ @MAKE_OPT_FROM_OLB xpm.olb X11 XPMDATATYPES,XPMCOLORKEYS $ link/share=[]xpm_shr.exe xpm.opt/opt $ write sys$output "Moving XPM_SHR to SYS$SHARE" $ copy xpm_shr.exe sys$share $ set file/prot=w:re sys$share:xpm_shr.exe The make_opt_from_olb procedure crates likes like: SYMBOL_VECTOR = (XPMFREEATTRIBUTES=PROCEDURE) but it cannot find out about global variables. You have to figure our where those are required by hand and write up that part of the .opt file. Here's a more complicated example used to build xforms that does some of this. $ write sys$output "Starting to build XFORMS shared library" $ create xpm2.opt $ open/append ofil xpm2.opt $ write ofil "sys$share:xpm_shr.exe/share" $ search/out=ofil/match=nor global_psects.opt "this string is not in the file" $ close ofil $ @MAKE_OPT_FROM_OLB xforms.olb GL,X11 "" xpm2.opt Where global_psects.opt has a bunch of lines in it like: SYMBOL_VECTOR = (FL_CUR_COLOR=PSECT) corresponding to global variables. Regards, David Mathog mathog@seqaxp.bio.caltech.edu Manager, sequence analysis facility, biology division, Caltech