From owner-freebsd-questions@FreeBSD.ORG Mon May 26 17:11:20 2014 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A90883F1 for ; Mon, 26 May 2014 17:11:20 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64C9028AB for ; Mon, 26 May 2014 17:11:19 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WoyQY-00087N-2j for freebsd-questions@freebsd.org; Mon, 26 May 2014 19:11:10 +0200 Received: from pool-173-79-82-127.washdc.fios.verizon.net ([173.79.82.127]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 26 May 2014 19:11:10 +0200 Received: from nightrecon by pool-173-79-82-127.washdc.fios.verizon.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 26 May 2014 19:11:10 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-questions@freebsd.org From: Michael Powell Subject: Re: Help Compiling apligen Date: Mon, 26 May 2014 13:10:42 -0400 Lines: 55 Message-ID: References: <538360F7.3090707@mykitchentable.net> Reply-To: nightrecon@hotmail.com Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: pool-173-79-82-127.washdc.fios.verizon.net X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 May 2014 17:11:20 -0000 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: > > http://apligen.sourceforge.net/ > > 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: > [snip] 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. -Mike