Arc Forumnew | comments | leaders | submitlogin
1 point by akkartik 4474 days ago | link | parent

I ran autoreconf -i, and then configure, and I ran into this error:

  ./configure: line 12048: syntax error near unexpected token `CHECK,'
  ./configure: line 12048: `  PKG_CHECK_MODULES(CHECK, check >= 0.9.4,'
So this means GNU check is not installed? It's not recognizing the PKG_CHECK_MODULES macro. Where can I install GNU check from? Googling found nothing.


1 point by dido 4474 days ago | link

http://check.sourceforge.net/

It's the unit testing framework I'm using, and shouldn't be necessary in a tarball distribution (maybe I should make one soon...). The error looks like you also don't have pkg-config installed (http://www.freedesktop.org/wiki/Software/pkg-config).

All of these are readily available in the Debian / Ubuntu repositories. It has no dependencies that have to be built from source, at least on Debian/Ubuntu. Package name for check is just 'check' and pkg-config is just 'pkg-config'. What distro are you trying to build Arcueid under anyhow?

-----

1 point by akkartik 4473 days ago | link

I'm just using ubuntu. Lucid, I think. I installed check and pkg-config, no problems. But I still see the same error.

On a second machine I'm using linux mint which tracks the debian rolling release. There:

  $ ./configure
  ..
  checking gmp.h usability... no
  checking gmp.h presence... no
  checking for gmp.h... no
  configure: error: in `/home/akkartik/arcueid':
  configure: error: Bignum (libgmp) test failed (--disable-bignum to disable)
  See `config.log' for more details

  $ sudo apt-get install libgmp10
  libgmp10 is already the newest version.
Very weird.

-----

1 point by dido 4473 days ago | link

Have you got libgmp-dev installed? It cannot find the development headers which you'll obviously need to compile it. Anyhow, you can use --disable-bignum if that still doesn't help. If you're still having problems you can download a tarball of Arcueid 0.0.1 in the files section of the github page. That has a configure script so you ought to be able to ./configure && make && make install from there. I should try building the thing on a clean install of Ubuntu to fully identify all the dependencies for building straight from the cloned sources.

-----

1 point by akkartik 4473 days ago | link

Ah, installing libgmp-dev did it! Thanks.

Still unclear why ubuntu lucid is having trouble. It's a pretty vanilla server distro. I'll keep pottering with it, see what I can find out.

What do I do after building it? I tried running src/arcueid, both from the top-level dir, and from the arc dir. It segfaulted each time. Poking around with gdb now.. oh, do I have to make install before I can use it?

(I never realized how complex the makefiles get when you use autotools..)

-----

1 point by dido 4473 days ago | link

Well, the arcueid binary expects to find arc.arc in /usr/local/share/arcueid, and like I said there's practically no error handling. You can either do a make install (which should copy arc.arc to that place where the arc binary can find it), or you can run it as src/arcueid arc/arc.arc (explicitly specifying the path to arc.arc on the command line). Oh, and do a git pull!

-----

1 point by akkartik 4473 days ago | link

D'uh! I was stoopid. Yeah it works with the explicit path.

And yeah I did a git clone in the new laptop so it's all pulled.

Now that I have it running, how do I run the bootstrap compiler.arc?

-----

1 point by dido 4473 days ago | link

You don't, at least not for now. I found it faster to just write a version of the compiler in C using compiler.arc as a prototype (the fact that I've done this should be obvious by comparing compiler.c and compiler.arc). Seems there are a few more bugs in the compiler: the or macro seems to be expanding all wrong, and anything but nil crashes it. I need to take a closer look.

-----

1 point by dido 4474 days ago | link

Oh, and please do a git pull now before you do anything else. I've just managed to fix the bug that was preventing arc.arc from being loaded properly, although of course arc.arc makes reference to many global functions which still aren't defined in the core and will crash the interpreter. Next step will be to find these and implement them.

-----