From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "ISHIKAWA,chiaki" Newsgroups: gmane.emacs.bugs Subject: bug#10896: Suggested Fix (for configure) Date: Mon, 27 Feb 2012 22:36:04 +0900 Message-ID: <4F4B86C4.8030101@yk.rim.or.jp> References: <4F4AF2A2.6080505@yk.rim.or.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1330349848 12031 80.91.229.3 (27 Feb 2012 13:37:28 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 27 Feb 2012 13:37:28 +0000 (UTC) Cc: "ishikawa, chiaki" To: 10896@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Feb 27 14:37:27 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1S20lZ-00009z-Ha for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Feb 2012 14:37:25 +0100 Original-Received: from localhost ([::1]:33678 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S20lY-0002Lp-Nm for geb-bug-gnu-emacs@m.gmane.org; Mon, 27 Feb 2012 08:37:24 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:43204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S20lS-0002LY-2E for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 08:37:22 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S20lL-0005Uj-I1 for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 08:37:17 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:57347) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S20lL-0005Ua-D8 for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 08:37:11 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1S20o6-0005tw-4C for bug-gnu-emacs@gnu.org; Mon, 27 Feb 2012 08:40:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <4F4AF2A2.6080505@yk.rim.or.jp> Resent-From: "ISHIKAWA,chiaki" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 27 Feb 2012 13:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10896 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 10896-submit@debbugs.gnu.org id=B10896.133034994922541 (code B ref 10896); Mon, 27 Feb 2012 13:40:02 +0000 Original-Received: (at 10896) by debbugs.gnu.org; 27 Feb 2012 13:39:09 +0000 Original-Received: from localhost ([127.0.0.1]:59244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S20nE-0005rW-Hs for submit@debbugs.gnu.org; Mon, 27 Feb 2012 08:39:09 -0500 Original-Received: from mbos141-212.alpenstock.jp ([220.156.141.212]:51381 helo=brasilia.mbos.jp) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1S20n9-0005rE-SX for 10896@debbugs.gnu.org; Mon, 27 Feb 2012 08:39:07 -0500 Original-Received: from [172.16.30.42] ([172.16.30.42]) by brasilia.mbos.jp ([172.16.30.52]) with ESMTP id 2012022722:36:10:577695.3313.43342736 for <10896@debbugs.gnu.org>; Mon, 27 Feb 2012 22:36:10 +0900 (JST) Original-Received: (qmail 28753 invoked from network); 27 Feb 2012 22:36:10 +0900 Original-Received: from nttkyo993212.tkyo.nt.ftth.ppp.infoweb.ne.jp (HELO [192.168.0.63]) (ishikawa_yk@smp.mbos.jp@[218.226.218.212]) (envelope-sender ) by beijing.mbos (qmail-ldap-1.03) with SMTP for <10896@debbugs.gnu.org>; 27 Feb 2012 22:36:10 +0900 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 X-TERRACE-SPAMMARK: NOT spam-marked. (by Terrace) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:57303 Archived-At: This could be a Debian specific problem. The failure was also observed on another Debian system. (Which again is a cross between the current stable release, squeeze, and the next version.) I looked for crt1.o in supplied debian packages. The following command prints out the matched file names provided in each Debian package. ishikawa@debian-vbox-ci:~$ dpkg --search "crt1.o" libc6-dbg: /usr/lib/debug/usr/lib64/Scrt1.o libc6-dbg: /usr/lib/debug/usr/lib64/crt1.o libc6-dbg: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o libc6-dbg: /usr/lib/debug/usr/lib/i386-linux-gnu/Mcrt1.o libc6-dev: /usr/lib/i386-linux-gnu/Scrt1.o libc6-dbg: /usr/lib/debug/usr/lib/i386-linux-gnu/gcrt1.o libc6-dbg: /usr/lib/debug/usr/lib64/Mcrt1.o libc6-dbg: /usr/lib/debug/usr/lib64/gcrt1.o libc6-dev: /usr/lib/i386-linux-gnu/Mcrt1.o libc6-dev: /usr/lib/i386-linux-gnu/gcrt1.o libc6-dev: /usr/lib/i386-linux-gnu/crt1.o libc6-dbg: /usr/lib/debug/usr/lib/i386-linux-gnu/Scrt1.o So they are all from libc6-dev, and libc6-dbg. I got curious and checked the intallation status of libc6 on the computer. Looks they are installed alright. See below $ aptitude search libc6 i libc6 - Embedded GNU C Library: Shared libraries p libc6-amd64 - Embedded GNU C Library: 64bit Shared libra i A libc6-dbg - Embedded GNU C Library: detached debugging i A libc6-dev - Embedded GNU C Library: Development Librar p libc6-dev-amd64 - Embedded GNU C Library: 64bit Development i libc6-i686 - Embedded GNU C Library: Shared libraries [ p libc6-pic - Embedded GNU C Library: PIC archive librar p libc6-prof - Embedded GNU C Library: Profiling Librarie p libc6-xen - Embedded GNU C Library: Shared libraries [ Lines that start with "i" in the first column mean the package on the line are currently installed. I wonder, though, why simple libc6 (not -dev, not -dbg) doesn't have crt1.o according to the output of "dpkg --search". Maybe emacs should not look at crt1.o? At least not on the next Debian distribution currently in testing status? The debian distribution on the PC I use is halfway across from squeeze, the current stable version, to the next planned main release version, w...something. I hate the clever naming. GCC seems to have beeen installed without a problem. It can compile emacs after the aforementioned additional parameter to configure. It can compile VirtualBox support modules for linux: I run this instance of linux inside VirtualBox environment. So the installation of GCC is complete as far as I can tell. (The other computer where emacs configure without --with-crt-dir failed also has gcc installed. It can compile and link mozill's thunderbird, a very complex program, indeed. So GCC installation there is complete also.) By the way, I diff'ed ./configure under 23.3 and 23.3 and didn't find much change as far as CRT_DIR is concerned , so assume that it is not that different. So the cause seems to be a different packaging and layout of libc6 under (newer) Debian packages. I checked the time-stamp of the binary of emacs 23.3 which I compiled myself on my PC and have been using. emacs-23.3 compiled fine last May (May 2011) when I used then current Debian distribution. So the Debian packaging has changed between the current stable and the next version (testing) since then. Fix? My suggestion is to move the test for the validity of CRT_DIR after the case statement (and after the default setting of CRT_DIR). See patch and the execution of configure below. [Currently, it is tested only inside the case statement for 64 bits checking. No checking is done outside the case statement.] Then, at least, the missing crt1.o is noticed immediately during the configure before make is invoked. PATCH to configure: ishikawa@debian-vbox-ci:~/emacs-23.4$ diff -U 8 ./configure~ ./configure --- ./configure~ 2012-01-20 00:01:37.000000000 +0900 +++ ./configure 2012-02-27 17:39:20.000000000 +0900 @@ -5732,23 +5732,25 @@ ## the location (bug#5655). ## Test for crtn.o, not just the directory, because sometimes the ## directory exists but does not have the relevant files (bug#1287). ## If user specified a crt-dir, use that unconditionally. if test "X$CRT_DIR" = "X"; then CRT_DIR=/usr/lib test -e /usr/lib64/crtn.o && CRT_DIR=/usr/lib64 fi - - test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \ - as_fn_error $? "crt*.o not found. Use --with-crt-dir to specify the location." "$LINENO" 5 ;; + esac test "X$CRT_DIR" = "X" && CRT_DIR=/usr/lib +test -e $CRT_DIR/crtn.o || test -e $CRT_DIR/crt0.o || \ + as_fn_error $? "crt*.o not found. Use --with-crt-dir to specify the location." "$LINENO" 5 + + if test "${with_sound}" != "no"; then # Sound support for GNU/Linux and the free BSDs. for ac_header in machine/soundcard.h sys/soundcard.h soundcard.h do : ishikawa@debian-vbox-ci:~/emacs-23.4$ ./configure checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking whether gcc understands -Wno-pointer-sign... yes checking whether gcc understands -Wdeclaration-after-statement... yes checking whether ln -s works... yes checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /usr/bin/install -c checking for ranlib... ranlib checking for install-info... /usr/bin/install-info checking for install-info... (cached) /usr/bin/install-info checking for install-info... (cached) /usr/bin/install-info checking for gzip... /bin/gzip checking for makeinfo... /usr/bin/makeinfo checking for -znocombreloc... yes configure: checking the machine- and system-dependent files to find out - which libraries the lib-src programs will want, and - whether the GNU malloc routines are usable... checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... 64 configure: error: crt*.o not found. Use --with-crt-dir to specify the location. ishikawa@debian-vbox-ci:~/emacs-23.4$