Re: r209240 ia64 -> buildworld -> undefined reference to `lzma_physmem'

From: Anton Shterenlikht <mexas_at_bristol.ac.uk>
Date: Thu, 24 Jun 2010 12:33:50 +0100
On Thu, Jun 24, 2010 at 11:57:26AM +0100, Anton Shterenlikht wrote:
> On Thu, Jun 24, 2010 at 11:11:22AM +0200, Dag-Erling Smørgrav wrote:
> > Anton Shterenlikht <mexas_at_bristol.ac.uk> writes:
> > > # find /usr/obj/usr/src -name liblzma.a
> > > /usr/obj/usr/src/tmp/usr/lib/liblzma.a
> > > /usr/obj/usr/src/lib/liblzma/liblzma.a
> > > # diff /usr/obj/usr/src/tmp/usr/lib/liblzma.a /usr/obj/usr/src/lib/liblzma/liblzma.a
> > > #
> > > # nm /usr/obj/usr/src/lib/liblzma/liblzma.a | grep physmem
> > > hardware_physmem.o:
> > > 0000000000000000 T lzma_physmem
> > >                  U lzma_tuklib_physmem
> > > tuklib_physmem.o:
> > > 0000000000000000 T lzma_tuklib_physmem
> > > # 
> > > # nm /usr/lib/liblzma.a | grep physmem
> > > nm: '/usr/lib/liblzma.a': No such file
> > > #
> > >
> > > Did you mean /usr/local/lib/liblzma.a ?
> > 
> > No, I meant /usr/lib/liblzma.a.
> 
> This file doesn't exist on either of
> my other two ia64 boxes, where this problem
> is not present.


I appologise. The file does exist on the other 2 ia64 boxes:

% nm /usr/lib/liblzma.a | grep physmem
hardware_physmem.o:
0000000000000000 T lzma_physmem
                 U lzma_tuklib_physmem
tuklib_physmem.o:
0000000000000000 T lzma_tuklib_physmem
%

sorry about this, I looked in the wrong place.


> > 
> > Do you have any other compilers installed?
> 
> No, I don't think so, gcc from ports don't build
> on ia64, at least 43/44/45 don't. I haven't
> tried 46 yet. Obviosly clang doesn't build either.
> 
> > 
> > On a machine where make buildworld failed, do
> > 
> > % cd /usr/src
> > % make buildenv
> > % echo $PATH
> > % which cc
> > % cc --version
> > % strings $(which cc) | grep -w tmp
> 
> 
> # cd /usr/src/
> # make buildenv
> Entering world for ia64:ia64
> # echo $PATH
> /usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
> # which cc
> /usr/obj/usr/src/tmp/usr/bin/cc
> # cc --version
> cc (GCC) 4.2.1 20070719  [FreeBSD]
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> # strings $(which cc) | grep -w tmp
> /usr/obj/usr/src/tmp/usr/bin/
> /usr/obj/usr/src/tmp/usr/libdata/gcc/
> /usr/obj/usr/src/tmp/usr/lib/
> /usr/obj/usr/src/tmp/usr/libexec/
> /usr/obj/usr/src/tmp/usr
> /var/tmp/
> /var/tmp
> /usr/tmp
> /tmp
> # 
> 
> Compare this with the output from another ia64 -current,
> where this problem is not present:
> 

I rechecked this again, seems correct.

% cd /usr/src/
% make buildenv
Entering world for ia64:ia64
$ echo $PATH
/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
$ which cc
/usr/obj/usr/src/tmp/usr/bin/cc
$ cc --version
cc (GCC) 4.2.1 20070719  [FreeBSD]
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ strings $(which cc) | grep -w tmp
/usr/obj/usr/src/tmp/usr/bin/
/usr/obj/usr/src/tmp/usr/libdata/gcc/
/usr/obj/usr/src/tmp/usr/lib/
/usr/obj/usr/src/tmp/usr/libexec/
/usr/obj/usr/src/tmp/usr
/var/tmp/
/var/tmp
/usr/tmp
/tmp
$ 

many thanks
anton

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 331 5944
Fax: +44 (0)117 929 4423
Received on Thu Jun 24 2010 - 09:33:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:05 UTC