[cello-devel] Compiling

Seth Burleigh seth at tewebs.com
Sat May 29 22:21:24 UTC 2010


OK, so heres my notes on compiling. I haven't yet got the example
working, because of some missing functions. Any inputs on these missing
functions, where are they? Also, while reading the install-notes, i came
across this. Do i really need to do what it says? (ok , probably so, but
im hoping)

----------- BIG PROBLEM
--------------------------------------------------------
Libraries. For win32, the PC4 release includes the DLLs I use (well,
except those you should find in /windows/system32). Linux/Mac OS X
really have their work cut out for them. Building Freeglut and
ImageMagick (and FreeType) may just work for you as typical Linux
installs, but FTGL as I have done it requires to build with the included
FTGLFromC.cpp and a modified FTGLExtrdFont.h built into the
library .SO. 
-----------------------
FUNCTIONS MISSING!!!:
compiling cello:

; compilation unit finished
;   Undefined functions:
;     CELLO::KEYSYM-SYM CELTK:MK-ARC CELTK:MK-BITMAP CELTK:MK-CANVAS
CELTK:MK-CHECKBUTTON CELTK:MK-ENTRY CELTK:MK-FRAME-STACK CELTK:MK-LABEL
CELTK:MK-LINE CELTK::MK-LISTBOX CELTK:MK-MENU
CELTK:MK-MENU-ENTRY-CASCADE CELTK:MK-MENU-ENTRY-CHECKBUTTON
CELTK:MK-MENU-ENTRY-COMMAND CELTK:MK-MENU-ENTRY-RADIOBUTTON
CELTK:MK-MENU-ENTRY-SEPARATOR CELTK:MK-OVAL CELTK:MK-PANEDWINDOW
CELTK:MK-POLYGON CELTK:MK-POPUP-MENUBUTTON CELTK:MK-RECTANGLE
CELTK:MK-SCALE CELTK::MK-SCROLLBAR CELTK:MK-SCROLLED-LIST
CELTK:MK-SPINBOX CELTK:MK-TEXT-ITEM CELTK:MK-TEXT-WIDGET
GUI-GEOMETRY:PX-MAINTAIN-PL GUI-GEOMETRY:PX-MAINTAIN-PR
GUI-GEOMETRY:PY-MAINTAIN-PB GUI-GEOMETRY:PY-MAINTAIN-PT
CELTK::TOGL-CREATE-FUNC CELTK::TOGL-DESTROY-FUNC
CELTK::TOGL-DISPLAY-FUNC CELTK:TOGL-RESHAPE-FUNC CELTK::TOGL-TIMER-FUNC
GUI-GEOMETRY:^LR-WIDTH GUI-GEOMETRY:^OFFSET-WITHIN CELTK::|cb-CREATE|
CELTK::|cb-DESTROY| CELTK::|cb-DISPLAY| CELTK::|cb-RESHAPE| CELTK::|
cb-TIMER|
;   printed 63 notes


compiling cellodemo:

; compilation unit finished
;   Undefined functions:
;     PX-MAINTAIN-PL PY-MAINTAIN-PT ^FILL-PARENT-DOWN ^LB-HEIGHT
^LR-WIDTH
;   Undefined variable:
;     SELF
;   caught 2 WARNING conditions


----------------------------------
celltk - in celtk.asd, some dependency isn't capitalized when it should
be (linux is case sensitive) . Also, i had to do
slime-restart-inferior-lisp multiple times and then (require 'celltk)
again because of some bug in asd (i think its a bug anyways).

utils-kt in detritus.lisp - use closer-mop instead of mop

cl-rsrc.asd isn't another library, located in cl-freetype directory

cl-ftgl.asd doesn't specify dependency on cl-freetype
cello.asd doesn't specify dependency on cl-ftgl

-----------------------------
cl-freetype - add unix 

(defparameter *freetype-dynamic-lib-path* 
  #+(or mswindows win32)
  #p"/windows/system32/freetype6.dll"

  #+unix
  #p"libfreetype.so"

  #+(or darwin macosx)
  #p"/usr/X11R6/lib/libfreetype.dylib"
)

(defparameter *default-face* :courier)

(defparameter *face-registry*

  #+unix
  
'((:helvetica :file
#p"/usr/share/fonts/truetype/msttcorefonts/arial.ttf")
    (:helvetica-bold :file
#p"/usr/share/fonts/truetype/msttcorefonts/arialbd.ttf")
    (:helvetica-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/ariali.ttf")
    (:helvetica-bold-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/arialbi.ttf")
    (:courier :file
#p"/usr/share/fonts/truetype/msttcorefonts/cour.ttf")
    (:courier-bold :file
#p"/usr/share/fonts/truetype/msttcorefonts/courbd.ttf")
    (:courier-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/couri.ttf")
    (:courier-bold-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/courbi.ttf")
    (:times :file #p"/usr/share/fonts/truetype/msttcorefonts/times.ttf")
    (:times-bold :file
#p"/usr/share/fonts/truetype/msttcorefonts/timesbd.ttf")
    (:times-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/timesi.ttf")
    (:times-bold-italic :file
#p"/usr/share/fonts/truetype/msttcorefonts/timesbi.ttf")
    (:symbol :file
#p"/usr/share/fonts/truetype/ttf-symbol-replacement/symbol-replacement.ttf")
    )

-----------------------------
cffi-extender - change dft macro to add the deftype form

(defmacro dft (ctype ffi-type ffi-cast)
  `(progn
     (setf (get ',ctype 'ffi-cast) ',ffi-cast)
     (defctype ,ctype ,ffi-type)
     (deftype ,ctype () ',ffi-cast)
     (eval-when (compile eval load)
       (export ',ctype))))











More information about the cello-devel mailing list