From: <don...@is...> - 2012-11-29 08:32:15
|
I had the opportunity to build the clisp oracle interface recently and wanted to report a few small issues. After I finally got the configure to work, make ended with this: gcc -m64 ... -c oracle.c oracle.c:5:20: error: oiface.h: No such file or directory ... many errors due to missing file I found the missing file and copied it to one of the -I locations: cp /home/dcohen/clisp/modules/oracle/oiface.h /home/dcohen/clisp/tools/x86_64-unknown-linux-gnu/include/ Given that the missing file seems to be in a standard place relative to the distribution, it seems that this standard place should just be added to the list of include locations for the gcc line above. At this point, surprisingly, things seem to work. However another small problem, possibly in the documentation, is that for (ORACLE:FETCH &OPTIONAL result-type) it's not clear that the result-type values are symbols in the oracle package. In fact the code could be clarified in this respect as well: (oracle:fetch 'pairs) *** - Invalid result type 'PAIRS' given - should be 'ARRAY, 'PAIRS or 'HASH in this case the error message seems not all that helpful The following restarts are available: ABORT :R1 Abort main loop Break 1 [13]> (oracle:fetch 'oracle:pairs) *** - READ from #<INPUT CONCATENATED-STREAM #<INPUT STRING-INPUT-STREAM> #<IO TERMINAL-STREAM>> : #<PACKAGE ORACLE> has no external symbol with name "PAIRS" The following restarts are available: ABORT :R1 Abort debug loop ABORT :R2 Abort main loop Break 2 [14]> Break 1 [13]> [15]> (oracle:fetch 'oracle::pairs) This works. Should the double colon really be required? In fact, wouldn't it be more reasonable to just accept anything string= to "PAIRS" as pairs ? The programming model seems to allow only for only one query at a time, which seems problematic, but that perhaps should be another topic. |