> renamed libmixalot-mpg123, with these changes. The 64-bit binary doesn't have any of these problems, and should Just Work, but you have to provide your own libmpg123 as before.
One advantage of environments like C, C++, Java, is that the default end-product of the development process is deployment.
With Smalltalk, you have to strip the development and other unused stuff out of the image, which is a messy business that can lead to exceptions showing up in front of the customer if you don't do it right. Many places just leave all that stuff in the image. It's unnecessary overhead, but Moore's law and the similar increase in disk capacity has made that into a rounding error.
(This is also why debugging and development are so magical in environments like Smalltalk. It's the default case. Debugging is often so painless, people use it to document!)
It's true that SBCL doesn't make the binary delivery process easy.
However, both Allegro CL and Lispworks put a lot of effort into it and succeed quite well. For example, Allegro CL will automatically copy all loaded shared libraries that are not from /lib or /usr/lib to the delivery directory, which nicely solves the CFFI wrapper issue.
I had tried using SBCL to generate excutables before myself, using SDL as an external lib. Worked, but they were ENORMOUS (20mb). Not sure what I did wrong.
7 comments
[ 0.20 ms ] story [ 11.4 ms ] threadI don't think he can lie. That's a big but.
With Smalltalk, you have to strip the development and other unused stuff out of the image, which is a messy business that can lead to exceptions showing up in front of the customer if you don't do it right. Many places just leave all that stuff in the image. It's unnecessary overhead, but Moore's law and the similar increase in disk capacity has made that into a rounding error.
(This is also why debugging and development are so magical in environments like Smalltalk. It's the default case. Debugging is often so painless, people use it to document!)
However, both Allegro CL and Lispworks put a lot of effort into it and succeed quite well. For example, Allegro CL will automatically copy all loaded shared libraries that are not from /lib or /usr/lib to the delivery directory, which nicely solves the CFFI wrapper issue.
http://www.lispworks.com/documentation/lw51/DV/html/deluser....
http://www.franz.com/support/documentation/current/doc/deliv...