Re: compiling error
- In reply to: Mark Millard via freebsd-ppc : "Re: compiling error"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Jun 2021 18:18:16 UTC
On 14/06/21 19:26, Mark Millard wrote: > On 2021-Jun-14, at 15:05, al at familysafeinternet.com wrote: > >> I hope that someone can help me. I broke my install of FreeBSD and I went back to my G3 and tried to compile a new kernel so that I would not need the serial console anymore, but even if I try to compile the old kernel it still stops with: >> >> -------------------------------------------------------------- >>>>> stage 3.1: building everything >> -------------------------------------------------------------- >> cd /usr/obj/usr/src/powerpc.powerpc64/sys/AMIGAX5000; MACHINE_ARCH=powerpc64 MACHINE=powerpc CPUTYPE= CC="cc --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" CXX="c++ --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" CPP="cpp --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin:/usr/obj/usr/src/powerpc.powerpc64/tmp/legacy/usr/sbin:/usr/obj/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/obj/usr/src/powerpc.powerpc64/tmp/legacy/bin::/sbin:/bin:/usr/sbin:/usr/bin make -m /usr/src/share/mk KERNEL=kernel all -DNO_MODULES_OBJ >> machine -> /usr/src/sys/powerpc/include >> cc --sysroot=/usr/obj/usr/src/powerpc.powerpc64/tmp -B/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/bin -c -O -pipe -g -nostdinc -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -I/usr/src/sys/contrib/libfdt -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -msoft-float -fPIC -fno-omit-frame-pointer -MD -MF.depend.genoffset.o -MTgenoffset.o -mno-altivec -msoft-float -ffreestanding -fwrapv -fstack-protector -gdwarf-2 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-uninitialized -Wno-format-zero-length -fms-extensions -finline-limit=15000 --param inline-unit-growth=100 --param large-function-growth=1000 -fms-extensions -Wa,-many -mcall-aixdesc -std=iso9899:1999 /usr/src/sys/kern/genoffset.c >> /usr/src/sys/kern/genoffset.c:1: error: -fPIC and -mcall-aixdesc are incompatible >> *** Error code 1 >> >> Stop. >> make[2]: stopped in /usr/obj/usr/src/powerpc.powerpc64/sys/AMIGAX5000 >> *** Error code 1 >> >> Stop. >> make[1]: stopped in /usr/src >> *** Error code 1 >> >> Stop. >> make: stopped in /usr/src >> >> I am using source from before we switched to clang. >> >> The issue is with the offset, but I don't know why it is suddenly a problem, because it compiled before. Any thoughts? >> Hi, I am sorry about the lack of information in this email, I was in a hurry and wasn't thinking. > You make no mention of what svn or git branch and version of the > FreeBSD source is being compiled, no output from svnlite or git > indicating such. root@host:/usr/src # svnlite info --show-item revision 351650 > You do not show anything like the "uname -apKU" output for the > context doing the build. FreeBSD host.datazap.net 13.0-CURRENT FreeBSD 13.0-CURRENT r351067 GENERIC powerpc powerpc 1300039 1300039 > Looks to me like ${MACHINE_CPUARCH} == "powerpc" got -fPIC > in sys/conf/kmod.mk in svn path=/head/; revision=356114 > at 2019-12-27 04:07:51 +0000. > > -mcall-aixdesc is older then that if I understand right. > > But a G3 means 32-bit powerpc is doing the build while you > are targeting something under: > > /usr/obj/usr/src/powerpc.powerpc64/ I want to compile a kernel a new kernel with a frame buffer for a X5000, because I was going to reinstall it anyway. Less that I have to do on the X5000 with a serial console. # # Custom kernel for Freescale MPC85XX development boards like the CDS etc. # # $FreeBSD: head/sys/powerpc/conf/MPC85XX 277254 2015-01-16 17:41:21Z nwhitehorn $ # ident AMIGAX5000 include QORIQ64 #options BUS_DEBUG #options DEBUG #options EARLY_PRINTF #options MPC85XX_UART_PA=0xffe11c000ull #options KTR #options KTR_COMPILE=(KTR_PMAP) #options KTR_MASK=(KTR_PMAP) #options KTR_ENTRIES=8192 #options KTR_VERBOSE options PREEMPTION # Enable kernel thread preemption options GEOM_PART_EBR # Extended Boot Records options GEOM_PART_EBR_COMPAT # Backward compatible partition names options GEOM_PART_APM # Apple Partition Maps. options ZFS device ukbd device ums # For SAS RAID #device pci #device aacraid # For Video device vt device fbd device kbdmux options KBD_INSTALL_CDEV # No Netboot nooptions BOOTP nooptions BOOTP_NFSROOT # For Alex #device nvme nooptions INVARIANTS nooptions INVARIANT_SUPPORT nooptions WITNESS nooptions WITNESS_SKIPSPIN > So it is a form of cross-build (not even a self-hosted limiting > condition one: one that produces incompatible code). You give > no details of how you set up the cross-build. To cross compile I used: make buildkernel TARGET_ARCH=powerpc64 KERNCONF=AMIGAX5000 Is there something else that is needed to make this compile? > My guess is the cross-build attempt is using compiler option > combinations that would work in a native powerpc64 environment > but not with the 32-bit powerpc toolchain that is in use. Or: > the build might have mixed the 32-bit context options and the > powerpc64 context options by having some tests that incorrectly > tests host context vs. target context for choosing options. > I was able to build a working kernel and userland before on the G3 and then recompile everything on the X5000. It maybe that my hard drive has failed. Please let me know if you need other information. Thanks, Al