Help Compiling apligen

Michael Powell nightrecon at
Mon May 26 17:11:20 UTC 2014

Drew Tomlinson wrote:

> I am not a programmer and I don't understand compiling.  If it's not in
> the ports, I don't know how to use it.  However I really want to try
> this utility:
> I've downloaded the source and attempted to run 'make'.  First error was
> that it couldn't find g++.  I figured that out and installed gcc 4.7
> from the ports tree.  Ran 'make' again.  Now I get these errors:

I'm not a coder either so please take that into account lest I get 
something wrong.  :-)

Most of the tarballs have a README and/or an INSTALL file with 
instructions. I suspect the step you're missing (and a quick perusal of 
these should confirm) that you're skipping the autotools stuff. 

Secondly, the gcc 4.2.1 may, or may not, be useable. Should you rather 
utilize a newer gcc installed from ports there are some lines you probably 
need to place into /etc/make.conf. Should be easy enough to Google out 
these, they essentially point make to the ports-installed compiler instead 
of the one in base.

But back to the autotools step first. Mostly you'll need autoconf, 
automake, m4, maybe libtools (not sure anything uses this though), and 
possibly gmake. 

The step you may be missing is to run ./configure in wherever you 
decompressed the tarball. This cranks through the autoconf/automake process 
to attempt to 'adjust' code which has been written with portability in 
mind. The adjustment is to prepare for building on a particular platform, 
if possible.

I have seen somewhere in the past occasionally when I've pulled source 
straight out of a CVS or Git repository there was another script that needs 
to be executed prior to the ./configure step to "pre configure" the 
configure. This will show in the README or INSTALL notes if required.

While I have ommitted a couple of small detail(s) or two, this autotools 
portability thing is still not a guarantee that something is buildable on 
FreeBSD. This is where the a port maintainer comes in and creates/provides 
patches to fix this situation. These are what are in the 'files' directory 
under a port in the ports tree where the Makefile is found. 

There are some other small tidbits probably missing, but maybe this is 
enough to get you going. Hope it helps. More smarter coder types can 
probably chime in with better details along the way. 


More information about the freebsd-questions mailing list