HI STEVE,
I JUST TRIED COMPILING IO FOLLOWING YOUR INSTRUCTIONS. COMPILE SEEMED TO GO OK, BUT TESTVM FAILED. EVIDENTLY THE INTERPRETER CAN'T SEE LIBIOVMALL.SO. (SEE TESTVM RUN AND IO CALL BELOW.)
IFIND LIBIOVMALL.SO IN /USR/LOCAL/BIN/IO-2007-05-28/_BUILD/LIB SO I'M GUESSING A LINKING PROBLEM.
I'M STILL ON TRAINING WHEELS WITH DEBIAN LINUX, SO STILL NOT COMFORTABLE WITH COMPILING PROGRAMS FROM SOURCE. IS IT POSSIBLE THAT COMPILING IO SOURCE IN /USR/LOCAL/BIN WAS AN ILL-ADVISED CHOICE?
ANYWAY, TIPS WOULD BE MUCH WELCOMED.
MANY THANKS,
LLOYD
CD TOOLS; MAKE TEST
MAKE[1]: ENTERING DIRECTORY `/USR/LOCAL/BIN/IO-2007-05-28/TOOLS'
./_BUILD/BINARIES/IO_STATIC ../LIBS/IOVM/TESTS/RUN.IO
LIST("BETA", "3", "ALPHA")
TESTSORTBY - FAILED
EXCEPTION: ["3" != A AT(0)] [3 != BETA]
---------
EXCEPTION RAISE UNITTEST.IO 41
LISTTEST ASSERTEQUALS LISTTEST.IO 294
LISTTEST TESTSORTBY DOSTRING 1
---------
COROUTINE CALLSTACK A4_EXCEPTION.IO 140
COROUTINE BACKTRACESTRING A4_EXCEPTION.IO 155
COROUTINE BACKTRACESTRING A4_EXCEPTION.IO 163
COROUTINE SHOWSTACK A4_EXCEPTION.IO 277
EXCEPTION SHOWSTACK UNITTEST.IO 24
LISTTEST RUN UNITTEST.IO 98
TESTSUITE RUN RUN.IO 6
OBJECT TEST RUN.IO 8
---------
CLI TRY Z_CLI.IO 22
CLI RUNFILE Z_CLI.IO 59
CLI RUN IOSTATE_RUNCLI() 1
FALSE
SHOULD HAVE RAISED EXCEPTION
TESTATINSERT - FAILED
EXCEPTION: SHOULD HAVE RAISED EXCEPTION
---------
EXCEPTION RAISE UNITTEST.IO 59
SEQUENCETEST ASSERTRAISESEXCEPTION SEQUENCETEST.IO 179
SEQUENCETEST TESTATINSERT DOSTRING 1
---------
COROUTINE CALLSTACK A4_EXCEPTION.IO 140
COROUTINE BACKTRACESTRING A4_EXCEPTION.IO 155
COROUTINE BACKTRACESTRING A4_EXCEPTION.IO 163
COROUTINE SHOWSTACK A4_EXCEPTION.IO 277
EXCEPTION SHOWSTACK UNITTEST.IO 24
SEQUENCETEST RUN UNITTEST.IO 98
TESTSUITE RUN RUN.IO 6
OBJECT TEST RUN.IO 8
---------
CLI TRY Z_CLI.IO 22
CLI RUNFILE Z_CLI.IO 59
CLI RUN IOSTATE_RUNCLI() 1
FALSE
TIME: 1.3500000000000001 SECONDS
MAKE[1]: *** [TEST] ERROR 2
MAKE[1]: LEAVING DIRECTORY `/USR/LOCAL/BIN/IO-2007-05-28/TOOLS'
MAKE: *** [TESTVM] ERROR 2
AND HERE'S WHAT I GOT WHEN CALLED IO:
CUBE1:/USR/LOCAL/BIN/IO-2007-05-28# IO
IO: ERROR WHILE LOADING SHARED LIBRARIES: LIBIOVMALL.SO: CANNOT OPEN SHARED OBJECT FILE: NO SUCH FILE OR DIRECTORY
I'VE RE-WRITTEN THE INSTALL INSTRUCTIONS TO HELP CLEAR UP SOME
POSSIBLE SOURCES OF CONFUSION:
------------------------
INSTALLING
IO IS SPLIT INTO IO ITSELF, WHICH IS ALL YOU NEED FOR BASIC
SCRIPTING, AND €œADDONS€ WHICH ARE EXTRA PACKAGES WHICH EXTEND IT€™S
FUNCTIONALITY. SOME ADDONS ARE JUST IO CODE, OTHERS ARE DLLS THAT
INCLUDE BINDINGS TO C LIBRARIES. FIRST, LET'S COMPILE THE VM.
VM
TO BUILD JUST THE VM, FROM THE TOP FOLDER, RUN:
MAKE VM
BINARIES WILL BE PLACED IN THE _BUILD/BINARIES SUBFOLDER. TO INSTALL:
SUDO MAKE INSTALL
OR, IF YOU€™D LIKE THE INSTALL TO SIMPLY LINK TO YOUR DEVELOPMENT FOLDER:
SUDO MAKE LINKINSTALL
AND TO RUN THE UNIT TESTS:
MAKE TESTVM
YOU€™VE NOW COMPILED IO AND CAN USE IT FOR SCRIPTING.
BINARIES
IO BUILDS TWO EXECUTABLES AND PLACES THEM IN THE BINARIES FOLDER.
THEY ARE:
IO_STATIC
IO
THE IO_STATIC EXECUTABLE CONTAINS THE VM WITH A MINIMAL SET OF
PRIMITIVES ALL STATICALLY LINKED INTO THE EXECUTABLE. THE IO
EXECUTABLE CONTAINS JUST ENOUGH TO LOAD THE IOVM DYNAMICALLY LINKED
LIBRARY AND IS ABLE TO DYNAMICALLY LOAD IO ADDONS WHEN THEY ARE
REFERENCED.
ADDONS
FIRST, DON€™T WORRY IF SOME ADDONS DON€™T COMPILE FOR YOU. SOME ARE
PLATFORM SPECIFIC AND MAY NOT BE FOR YOUR PLATOFRM AND OTHERS MAY
DEPEND ON C/C++ LIBRARIES NOT SUPPORTED ON YOUR PARTICULAR PLATFORM
OR DISTRO. SO UNLESS YOU HAVE A SPECIFIC NEED FOR A PARTICULAR ADDON,
YOU CAN INGORE WHETHER OR NOT IT COMPILES FOR YOU. MOST USERS WILL
ONLY NEED THE SOCKETS AND SQLITE OR QDBM ADDONS.
COMPILING ADDONS
SOME OF IO€™S ADDONS REQUIRE LIBRARIES THAT MAY NOT BE INSTALLED ON
YOUR SYSTEM ALREADY. TO INSTALL THESE AUTOMATICALLY, TYPE EITHER:
SU -C " SUDO MAKE APTGET€
OR:
SU -C "MAKE EMERGE€
OR:
SUDO MAKE PORT
DEPENDING ON WHICH PACKAGE INSTALLER YOU USE. PORT IS MACPORTS/
DARWINPORTS (HTTP://WWW.MACPORTS.ORG/) FOR OSX.
VM AND ADDONS
TO BUILD THE VM AND THE ADDONS, FROM THE TOP FOLDER, RUN:
MAKE
BINARIES WILL BE PLACED IN THE _BUILD/BINARIES SUBFOLDER. TO INSTALL:
SUDO MAKE INSTALL
OR, IF YOU€™D LIKE THE INSTALL TO SIMPLY LINK TO YOUR DEVELOPMENT FOLDER:
SUDO MAKE LINKINSTALL
AND TO RUN THE ALL THE UNIT TESTS:
MAKE TEST
AGAIN, THERE IS NO NEED TO WORRY ABOUT ERROR REPORTS FOR ADDONS WHICH
YOU DON€™T NEED.
YAHOO! GROUPS LINKS