Re: [head tinderbox] failure on amd64/amd64

From: Ruslan Ermilov <ru_at_FreeBSD.org>
Date: Wed, 11 Jan 2006 16:23:02 +0200
On Wed, Jan 11, 2006 at 03:08:58PM +0100, Harti Brandt wrote:
> On Wed, 11 Jan 2006, John Baldwin wrote:
> 
> JB>On Wednesday 11 January 2006 03:03 am, Harti Brandt wrote:
> JB>> On Wed, 11 Jan 2006, FreeBSD Tinderbox wrote:
> JB>>
> JB>> FT>TB --- 2006-01-11 06:07:43 - tinderbox 2.3 running on
> JB>> freebsd-current.sentex.ca FT>TB --- 2006-01-11 06:07:43 - starting HEAD
> JB>> tinderbox run for amd64/amd64 FT>TB --- 2006-01-11 06:07:43 - cleaning the
> JB>> object tree
> JB>> FT>TB --- 2006-01-11 06:08:05 - checking out the source tree
> JB>> FT>TB --- 2006-01-11 06:08:05 - cd /tinderbox/HEAD/amd64/amd64
> JB>> FT>TB --- 2006-01-11 06:08:05 - /usr/bin/cvs -f -R -q -d/home/ncvs update
> JB>> -Pd -A src FT>TB --- 2006-01-11 06:19:05 - building world (CFLAGS=-O2
> JB>> -pipe)
> JB>> FT>TB --- 2006-01-11 06:19:05 - cd /src
> JB>> FT>TB --- 2006-01-11 06:19:05 - /usr/bin/make -B buildworld
> JB>> FT>>>> Rebuilding the temporary build tree
> JB>> FT>>>> stage 1.1: legacy release compatibility shims
> JB>> FT>>>> stage 1.2: bootstrap tools
> JB>> FT>>>> stage 2.1: cleaning up the object tree
> JB>> FT>>>> stage 2.2: rebuilding the object tree
> JB>> FT>>>> stage 2.3: build tools
> JB>> FT>>>> stage 3: cross tools
> JB>> FT>>>> stage 4.1: building includes
> JB>> FT>>>> stage 4.2: building libraries
> JB>> FT>>>> stage 4.3: make dependencies
> JB>> FT>>>> stage 4.4: building everything
> JB>> FT>[...]
> JB>> FT>cc -fpic -DPIC -O2 -pipe  -DNDEBUG
> JB>> -I/src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source -I.
> JB>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> JB>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
> JB>> -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
> JB>> -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs
> JB>> -Wredundant-decls -c
> JB>> /src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c -o
> JB>> hostres_storage_tbl.So FT>cc -fpic -DPIC -O2 -pipe  -DNDEBUG
> JB>> -I/src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source -I.
> JB>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> JB>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
> JB>> -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
> JB>> -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs
> JB>> -Wredundant-decls -c
> JB>> /src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swinstalled_tbl.c -o
> JB>> hostres_swinstalled_tbl.So FT>cc -fpic -DPIC -O2 -pipe  -DNDEBUG
> JB>> -I/src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source -I.
> JB>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> JB>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
> JB>> -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
> JB>> -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs
> JB>> -Wredundant-decls -c
> JB>> /src/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c -o
> JB>> hostres_swrun_tbl.So FT>cc -fpic -DPIC -O2 -pipe -DNDEBUG
> JB>> -I/src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source -I.
> JB>> -c
> JB>> /src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source/printc
> JB>>ap.c -o printcap.So FT>cc -fpic -DPIC -O2 -pipe  -DNDEBUG
> JB>> -I/src/usr.sbin/bsnmpd/modules/snmp_hostres/../../../lpr/common_source -I.
> JB>> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> JB>> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
> JB>> -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align
> JB>> -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs
> JB>> -Wredundant-decls -c hostres_tree.c -o hostres_tree.So FT>building shared
> JB>> library snmp_hostres.so.4
> JB>> FT>/obj/amd64/src/tmp/usr/bin/ld:
> JB>> /obj/amd64/src/tmp/usr/lib/libdisk.a(disk.o): relocation R_X86_64_32S can
> JB>> not be used when making a shared object; recompile with -fPIC
> JB>> FT>/obj/amd64/src/tmp/usr/lib/libdisk.a: could not read symbols: Bad value
> JB>>
> JB>> Can anybody of the binutils folk explain what's happening here?
> JB>> Why does this compile on all other architectures but not on amd64?
> JB>
> JB>Because the .o files in libdisk.a are not compiled with -fPIC but the .o files 
> JB>in your shared object that is linking against it are?  I think amd64 is more 
> JB>picky about not mixing and matching those.
> 
> Wouldn't it then make sense just to build a shared libdisk? Is there a 
> reason not to have one?
> 
Here's the original reason.  I'm not sure if it still holds.  peter_at_ and
phk_at_ Cc:ed.

: RCS file: /home/ncvs/src/lib/libdisk/Makefile,v
: Working file: Makefile
: head: 1.44
: branch:
: locks: strict
: access list:
: keyword substitution: kv
: total revisions: 65;    selected revisions: 1
: description:
: ----------------------------
: revision 1.12
: date: 1996/03/17 19:02:07;  author: peter;  state: Exp;  lines: +1 -0
: Repository copy src/release/libdisk to src/lib/libdisk as per recent
: discussion on -core about disk partitioning tools etc.
: 
: Add NOPIC=yes to Makefile to prevent any possibility of version mismatch
: because of the potential grave consequences. (as suggested by phk)
: 
: Note that this is also on RELENG_2_1_0, since the sysinstall stuff is
: hopefully going to remain in sync.


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Wed Jan 11 2006 - 13:28:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:50 UTC