Index: Makefile
==================================================================
--- Makefile
+++ Makefile
@@ -320,41 +320,39 @@
 # install dashboard as dboard so wrapper script can be called dashboard
 $(PREFIX)/bin/.$(ARCHSTR)/dboard : dboard $(FILES) utils/mk_wrapper
 	utils/mk_wrapper $(PREFIX) dboard $(PREFIX)/bin/dashboard
 	chmod a+x $(PREFIX)/bin/dashboard
 	$(INSTALL) dboard $(PREFIX)/bin/.$(ARCHSTR)/dboard
+
+# Work around missing libraries on crappy corporate compute farm (hearafter known as CCCF)
+ifeq ($(ARCHSTR),12.5)
+EXTRALIBS_HACK=$(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so.0 $(PREFIX)/bin/.$(ARCHSTR)/lib/libxcb-xlib.so.0
+else
+EXTRALIBS_HACK=
+endif
 
 $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so : lib/libpangox-1.0.so
-	if [[ $(ARCHSTR) == 12.5 ]]; then \
-	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib; \
-	$(INSTALL) lib/libpangox-1.0.so $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so; \
-	fi
+	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib
+	$(INSTALL) lib/libpangox-1.0.so $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so
 
 $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so.0 : lib/libpangox-1.0.so.0
-	if [[ $(ARCHSTR) == 12.5 ]]; then \
-	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib; \
-	$(INSTALL) lib/libpangox-1.0.so.0 $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so.0; \
-        fi
+	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib
+	$(INSTALL) lib/libpangox-1.0.so.0 $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so.0
 
 $(PREFIX)/bin/.$(ARCHSTR)/lib/libxcb-xlib.so.0 : lib/libxcb-xlib.so.0
-	if [[ $(ARCHSTR) == 12.5 ]]; then \
-	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib; \
-	$(INSTALL) lib/libxcb-xlib.so.0 $(PREFIX)/bin/.$(ARCHSTR)/lib/libxcb-xlib.so.0; \
-        fi
+	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)/lib
+	$(INSTALL) lib/libxcb-xlib.so.0 $(PREFIX)/bin/.$(ARCHSTR)/lib/libxcb-xlib.so.0
 
 install : $(PREFIX)/bin/.$(ARCHSTR) $(PREFIX)/bin/.$(ARCHSTR)/mtest $(PREFIX)/bin/megatest \
           $(PREFIX)/bin/.$(ARCHSTR)/dboard $(PREFIX)/bin/dashboard $(HELPERS) $(PREFIX)/bin/nbfake \
           $(PREFIX)/bin/.$(ARCHSTR)/mtexec $(PREFIX)/bin/mtexec $(PREFIX)/bin/serialize-env \
 	  $(PREFIX)/bin/nbfind $(PREFIX)/bin/mtrunner $(PREFIX)/bin/viewscreen $(PREFIX)/bin/mt_xterm \
 	  $(PREFIX)/share/docs/megatest_manual.html $(PREFIX)/bin/remrun \
 	  $(PREFIX)/share/docs/megatest_manual.html $(PREFIX)/bin/remrun $(PREFIX)/bin/mtutil \
 	  $(PREFIX)/bin/tcmt $(PREFIX)/share/db/mt-pg.sql \
           $(PREFIX)/share/js/jquery-3.1.0.slim.min.js \
-          $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so \
-          $(PREFIX)/bin/.$(ARCHSTR)/lib/libpangox-1.0.so.0 \
-          $(PREFIX)/bin/.$(ARCHSTR)/lib/libxcb-xlib.so.0
-#         $(PREFIX)/bin/.$(ARCHSTR)/ndboard
+	  $(EXTRALIBS_HACK)
 
 # $(PREFIX)/bin/newdashboard
 
 $(PREFIX)/bin/.$(ARCHSTR) : 
 	mkdir -p $(PREFIX)/bin/.$(ARCHSTR)

Index: megatest.scm
==================================================================
--- megatest.scm
+++ megatest.scm
@@ -39,10 +39,16 @@
 (declare (uses mt))
 (declare (uses api))
 (declare (uses tasks)) ;; only used for debugging.
 (declare (uses env))
 (declare (uses diff-report))
+(declare (uses rmtmod))
+(import (prefix rmtmod rmtmod:))
+
+(declare (uses ulex))
+(import (prefix ulex ulex:))
+
 ;; (declare (uses ftail))
 ;; (import ftail)
 
 (define *db* #f) ;; this is only for the repl, do not use in general!!!!
 

Index: rmt.scm
==================================================================
--- rmt.scm
+++ rmt.scm
@@ -58,15 +58,18 @@
 
 ;;======================================================================
 
 (define *send-receive-mutex* (make-mutex)) ;; should have separate mutex per run-id
 
-(define *alldat* (rmtmod:create-alldat *toppath*))
+(define *alldat* #f)
   
 (define (rmt:send-receive cmd rid params #!key (attemptnum 1)(area-dat #f))
   (if (equal? (configf:lookup *configdat* "setup" "newapi") "yes")
-      (rmtmod:send-receive *alldat* cmd rid params)
+      (begin
+	(if (not *alldat*) ;; add wait here if *toppath* is not set
+	    (set! *alldat* (rmtmod:create-alldat *toppath*)))
+	(rmtmod:send-receive *alldat* cmd rid params))
       (rmt:send-receive-orig cmd rid params attemptnum: 1 area-dat: #f)))
 
 ;; RA => e.g. usage (rmt:send-receive 'get-var #f (list varname))
 ;;
 (define (rmt:send-receive-orig cmd rid params #!key (attemptnum 1)(area-dat #f)) ;; start attemptnum at 1 so the modulo below works as expected

Index: ulex/ulex.scm
==================================================================
--- ulex/ulex.scm
+++ ulex/ulex.scm
@@ -445,11 +445,12 @@
 	     (th (make-thread (lambda ()
 				(ulex-handler-loop udata)) "Captain handler")))
 	(udat-handler-thread-set! udata th)
 	(udat-captain-address-set! udata my-addr)
 	(udat-captain-port-set!    udata my-port)
-	(thread-start! th))
+	(thread-start! th)
+	(print "Captain setup complete and thread started. Address: " my-addr ", port: " my-port))
       (begin
 	(print "ERROR: failed to create captain pkt")
 	#f)))
 
 ;; given a pkts dir read