From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Two build problems Date: Sat, 15 Sep 2012 14:40:41 -0400 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: ger.gmane.org 1347734449 27573 80.91.229.3 (15 Sep 2012 18:40:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Sep 2012 18:40:49 +0000 (UTC) To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Sep 15 20:40:54 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TCxIS-0002ni-1y for guile-devel@m.gmane.org; Sat, 15 Sep 2012 20:40:52 +0200 Original-Received: from localhost ([::1]:59465 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCxIO-00070G-6c for guile-devel@m.gmane.org; Sat, 15 Sep 2012 14:40:48 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:56265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCxIK-0006zj-4a for guile-devel@gnu.org; Sat, 15 Sep 2012 14:40:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCxII-0007Cu-DK for guile-devel@gnu.org; Sat, 15 Sep 2012 14:40:44 -0400 Original-Received: from mail-ob0-f169.google.com ([209.85.214.169]:53944) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCxII-0007Ch-16 for guile-devel@gnu.org; Sat, 15 Sep 2012 14:40:42 -0400 Original-Received: by obhx4 with SMTP id x4so8368644obh.0 for ; Sat, 15 Sep 2012 11:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=p0XyzJuVrq6f2eFAzrH6sB9kOodqNYYSwxt7obXrtuw=; b=NnJBl8EOXhiH3dpPG5+cbyKf1TuigQFtwn5n5g15XPMVlr4I6tXrp9xCSjwPdYvyGp K+wicj1nf0j1JrKloGsBkJTIcWnW705tqAntsAFJLE0vYRI3miqAaq8wWG7kXP25hHsE z3mYQwH8nnidB85lgSm2bu0apY1V4v3k/6kJvnZ62L5UKyBY4GKpgaS4WqNdA2oZcCAW QIRVFREWW9dV2NqNgVAuT6jGnG4jUh03D+KFHOXL0dcx4tJPEs1i+P0ZVazN1K7vV7hU C/Hw6a0O4j4T3QziPhVf7wlo8wUzRTdGF61+N/EzjqMBROrXs5bQNgg9zi810WZ9pBgF xTjw== Original-Received: by 10.60.30.229 with SMTP id v5mr7715333oeh.130.1347734441117; Sat, 15 Sep 2012 11:40:41 -0700 (PDT) Original-Received: by 10.76.167.197 with HTTP; Sat, 15 Sep 2012 11:40:41 -0700 (PDT) X-Google-Sender-Auth: HXQaSeDUPFscyhk1CRw_7BbxIUQ X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.214.169 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:14887 Archived-At: Hello, I hit two errors while building recent Guile, one of which I have diagnosed. First problem: At first, I couldn't build lib/striconveh.c. Here's what I think was wrong: Make doesn't know that lib/striconveh.c depends on lib/unitypes.h. This is a problem because lib/unitypes.h is generated from lib/unitypes.in.h, but because Make doesn't know about the dependency, it doesn't bother to generate lib/unitypes.h before building striconveh.c, thus generating an error. Here's some evidence that this is true: when I manually make lib/unitypes.h and then make Guile the regular way, the build succeeds. (I actually decided this by manually following the includes and noticing that lib/unitypes.h doesn't exist, then looking in the Makefile to find out why.) I'm not quite sure what the right fix is, for two reasons. First of all, the dependency isn't direct - lib/striconveh.c includes lib/unistr.h, which then includes lib/unitypes.h. So maybe lib/unistr.h should depend on lib/unitypes.h, and striconveh.c shouldn't be directly involved. Second, I believe lib/ actually comes from gnulib, and I don't know how that's organized. So I don't know if this is a Guile bug or a gnulib bug. Second problem: Since I could fix the first one by hand, I decided to go ahead and build Guile. That's when I discovered that even though lib/unitypes.h exists, it's not being included by lib/unistr.h when building files in the libguile/ directory (even though it works fine when building things in the lib/ directory). Therefore, an include path is messed up somewhere. lib/unistr.h says this: #include "unitypes.h". But when I try to build bytevectors.c, I get lots of errors from lib/unistr.h that seem to be based on a lack of macros from lib/unitypes.h. As an experiment, I added the line "#error" to lib/unitypes.h. As expected, the preprocessor and compiler didn't compain about it, which I think means that they're never looking in lib/unitypes.h when building libguile/bytevectors.c. This is a problem. Unfortunately, I don't know how to fix this one. Defining the macro INCLUDES in libguile/Makefile to -I../lib:./lib doesn't seem to help. Thanks, Noah