[Cl-smoke] Building cl-smoke on Mac OS X
Tobias Rautenkranz
tobias at rautenkranz.ch
Sun Feb 28 10:20:36 CET 2010
> Actually, I think it is still a pathing issue. It seems that setting
> cffi:*foreign-library-directory* is not sufficient, but when I copy the
> dylib files to the current directory it seems to work ok.
I have no idea what's wrong.
> At any rate, on to the next error. This one's in cl-smoke.qt.core:
> "file /Users/elliott/Programming/Lisp/asdf/qt.core/src/event.lisp"
> ; Symbol "TYPE" not found in the CXX package.
cl-smoke should have constructed the generic function cxx:type at this point.
(a ffi problem?)
You can see if cl-smoke found the QEvent::type() function, by invoking the
ABORT restart when the error occurs. Since the qtcore module is already loaded
at this point, you can list the methods with:
(smoke::fgrep-methods cl-smoke.qt.core::*smoke-module* "type")
which should give you a list of methods containing the word "type". e.g.:
public QEvent::Type QEvent::type() const
[...]
You can also try tracing the generic-function construction of cl-smoke:
(require :cl-smoke.smoke)
(trace smoke::ensure-generic-methods)
(require :cl-smoke.qt.core)
0: (SMOKE::ENSURE-GENERIC-METHODS
((CXX::WRITE-CURRENT-TOKEN . "writeCurrentToken")
(CXX::WRITE-START-ELEMENT . "writeStartElement")
(CXX::WRITE-START-DOCUMENT . "writeStartDocument")
[...]
(CXX::TYPE . "type")
[...]
(CXX::QT-METACALL . "qt_metacall") (CXX::TR-UTF8 . "trUtf8")
(CXX::QT-METACAST . "qt_metacast") (CXX::META-OBJECT . "metaObject")
(CXX::|| . "")))
0: SMOKE::ENSURE-GENERIC-METHODS returned NIL
I doubt that the problem is there, but can you check that smoke picked up the
QEvent::type() method by using the kdebindings smokeapi tool:
kdebindings-build/smoke/smokeapi$ ./smokeapi -m type QEvent
QEvent::Type QEvent::type() const
> P.S. Did you mean to take this off the list?
No, user error ;)
More information about the Cl-smoke
mailing list