# -*- Mode: Text -*- # =========================================================================== # PORTACELLO CHANGELOG FOR ACL62 TRIAL ON LINUX (i686) PORT # =========================================================================== # $Header: /home/frgo/projects/cello/RCS/CHANGELOG,v 1.3 2004/02/25 09:01:15 frgo Exp $ # # This Changelog describes all the changes needed to make # Cello (PortaCello 1.0) work on ACL62Trial/Linux. # # Frank Goenninger (frgo), February 2004 # # --------------------------------------------------------------------------- # # $Log: CHANGELOG,v $ # Revision 1.3 2004/02/25 09:01:15 frgo # Added several changes and also the warnings section. # # Revision 1.2 2004/02/22 18:30:00 frgo # Added: 001 # # Revision 1.1 2004/02/22 18:23:09 frgo # Initial revision # # # --------------------------------------------------------------------------- # CHANGES: # # CHANGE NR ........: 001 # TITLE ............: General Remark # AFFECTED FILE/LINE: None specific # DESCRIPTION ......: Changes are marked with "CHANGED: frgo, " # in the source code so they are easily searchable. # # CHANGE NR ........: 002 # TITLE ............: General Remark # AFFECTED FILE/LINE: Several, see below # DESCRIPTION ......: Approach: # # 1. Change all directory and filenames to # LOWERCASE ! Linux/Unix is case sensitive... # # Affected directories: # Cello # # Affected files: # MouseClick.lisp # # 2. Change all necessary paths to allow for a # clean build. Definitely needs a more general # solution, e.g. using environment variables. # Environment vars concerning shared libraries/ # DLLs: # On Unix (depending on which OS you have) the # env vars are SHLIB_PATH (for e.g. HP-UX) and # LD_LIBRARY_PATH for e.g. Solaris. On Linux, # it's also LD_LIBRARY_PATH. These vars are set # to a colon separated lost of paths to relevant # shared libs. # # Affected files: # cello/build.lisp # cello/ftgl-test.lisp (probably not part of # final distribution) # cello/image-magick.lisp # cello/lesson6.lisp (probably not part of # final distribution) # cello/starter.lisp # cello/window.lisp # cello/opengl-ffi/glut-extras.lisp # cello/ftgl.lisp # # 3. Removed inconsistencies in system definitions # and such. # # Porting really started here... # # CHANGE NR ........: 003 # TITLE ............: Font names are case-sensitive on Linux and there # not the same fonts available as on MS Windows. # AFFECTED FILE/LINE: cello/ftgl.lisp : 162 # cello/magick-test.lisp : various lines # cello/ix-formatter.lisp : various lines # DESCRIPTION ......: - On Linux, there is no font "SYLFAEN" # - For my system (Debian/Linux, GNOME 2.4) I had to # replace the following fonts: # sylfaen -> Verdana (note the uppercase) # # CHANGE NR ........: 004 # TITLE ............: Calling FTGL from C ... # AFFECTED FILE/LINE: FTGLFromC.cpp : various lines # DESCRIPTION ......: There are several things to think about again: # - function fgcStringX: # * Variables not initialized. But returned (llx). # So I introduced clean inits to 0.0. Otherwise # return value may be a random value. Now it's # always 0.0 - Is that OK? # - For a production version of this file I strongly # recommend to do a full pointer checking before # dereferencing on them. Something a la # if( ptr == NULL ) # { # /* emit some error or just return error */ # } # I then see the need for a global error variable # in this file and a function pair to set and get # that global var. Each function should set this # var depending on success or failure. And from # Lisp this should be checked after calling one # of these functions. What do others thing abt # that? # # CHANGE NR ........: 005 # TITLE ............: __stdcall not valid on Linux # AFFECTED FILE/LINE: cello/ftgl-int/FTGLFromC.cpp # DESCRIPTION ......: On Linux there is no such thing as a __stdcall. # Now eliminated using a simple #ifdef. # # CHANGE NR ........: 006 # TITLE ............: Loading shared libs: pitfall... # AFFECTED FILE/LINE: Several # DESCRIPTION ......: Loading shared libs whose file names are ending # in something else than the predefined standard # endings fails on ACL6.2. # Solution: name all libs to be loaded as ".so" on # Linux. Franz Inc. also suggested to make symbolic # links to files that are not named alike. # See details in attached mail from Franz Inc.'s # great support team. # # CHANGE NR ........: 007 # TITLE ............: Font names are a real PITA. # AFFECTED FILE/LINE: Several # DESCRIPTION ......: This cries for a more general solution - a font # loader that takes care of fonts being available # and also loads a default font as an alternative # if a font cannot be found. # For now, I just changed the font names to sth I # have on my box. BTW, the same is true for all # hard coded values, of course. # # CHANGE NR ........: 008 # TITLE ............: ImageMagick fiddling # AFFECTED FILE/LINE: Several # DESCRIPTION ......: Some functions not supported in stable ImageMagick # therefore a beta 6.0.0 had to be used (download, # compiling, installing). No problem doing this. # Also, on Linux, loading only the libWand.so does # not do the trick. The correct loading of shared libs # is first load libMagick.so and then libWand.so. # This might have to do with the correct setting of # the environment variable LD_LIBRARY_PATH. # Needs investigation. # # CHANGE NR ........: 009 # TITLE ............: The Shared Libs Story # AFFECTED FILE/LINE: Several # DESCRIPTION ......: On Linux, there are some more shared libs to be # loaded to make everything work. These are: # libz.so, libstdc++.so . See also #008. # # --------------------------------------------------------------------------- # # WARNINGS WHILE COMPILING # # While compiling I get the following warnings that I did not care about # yet: # # ; While compiling (:INTERNAL (:INTERNAL MAKE-LIGHTING 1) 0): # Warning: Free reference to undeclared variable *MGW-ZNEAR* assumed special. # Warning: Free reference to undeclared variable *MGW-ZFAR* assumed special. # ;;; Writing fasl file /home/frgo/projects/cello/lighting.fasl # ;;; Fasl write complete # Warning: COMPILE-FILE warned while performing # on # #. # Warning: COMPILE-FILE failed while performing # on # #. # ;;; Compiling file /home/frgo/projects/cello/window.lisp # ; While compiling (METHOD MG-WINDOW-RESHAPE (T T T)): # Warning: Free reference to undeclared variable *MGW-ZNEAR* assumed special. # Warning: Free reference to undeclared variable *MGW-ZFAR* assumed special. # Warning: Free reference to undeclared variable *MGW-ZNEAR* assumed special. # Warning: Free reference to undeclared variable *MGW-ZFAR* assumed special. # ;;; Writing fasl file /home/frgo/projects/cello/window.fasl # ;;; Fasl write complete # Warning: COMPILE-FILE warned while performing # on # #. # Warning: COMPILE-FILE failed while performing # on # #. # # # ---------------------------------------------------------------------------