Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to compile debugedit? #1581

Closed
vsoch opened this issue Mar 16, 2021 · 16 comments
Closed

How to compile debugedit? #1581

vsoch opened this issue Mar 16, 2021 · 16 comments

Comments

@vsoch
Copy link

vsoch commented Mar 16, 2021

Hi! I have a bit of a noob question - I just built rpm from source following instructions in INSTALL, but I don't see debugedit in the bin. Are there instructions anywhere about flags/other I need to provide to compile it? Thank you!

@vsoch
Copy link
Author

vsoch commented Mar 16, 2021

Oh I think this might answer my question - we need libdwarf and elfutils? https://bugs.launchpad.net/ubuntu/+source/rpm/+bug/341891. Testing now!

@vsoch
Copy link
Author

vsoch commented Mar 16, 2021

Okay it's now attempting to compile - here is the error I'm getting:


7 errors found in build log:
     1368    mv -f $depbase.Tpo $depbase.Po
     1369    config.status: creating ./rpmpopt-4.16.1.2
     1370    depbase=`echo tools/rpmdeps.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
     1371    /home/vanessa/Desktop/Code/spack-dev/lib/spack/env/gcc/gcc -DHAVE_CONFIG_H   -I. -I. -I./include/ -I./build -I./lib -I./rpmio -I./misc -DLOC
             ALEDIR="\"/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-xzye7hzexx3d4cwyss3q3ikozfiyadno/s
             hare/locale\"" -DLIBRPMALIAS_FILENAME="\"rpmpopt-4.16.1.2\""  -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes  -
             fno-strict-aliasing -fstack-protector -Wempty-body -g -O2 -MT tools/rpmdeps.o -MD -MP -MF $depbase.Tpo -c -o tools/rpmdeps.o tools/rpmdeps.c
              &&\
     1372    mv -f $depbase.Tpo $depbase.Po
     1373    tools/debugedit.c: In function 'edit_dwarf2':
  >> 1374    tools/debugedit.c:2390:9: error: 'DW_MACRO_GNU_define' undeclared (first use in this function); did you mean 'DW_MACRO_define'?

Should my build be different? I'm trying to create the package for spack, here is what I have so far:

# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)

from spack import *
import llnl.util.tty as tty


class Rpm(AutotoolsPackage):
    """
    The RPM package manager and supported tools
    https://github.com/rpm-software-management/rpm/blob/master/INSTALL
    """

    homepage = "https://github.com/rpm-software-management/rpm"
    url      = "https://github.com/rpm-software-management/rpm/archive/rpm-4.16.1.2-release.tar.gz"

    version('4.16.1.2', sha256='3d2807807a8ccaa92a8ced74e09b5bf5b2417a5bbf9bee4abc7c6aa497547bf3')

    variant('openssl', default=False, description='use openssl for cryptographic library')
    variant('sqlite', default=False, description='use sqlite instead of ndb')
    variant('bdb_ro', default=False, description='standalone support for read-only BDB databases')
    variant('selinux', default=False, description="enable support for SELinux")
    variant('python', default=False, description="build Python bindings to RPM library")
    variant('posix', default=False, description="enable POSIX.1e draft 15 file capabilities support")
    variant('gpg', default=False, description="install gpg for using cryptographic signatures")
    variant('openmp', default=True, description="OpenMP multithreading support (default).")

    # Always required
    depends_on('popt')

    # This should be 5.2.+ It tells me it's not present or too old?
    depends_on('lua@5.2.0:')

    depends_on('autoconf', type='build')
    depends_on('automake', type='build')
    depends_on('libtool',  type='build')

    # required for debugedit
    depends_on('elfutils')
    depends_on('libdwarf')

    # Enable POSIX.1e draft 15 file capabilities support
    depends_on('libcap', when="+posix")
    depends_on('berkeley-db@4.5:')

    # Required for National Language Support, if not present autopoint error
    depends_on('gettext')
    depends_on('file') # provides magic.h
    depends_on('libarchive')

    # suppot for cryptographic signatures
    depends_on('gnupg', when="+gpg")

    # cryptographic library to support digests and signatures
    depends_on('libgcrypt', when='-openssl')
    depends_on('openssl@1.0.2:', when='+openssl')

    # RPM needs some database, ndb requires no extra dependencies but sqlite does
    depends_on('sqlite@3.22.0:', when='+sqlite')

    # Python 2.x support is being deprecated
    depends_on('python@3.1:', when='+sqlite')

    # compression support
    depends_on('zlib')

    # Desired to install these formats for use
    depends_on('bzip2')
    depends_on('gzip')
    depends_on('xz')

    # java jara dependency analysis (already requirement for lua)
    depends_on('unzip', type='run')

    def autoreconf(self, spec, prefix):
        sh = which('sh')
        
        # This somehow does not detect lua
        sh('./autogen.sh', "--without-lua")

    def configure_args(self):
        spec = self.spec
        
        # We shouldn't need to add without-lua here or in autoreconf
        args = ["--enable-ndb", "--without-lua"]

        # cryptography library defaults to libgcrypt, but doesn't hurt to specify
        if "+openssl" in spec:
            args.append("--with-crypto=openssl")
            tty.warning(openssl_warning)
        else:
            args.append("--with-crypto=libgcrypt")

        # Default to ndb (no deps) if sqlite not wanted
        if "+sqlite" in spec:
            args.append("--enable-sqlite")
        if "+bdb_ro" in spec:
            args.append("--bdb-ro")
 
        # Enable support for selinux
        if "+selinux" in spec:
            args.append('--with-selinux')
        if "+python" in spec:
            args.append("--enable-python")

        # enable POSIX.1e draft 15 file capabilities support
        if "+posix" in spec:
            args.append('--with-cap')

        # OpenMP multithreading support automatically enabled if C compiler has
        # support for OpenMP version 4.5 or higher
        if "-openmp" in spec:
            args.append("--disable-openmp")

        return args


# This warning is from the INSTALL about licensing when using openssl.
# We need to show it to the user if they choose the openssl variant.

openssl_warning = """
When compiling against OpenSSL, there is a possible license incompatibility.
For more details on this, see https://people.gnome.org/~markmc/openssl-and-the-gpl.html
Some Linux distributions have different legal interpretations of this
possible incompatibility. It is recommended to consult with a lawyer before
building RPM against OpenSSL.
Fedora: https://fedoraproject.org/wiki/Licensing:FAQ#What.27s_the_deal_with_the_OpenSSL_license.3F
Debian: https://lists.debian.org/debian-legal/2002/10/msg00113.html"""

@DemiMarie
Copy link
Contributor

@vsoch Lua is now required unconditionally, and has been de facto required for a while. Also, GPG is needed to sign packages, but not to verify them.

@vsoch
Copy link
Author

vsoch commented Mar 16, 2021

@DemiMarie thank you! What version of lua? I had 5.2.0 and it told me it wasn't recent enough. Should I try a more recent one (which one?)

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

here is what I ran into (that led me to disable it before) - when I add lua, it actually fails in the autogen.sh step, because it tells me it's not found / too old:

==> No patches needed for rpm
==> rpm: Executing phase: 'autoreconf'
==> Error: ProcessError: Command exited with status 1:
    '/bin/bash' './autogen.sh'

1 error found in build log:
     361    checking for localtime_r... yes
     362    checking for statvfs... yes
     363    checking for getaddrinfo... yes
     364    checking for doxygen... no
     365    checking for dot... YES
     366    checking for LUA... no
  >> 367    configure: error: lua not present or too old (--without-lua to disable)

What environment variables / other need to be set for the Lua to be found? Sorry for my naive-ty, I'm pretty new to this library.

@DemiMarie
Copy link
Contributor

@DemiMarie thank you! What version of lua? I had 5.2.0 and it told me it wasn't recent enough. Should I try a more recent one (which one?)

You need 5.4.0, IIRC. 5.3.0 might work.

@pmatilai
Copy link
Member

No no, Lua 5.2 is the oldest supported version, as it says in INSTALL and configure.ac. On some distros (eg Debian and derivates) lua.pc is versioned and our configure.ac wont find it.

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

Could it be an issue with not finding lua.pc? I was looking at this post, and that seems to be important:

https://stackoverflow.com/questions/47458678/why-lua-5-3-can-not-find-the-path-of-include-missing-lua-include-dir

I've been trying all morning to get this to work with various variables pointing to the lua libraries and no go. I can confirm they are there:

$ ls opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/lua-5.4.0-pnz7qlunrfkgnsgsbdn2t73tkwicdfkv/include/
lauxlib.h  luaconf.h  lua.h  lua.hpp  lualib.h

This is always the result:

==> [2021-03-17-10:29:19.597984] Error: ProcessError: Command exited with status 1:
    '/tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-afb44p5cjv2ydl5i5sc4yzljuezhfhhv/spack-src/configure' '--prefix=/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-afb44p5cjv2ydl5i5sc4yzljuezhfhhv' '--enable-ndb' 'CFLAGS=-fPIC' '--with-lua-prefix=/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/lua-5.4.0-pnz7qlunrfkgnsgsbdn2t73tkwicdfkv' '--with-lua=/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/lua-5.4.0-pnz7qlunrfkgnsgsbdn2t73tkwicdfkv' 'CPPFLAGS=-L/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/lua-5.4.0-pnz7qlunrfkgnsgsbdn2t73tkwicdfkv' '--with-crypto=libgcrypt'

1 error found in build log:
     364    checking for localtime_r... yes
     365    checking for statvfs... yes
     366    checking for getaddrinfo... yes
     367    checking for doxygen... no
     368    checking for dot... YES
     369    checking for LUA... no
  >> 370    configure: error: lua not present or too old (--without-lua to disable)

Does this not compile on Ubuntu?

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

Is there a patch we can use maybe here to patch our lua install to have this file?

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

Ok, I found a patch to generate lua.pc, added to PKG_CONFIG_PATH, and it starts the build, but then errors out:

==> Error: ProcessError: Command exited with status 2:
    'make' '-j8'

23 errors found in build log:
     1023    mv -f $depbase.Tpo $depbase.Po
     1024    libtool: link: /home/vanessa/Desktop/Code/spack-dev/lib/spack/env/gcc/gcc -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstri
             ct-prototypes -fno-strict-aliasing -fstack-protector -Wempty-body -fPIC -o .libs/rpm2cpio rpm2cpio.o  lib/.libs/librpm.so -L/home/vaness
             a/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/libgcrypt-1.9.1-ilrszqij6qudts7cq4h4tnuswvnjgzs7/lib -L/home/vane
             ssa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/libgpg-error-1.37-pbytmevkno53sctoh6pweq25ze6bzc54/lib /tmp/van
             essa/spack-stage/spack-stage-rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb6syhok/spack-src/rpmio/.libs/librpmio.so -lintl -ldb /usr/lib/x86_64
             -linux-gnu/libsqlite3.so rpmio/.libs/librpmio.so -lgcrypt -lgpg-error -lbz2 -lz -llzma -lpopt -ldl -lpthread -Wl,-rpath -Wl,/home/vaness
             a/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb6syhok/lib
     1025    mv -f .deps/libcliutils_la-cliutils.Tpo .deps/libcliutils_la-cliutils.Plo
     1026    depbase=`echo tools/hashtab.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
     1027    /home/vanessa/Desktop/Code/spack-dev/lib/spack/env/gcc/gcc -DHAVE_CONFIG_H   -I. -I. -I./include/ -I./build -I./lib -I./rpmio -I./misc -
             DLOCALEDIR="\"/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb
             6syhok/share/locale\"" -DLIBRPMALIAS_FILENAME="\"rpmpopt-4.16.1.2\""  -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-p
             rototypes  -fno-strict-aliasing -fstack-protector -Wempty-body -fPIC -MT tools/hashtab.o -MD -MP -MF $depbase.Tpo -c -o tools/hashtab.o 
             tools/hashtab.c &&\
     1028    mv -f $depbase.Tpo $depbase.Po
  >> 1029    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetValue'
  >> 1030    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaGetGlobalState'
  >> 1031    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetListMode'
  >> 1032    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaPushTable'
  >> 1033    /usr/bin/ld: /tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb6syhok/spack-src/rpmio/.libs/librpmio.so: undef
             ined reference to `rpmluaPushPrintBuffer'
  >> 1034    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaFree'
  >> 1035    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetValueNum'
  >> 1036    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavNew'
  >> 1037    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaSetNextFileFunc'
  >> 1038    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaRunScript'
  >> 1039    /usr/bin/ld: /tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb6syhok/spack-src/rpmio/.libs/librpmio.so: undef
             ined reference to `rpmluaPopPrintBuffer'
  >> 1040    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavFree'
  >> 1041    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaDelVar'
  >> 1042    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaPop'
  >> 1043    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaSetVar'
  >> 1044    collect2: error: ld returned 1 exit status
     1045    make[2]: *** [Makefile:993: rpm2cpio] Error 1
     1046    make[2]: *** Waiting for unfinished jobs....
     1047    tools/debugedit.c: In function 'edit_dwarf2':
  >> 1048    tools/debugedit.c:2390:9: error: 'DW_MACRO_GNU_define' undeclared (first use in this function); did you mean 'DW_MACRO_define'?
     1049     2390 |    case DW_MACRO_GNU_define:
     1050          |         ^~~~~~~~~~~~~~~~~~~
     1051          |         DW_MACRO_define
     1052    tools/debugedit.c:2390:9: note: each undeclared identifier is reported only once for each function it appears in
  >> 1053    tools/debugedit.c:2391:9: error: 'DW_MACRO_GNU_undef' undeclared (first use in this function); did you mean 'DW_MACRO_undef'?
     1054     2391 |    case DW_MACRO_GNU_undef:
     1055          |         ^~~~~~~~~~~~~~~~~~
     1056          |         DW_MACRO_undef
  >> 1057    tools/debugedit.c:2396:9: error: 'DW_MACRO_GNU_start_file' undeclared (first use in this function); did you mean 'DW_MACRO_start_file'?
     1058     2396 |    case DW_MACRO_GNU_start_file:
     1059          |         ^~~~~~~~~~~~~~~~~~~~~~~
     1060          |         DW_MACRO_start_file
  >> 1061    tools/debugedit.c:2400:9: error: 'DW_MACRO_GNU_end_file' undeclared (first use in this function); did you mean 'DW_MACRO_end_file'?
     1062     2400 |    case DW_MACRO_GNU_end_file:
     1063          |         ^~~~~~~~~~~~~~~~~~~~~
     1064          |         DW_MACRO_end_file
     1065    config.status: creating ./macros
     1066    config.status: creating ./rpmrc
  >> 1067    tools/debugedit.c:2402:9: error: 'DW_MACRO_GNU_define_indirect' undeclared (first use in this function)
     1068     2402 |    case DW_MACRO_GNU_define_indirect:
     1069          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
  >> 1070    tools/debugedit.c:2403:9: error: 'DW_MACRO_GNU_undef_indirect' undeclared (first use in this function)
     1071     2403 |    case DW_MACRO_GNU_undef_indirect:
     1072          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
     1073    config.status: creating ./rpmpopt-4.16.1.2
  >> 1074    tools/debugedit.c:2421:9: error: 'DW_MACRO_GNU_transparent_include' undeclared (first use in this function)
     1075     2421 |    case DW_MACRO_GNU_transparent_include:
     1076          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     1077    config.status: creating ./platform
     1078    make[2]: *** [Makefile:1133: tools/debugedit.o] Error 1
     1079    config.status: creating ./rpm.pc
     1080    make[2]: Leaving directory '/tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-smdq6mmawack7lieg7vdmzhikb6syhok/spack-src'

What am I missing?

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

okay I think I'm beyond that error - now I have:

==> Error: ProcessError: Command exited with status 2:
    'make' '-j8'

16 errors found in build log:
     1024    mv -f .deps/libcliutils_la-cliutils.Tpo .deps/libcliutils_la-cliutils.Plo
     1025    depbase=`echo tools/hashtab.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
     1026    /home/vanessa/Desktop/Code/spack-dev/lib/spack/env/gcc/gcc -DHAVE_CONFIG_H   -I. -I. -I./include/ -I./build -I./lib -I./rpmio -I./misc -
             DLOCALEDIR="\"/home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usu
             agpnzz/share/locale\"" -DLIBRPMALIAS_FILENAME="\"rpmpopt-4.16.1.2\""  -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstrict-p
             rototypes  -fno-strict-aliasing -fstack-protector -Wempty-body -fPIC -MT tools/hashtab.o -MD -MP -MF $depbase.Tpo -c -o tools/hashtab.o 
             tools/hashtab.c &&\
     1027    mv -f $depbase.Tpo $depbase.Po
     1028    libtool: link: /home/vanessa/Desktop/Code/spack-dev/lib/spack/env/gcc/gcc -D_REENTRANT -Wall -Wpointer-arith -Wmissing-prototypes -Wstri
             ct-prototypes -fno-strict-aliasing -fstack-protector -Wempty-body -fPIC -o .libs/rpm2cpio rpm2cpio.o  lib/.libs/librpm.so -L/home/vaness
             a/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/libgcrypt-1.9.1-ilrszqij6qudts7cq4h4tnuswvnjgzs7/lib -L/home/vane
             ssa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/libgpg-error-1.37-pbytmevkno53sctoh6pweq25ze6bzc54/lib /tmp/van
             essa/spack-stage/spack-stage-rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usuagpnzz/spack-src/rpmio/.libs/librpmio.so -lintl -ldb /usr/lib/x86_64
             -linux-gnu/libsqlite3.so rpmio/.libs/librpmio.so -lgcrypt -lgpg-error -lbz2 -lz -llzma -lpopt -ldl -lpthread -Wl,-rpath -Wl,/home/vaness
             a/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usuagpnzz/lib
     1029    config.status: creating ./platform
  >> 1030    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetValue'
  >> 1031    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaGetGlobalState'
  >> 1032    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetListMode'
  >> 1033    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaPushTable'
  >> 1034    /usr/bin/ld: /tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usuagpnzz/spack-src/rpmio/.libs/librpmio.so: undef
             ined reference to `rpmluaPushPrintBuffer'
  >> 1035    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaFree'
  >> 1036    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavSetValueNum'
  >> 1037    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavNew'
  >> 1038    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaSetNextFileFunc'
  >> 1039    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaRunScript'
  >> 1040    /usr/bin/ld: /tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usuagpnzz/spack-src/rpmio/.libs/librpmio.so: undef
             ined reference to `rpmluaPopPrintBuffer'
  >> 1041    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluavFree'
  >> 1042    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaDelVar'
  >> 1043    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaPop'
  >> 1044    /usr/bin/ld: lib/.libs/librpm.so: undefined reference to `rpmluaSetVar'
  >> 1045    collect2: error: ld returned 1 exit status
     1046    make[2]: *** [Makefile:993: rpm2cpio] Error 1
     1047    make[2]: *** Waiting for unfinished jobs....
     1048    config.status: creating ./rpm.pc
     1049    config.status: creating ./rpmpopt-4.16.1.2
     1050    config.status: creating ./rpmrc
     1051    config.status: creating ./macros

See build log for details:
  /tmp/vanessa/spack-stage/spack-stage-rpm-4.16.1.2-fm4vne33joaovscv4wwlvl7usuagpnzz/spack-build-out.txt

I hope someone can help me :(

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

These functions have been deprecated but the debugedit library is not updated? https://github.com/rpm-software-management/rpm/blob/635edd95230e17e8ada5793719d7e385e729df30/rpmio/rpmlua.h

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

@vsoch
Copy link
Author

vsoch commented Mar 17, 2021

Okay so I went back and used this older version, and installed binutils to get the first set of missing symbols, and now I have this:

  >> 1071    /home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/binutils-2.36.1-rwurk7323mkmtj2gcqzb2frviciev3eu/bin/
             ld: tools/sepdebugcrcfix.o: undefined reference to symbol 'libintl_dgettext'
  >> 1072    /home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/binutils-2.36.1-rwurk7323mkmtj2gcqzb2frviciev3eu/bin/
             ld: /home/vanessa/Desktop/Code/spack-dev/opt/spack/linux-ubuntu20.04-skylake/gcc-9.3.0/gettext-0.21-gul32kw2c4abi344rzakhobej67dj53k/lib
             /libintl.so.8: error adding symbols: DSO missing from command line
  >> 1073    collect2: error: ld returned 1 exit status

I'll stop posting so you have a chance to respond! I can't imagine that no one has ever tried to build this...

@vsoch
Copy link
Author

vsoch commented Mar 25, 2021

hey @DemiMarie and @pmatilai ! I wanted to give you an update that we found debugedit here 👉 https://code.wildebeest.org/git/user/mjw/debugedit/ and although it's likely a WIP, it already compiles beautifully and we've been able to use it as a separate package.

I'm good to close this issue - but I do have one more question! @DemiMarie you mentioned:

Also, GPG is needed to sign packages, but not to verify them.

Do you use openssl / something else? Could you point me to where you do that? I think we'd be interested in doing something similar for spack.

@pmatilai pmatilai closed this as completed Apr 9, 2021
@vsoch
Copy link
Author

vsoch commented Apr 9, 2021

Did you see my question in the last comment above? 👆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants