[aplusdev] A+ scripts

John.Mizel at morganstanley.com John.Mizel at morganstanley.com
Tue Apr 9 08:58:06 EDT 2002


vlad,

You need all the associated shared libraries to run the a+ binary.

ldd /usr/local/aplus-fsf-4.18/bin/a+
  libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40018000)
  libnsl.so.1 => /lib/libnsl.so.1 (0x4010b000)
  libdl.so.2 => /lib/libdl.so.2 (0x40121000)
  libIPC.so.0 => /usr/local/aplus-fsf-4.18/lib/libIPC.so.0  (0x40125000)
  libm.so.6 => /lib/i686/libm.so.6 (0x40151000)
  libcxs.so.0 => /usr/local/aplus-fsf-4.18/lib/libcxs.so.0  (0x40174000)
  libcxb.so.0 => /usr/local/aplus-fsf-4.18/lib/libcxb.so.0  (0x40176000)
  libAplusGUI.so.0 => /usr/local/aplus-fsf-4.18/lib/libAplusGUI.so.0  (0x4017b000)
  libcxsys.so.0 => /usr/local/aplus-fsf-4.18/lib/libcxsys.so.0  (0x402da000)
  libcxc.so.0 => /usr/local/aplus-fsf-4.18/lib/libcxc.so.0  (0x402e5000)
  libesf.so.0 => /usr/local/aplus-fsf-4.18/lib/libesf.so.0  (0x402ec000)
  liba.so.0 => /usr/local/aplus-fsf-4.18/lib/liba.so.0 (0x40300000)
  libdap.so.0 => /usr/local/aplus-fsf-4.18/lib/libdap.so.0  (0x40453000)
  libMSGUI.so.0 => /usr/local/aplus-fsf-4.18/lib/libMSGUI.so.0  (0x4046a000)
  libMSIPC.so.0 => /usr/local/aplus-fsf-4.18/lib/libMSIPC.so.0  (0x407cc000)
  libMSTypes.so.0 => /usr/local/aplus-fsf-4.18/lib/libMSTypes.so.0  (0x407f6000)
  libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3  (0x40a05000)
  libc.so.6 => /lib/i686/libc.so.6 (0x40a47000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

When the a+ executable is built these libraries are specified with -l/-L 
flags and a -rpath flag which put into the a+ executable information which 
tells a+ where to find the libraries.

You could re-build the a+ executable to use static archives i.e. libaries 
that end in .a.  This would make the a+ executable much larger since it 
put into the binary all the needed information from the library.

The advantages of using shared libraries are:
  -smaller binary.
  -multiple invocations of a+ will share the library image that is 
   loaded by the OS.
  -faster startup 

Depending on the complexity of the script you want to run you could alos 
build a smaller statically linked version of a+.  So if you didn't need 
GUI, adap, or timers you could eliminate all the C++ libs.  This would 
require changes to the a+ source not to install these components.

Thanks,
John 

On Tue, 9 Apr 2002, Vladimir N. Kutinsky wrote:

> Hello,
> 
> Is there a way to run A+ scripts on a Linux box where A+ isn't installed? I
> mean something like having a+ and a simple script file test.+ written on a
> floppy and then running
> ./a+ test.+
> on a "pure" Linux box with no A+.
> The other days I tried it but I got errors saying some shared libraries were
> necessary. So, I copied **all** libraries from /../aplus-fsf-XX/lib/ on the
> new Linux box (a rather awkward way, I agree) and tried it again. Now, it
> couldn't load some g++ libraries.
> If there is a way of doing something of this sort then which libraries do I
> need for simple a)non-s scripts and b)for s-scripts? Any other ways?
> 
> Are there any command line arguments for a+ command?
> 
> Thank you,
> vlad
> 
> 

-- 
 




More information about the apluslist mailing list