On Sat, Aug 20, 2016 at 10:26:53AM -0400, Matthew Keeter wrote: > I added a cmath include and qualified isnan with std::, > try it out now and see if that fixes it (commit 61ce8e1).
Yes, it does fix the compilation problem. There seems to be a problem with out-of-tree building (or isn't that supported by ninja?). When I start the build from <toplevel source>/build64/ everything compiles fine but the ao-guile script ends up in <toplevel source>/bin and _not_ in <toplevel source>/build64/bin where it should be ... Strangely, libao.so ends up in the right place. When I run the program I the program finishes with the following line: $ GUILE_AUTO_COMPILE=0 bin/ao-guile .... under certain conditions; type `,show c' for details. Enter `,help' for help. Ao> guile-2.0: Couldn't find current GLX or EGL context. When I set GUILE_AUTO_COMPILE=1 that same error shows up, but already during compilation (?!). $ GUILE_AUTO_COMPILE=1 bin/ao-guile ... ;;; compiling /usr/local/src/LISP/ao/bin/../bind/guile/ao/shapes.scm guile-2.0: Couldn't find current GLX or EGL context. HTH RalfD > -Matt > > On Aug 20, 2016, at 9:23 AM, Ralf Mattes <r...@seid-online.de> wrote: > > > On Thu, Aug 18, 2016 at 05:44:46PM -0400, Matthew Keeter wrote: > >> Hi Guile-folks, > >> > >> I wrote a computer-aided design (CAD) tool that you may find interesting. > >> > >> It’s a solid modeling tool that uses Guile scripts to define objects (and > >> constructive solid geometry + functional representations under the hood). > >> > >> Project page: http://www.mattkeeter.com/projects/ao/ > >> Source: https://github.com/mkeeter/ao > >> > >> I’d love feedback – Scheme is relatively new to me, so I’m sure there are > >> more elegant ways to accomplish a lot of what the code implements. > > > > > > Build fails over here: > > > > ../kernel/src/eval/evaluator.cpp: In function ‘Interval clause(Opcode, > > const Interval&, const Interval&)’: > > ../kernel/src/eval/evaluator.cpp:805:36: error: ‘isnan’ was not declared in > > this scope > > return (isnan(a.lower()) || isnan(a.upper())) ? b : a; > > ^ > > > > This is with: > > > > /usr/bin/c++ --version > > g++-5.real (Debian 5.4.0-6) 5.4.0 20160609 > > > > and /usr/include/c++/5/cmath from the package libstdc++-5-dev:amd64 > > on a Debian Testing system. > > > > But it looks very nice > > > > > > Cheers, Ralf Mattes > > > >> -Matt > >