[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Shared Library GC & X11 & VO



I posted a short summary how I install VO on my machine to the VO
mailing list.  Especially installation of the gc as a shared library
seems to to be of interest to some users.  Therefore I post an
expanded version on this list.

I hope this is of some interest on this mailing list, too.

-- mva

--------

Just for fun I tried the latest oo2c-1.4.4, gc4.14, X11_990522, and
VO_990620 (from Tim's site).  To keep things interesting I built the
shared library version of the garbage collector.  The target system is
Linux/i386 v2.2.9 using glibc2.0, libtool 1.2, gcc 2.7.2.3


1. Building and Installing Garbage Collector

Changes to the Makefile: Comment out the liblinuxgc.so rule, uncomment
the alternative rule.  Set CFLAGS to

CFLAGS= -O2 -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DSILENT
[Note: Removing the -DALL_INTERIOR_POINTERS should have no adverse
effect if only oo2c manages pointers to heap objects -- unless you
have arrays with a large number of open dimensions.  On a 32 bit
machine, you can have up to 5 open dimensions, on a 64 bit machine
only 2.  Therefore I suggest to remove this option only on 32 bit
machines.]

/tmp/gc$ make liblinuxgc.so
/tmp/gc$ rm -f /usr/lib/libgc.* 
/tmp/gc$ cp libgc.so.0 /usr/lib/
/tmp/gc$ ln -s libgc.so.0 /usr/lib/libgc.so
/tmp/gc$ cp -f gc.h /usr/include/gc.h 


2. Building and Installing oo2c

/tmp/oo2c_32-1.4.4$ CFLAGS=-O2 ./configure --prefix=/usr
/tmp/oo2c_32-1.4.4$ make install


3. Building and Installing X11 Interface Modules

/tmp/X11$ ./configure 
/tmp/X11$ make install


4. Building and Installing VO

/tmp/VO$ ./configure 
/tmp/VO$ make install
[takes a while]
/tmp/VO$ cd demos/
/tmp/VO/demos$ make
/tmp/VO/demos$ ./XTest 

Voila!