# lush2 **Repository Path**: macro/lush2 ## Basic Information - **Project Name**: lush2 - **Description**: https://lush.sourceforge.net/ Lush is an object-oriented programming language designed for researchers, experimenters, and engineers interested in large-scale numerical and graphic applications. - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-07 - **Last Updated**: 2026-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README README: lush2 sources on github. *** Notes on WSL/Linux Compilation: ### Option 1: Basic compilation (without BFD support) To compile without BFD support (basic functionality): ```bash cd lush2 ./configure --without-bfd make ``` If you encounter line ending issues (CRLF), convert the config files first: ```bash sed -i 's/\r$//' config/config.sub config/config.guess configure ``` After successful compilation, run the interpreter: ```bash ./src/lush2 ``` Or use the wrapper script (requires proper binary directory setup): ```bash bin/lush2 ``` Note: The --without-bfd option disables the dynamic loader/linker/compiler features, but the core interpreter remains functional. ### Option 2: Full compilation with BFD support (recommended) For full functionality including dynamic C/C++ module loading and compilation, enable BFD support. First, install BFD development library: - Ubuntu/Debian: `sudo apt install binutils-dev` - Fedora/RHEL: `sudo dnf install binutils-devel` - Arch Linux: `sudo pacman -S binutils` Then compile with BFD support: ```bash cd lush2 ./configure make ``` After compilation, verify BFD support is enabled: ```bash nm src/lush2 | grep 'T dld_init' # Should show dld_init function ./src/lush2 --help # Should run without BFD errors ``` ### Benefits of BFD support - ✅ Dynamic loading of C/C++ modules (.so files) - ✅ Runtime compilation of C code within Lush - ✅ Symbol resolution and dynamic linking - ✅ Advanced module management features Without BFD, you can still use all Lisp features and most functionality, but dynamic C compilation and advanced module loading will not work. *** Notes on 6 April 2012: To reinstate support for OSX snow leopard and above, I added patches based on Apple's dyldinfo.cpp source code for reading binary bundles. The resulting patches are available under the Apple public source license, version 2, viewable in the lush2/APSL2 file and here: http://www.opensource.apple.com/license/apsl/ To compile successfully on my Snow leopard install, I do: $ LIBS=-lfontconfig ./configure; make and then run in place with: $ bin/lush2 *** Notes on 28 April 2011 Here are the sources for the lastest lush2, imported from Sourceforge, from http://sourceforge.net/scm/?type=svn&group_id=34223 by doing: svn co https://lush.svn.sourceforge.net/svnroot/lush/lush2 lush2 # at the time of import, these sources reflected the following svn repository, # which we believe is the lush2 trunk lastest as of 20 March 2011. # # from svn info: Path: . URL: https://lush.svn.sourceforge.net/svnroot/lush/lush2 Repository Root: https://lush.svn.sourceforge.net/svnroot/lush Repository UUID: b68d3702-14d2-4b18-b47c-39ed2627325e Revision: 908 Node Kind: directory Schedule: normal Last Changed Author: rjuengling Last Changed Rev: 908 Last Changed Date: 2011-03-20 16:29:13 -0500 (Sun, 20 Mar 2011)