pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgtools/pkg_install does not compile with gcc-9 (Ubutnu 20)



On Fri, 13 Mar 2020 at 19:53, Shay Perlstein <Shay.Perlstein%tomtom.com@localhost> wrote:
>
>
> Hi,
> I am porting our pkgsrc setup to Ubuntu 20. One of the things that does not compile out of the box is pkgtools/pkg_install.
>
> The following error is generated:
>
> checking whether the C compiler works.. no
> configure: error: in `/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libnbcompat':
> configure: error: C compiler cannot create executables
> See `config.log' for more details
> *** Error code 77
>
> Stop.
> bmake[1]: stopped in /usr/pkgsrc/pkgtools/pkg_install
> *** Error code 1
>
>
> Diving into the config log:
>
>
> configure:3047: checking whether the C compiler works
> configure:3069: cc -O2 -D_FORTIFY_SOURCE=2 -I/usr/local/pkg/include -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -DDEF_UMASK=022 -I/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/bzip2 -I/var/tmp/pkgs
> rc-obj/pkgtools/pkg_install/work/zlib -I/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libarchive/libarchive -I/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libfetch -I/var/tmp/pkgsrc-obj/pkgtools/pkg_install/wor
> k -DHAVE_NBCOMPAT_H=1 -I/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libnbcompat -I/usr/local/pkg/include -Wl,-z,relro -Wl,-z,now -lssl -lcrypto -L/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/bzip2 -L/var/tmp/
> pkgsrc-obj/pkgtools/pkg_install/work/zlib -L/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libarchive/.libs -L/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libfetch -L/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work
> /netpgp -L/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libnbcompat -L/usr/local/pkg/lib -Wl,-R/usr/local/pkg/lib conftest.c  >&5
> /tmp/cc9uaWwA.s: Assembler messages:
> /tmp/cc9uaWwA.s:10: Error: no such instruction: `endbr64'
> configure:3073: $? = 1
> configure:3111: result: no
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "libnbcompat"
> | #define PACKAGE_TARNAME "libnbcompat"
> | #define PACKAGE_VERSION "20150419"
> | #define PACKAGE_STRING "libnbcompat 20150419"
> | #define PACKAGE_BUGREPORT "joerg%NetBSD.org@localhost"
> | #define PACKAGE_URL ""
> | /* end confdefs.h.  */
> |
> | int
> | main ()
> | {
> |
> |   ;
> |   return 0;
> | }
> configure:3116: error: in `/var/tmp/pkgsrc-obj/pkgtools/pkg_install/work/libnbcompat':
> configure:3118: error: C compiler cannot create executables
> See `config.log' for more details
>
> looking into the Makefile you see the following:
>
>
> # These are needed to solve a chicken-and-egg problem where pkgsrc uses
> # newer features of pkg_install, but older NetBSD installations won't
> # support them.  In this case, we explicitly use the native GCC
> # compiler to avoid problems with depending on pkgsrc GCC for building
> # pkg_install.
> #
> # We also use the newly built pkg_{add,create,delete} since upgrading
> # from an older pkg_install might required features of the new
> # program, provided that we are not cross-compiling.  (XXX If we are
> # cross-compiling, we should maybe have a host build dependency on
> # ourselves...)
> #
> # Note that the definitions are only overriden for the phases that are
> # supposed to use them.  pkg_admin pmatch might be used when looking for
> # dependencies. If that is ever changed in a incompatible way, this has to
> # be rethought.
> USE_NATIVE_GCC=     yes
>
> Removing it will make the package compile on Ubuntu 20.
>
> Beside the actual gcc-9 issue, the other question is, why the native compiler is used by default and not only on older NetBSD where the issue might occur?
> I would expect pkgsrc to avoid using system compilers by default, especially when  `PREFER_PKGSRC=yes` option is used.

On a similar system:
Linux e130 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u1 (2019-09-20)
x86_64 GNU/Linux

I cannot replicate your errors. pkgtools/pkg_install builds and
installs fine here.

My mk.conf:

ABI=                    64
PKG_DBDIR=              /usr/pkg/pkgdb
LOCALBASE=              /usr/pkg
VARBASE=                /var
PKG_TOOLS_BIN=          /usr/pkg/sbin
PKGINFODIR=             info
PKGMANDIR=              man
PREFER_PKGSRC=          yes
TOOLS_PLATFORM.awk?=            /usr/pkg/bin/nawk
TOOLS_PLATFORM.sh?=             /bin/bash
PKG_DEVELOPER=  yes
DISTDIR?=       /home/oc/pkgsrc/distfiles
WRKOBJDIR=      /home/oc/pkgsrc/work
PACKAGES?=      /home/oc/pkgsrc/packages
SU_CMD=         sudo sh -c
ACCEPTABLE_LICENSES+= gnu-agpl-v3 vim-license
MASTER_SORT=    .uk
PREFER_NATIVE?= no
X11_TYPE?=      modular
LINUX_LOCALES?= en uk de
DEPENDS_TARGET= bin-install



-- 
Ottavio Caruso


Home | Main Index | Thread Index | Old Index