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

From: Anton Shterenlikht <mexas_at_bristol.ac.uk>
Date: Thu, 24 Jun 2010 11:57:26 +0100
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.

> 
> 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:

> 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
$

which seems identical.


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 - 08:57:28 UTC

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