Opened 13 years ago

Closed 13 years ago

#30313 closed defect (worksforme)

rpm 4.4.9 shell command failed. "_elf_strptr", referenced from: ... ld: symbol(s) not found

Reported by: sgrewe@… Owned by: n3npq@…
Priority: Normal Milestone:
Component: ports Version: 2.0.0
Keywords: Cc:
Port: rpm

Description (last modified by jmroot (Joshua Root))

snow leopard 10.6.8 Xcode: 3.2.6 (1761)

...
:info:build /usr/bin/gcc-4.2 -dynamiclib  -o .libs/librpm-4.4.dylib  .libs/cpio.o .libs/depends.o .libs/formats.o .libs/fs.o .libs/fsm.o .libs/getdate.o .libs/manifest.o .libs/misc.o .libs/package.o .libs/poptALL.o .libs/poptI.o .libs/poptQV.o .libs/psm.o .libs/query.o .libs/rpmal.o .libs/rpmchecksig.o .libs/rpmdpkg.o .libs/rpmds.o .libs/rpmevr.o .libs/rpmfc.o .libs/rpmfi.o .libs/rpmgi.o .libs/rpminstall.o .libs/rpmrollback.o .libs/rpmlead.o .libs/rpmlock.o .libs/rpmns.o .libs/rpmps.o .libs/rpmrc.o .libs/rpmsx.o .libs/rpmte.o .libs/rpmts.o .libs/signature.o .libs/stringbuf.o .libs/transaction.o .libs/verify.o .libs/tar.o  -L/opt/local/lib ../rpmdb/.libs/librpmdb.dylib /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9/rpmio/.libs/librpmio.dylib /opt/local/lib/libbeecrypt.dylib /opt/local/lib/libneon.dylib /opt/local/lib/libssl.dylib /opt/local/lib/libcrypto.dylib /opt/local/lib/libexpat.dylib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9/zlib /opt/local/lib/libz.dylib /opt/local/lib/libbz2.dylib /opt/local/lib/libintl.dylib /opt/local/lib/libiconv.dylib /opt/local/lib/libsqlite3.dylib ../rpmio/.libs/librpmio.dylib /opt/local/lib/libpopt.dylib  -arch x86_64 -install_name  /opt/local/lib/librpm-4.4.dylib 
:info:build Undefined symbols:
:info:build   "_elf_strptr", referenced from:
:info:build       _rpmdsELF in rpmds.o
:info:build       _rpmdsELF in rpmds.o
:info:build       _rpmdsELF in rpmds.o
:info:build       _rpmdsELF in rpmds.o
:info:build       _rpmdsELF in rpmds.o
:info:build ld: symbol(s) not found
:info:build collect2: ld returned 1 exit status
:info:build gnumake[3]: *** [librpm.la] Error 1
:info:build gnumake[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9/lib'
:info:build gnumake[2]: *** [all] Error 2
:info:build gnumake[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9/lib'
:info:build gnumake[1]: *** [all-recursive] Error 1
:info:build gnumake[1]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9'
:info:build gnumake: *** [all] Error 2
:info:build gnumake: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9'
:info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/work/rpm-4.4.9" && /usr/bin/gnumake -w all " returned error 2
:error:build Target org.macports.build returned: shell command failed (see log for details)
:debug:build Backtrace: shell command failed (see log for details)
    while executing
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"$procedure $targetname"
:info:build Warning: the following items did not execute (for rpm): org.macports.activate org.macports.build org.macports.destroot org.macports.install
:error:build Failed to install rpm
:notice:build Log for rpm is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_sysutils_rpm/rpm/main.log

Change History (6)

comment:1 Changed 13 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to n3npq@…
Port: 4.4.9 removed

Please remember to cc the maintainer.

comment:2 in reply to:  description Changed 13 years ago by n3npq@…

Description: modified (diff)

Replying to sgrewe@…: There proper "fix" here is rather not obvious:

rpm-4.4.9 was released 4+ years ago and has no upgrade path and no future whatsoever.

So the best fix imho is to retire rpm-4.4.9 and use rpm-5.2.1 instead.

If you disagree, then its easy enough to either stub-in the symbol, or #if 0 the code, since MacPorts uses Mach-O, not ELF. If there really is someone who relies on rpm+elf on MacPorts, then rpm-5.2.1 (released several years ago) is a far better solution than repairing rpm-4.4.9.

I can likely figure a "fix" for rpm-4.4.9 in a couple of minutes if there really is interest in rpm-4.4.9 functioning in MacPorts in spite of what I've just said.

Which solution do you wish (and asked generally of MacPorts as well as specifically of the bug reporter)?

comment:3 Changed 13 years ago by n3npq@…

Hmmm, the core issue preventing dropping rpm-4.4.9 seems to be using yum which depends on rpm-4.4.9.

Anything that depends on obsolete rpm-4.4.9 is likely equally obsolete and in need of upgrading.

I added yum (and upgraded rpm) to MacPorts years ago but haven't paid much attention since. Lemme look (yum is installing on Lion atm) and see what I would suggest as a resolution, and likely also with a patch.

comment:4 Changed 13 years ago by afb@…

:info:build Undefined symbols: :info:build "_elf_strptr", referenced from:
:info:build _rpmdsELF in rpmds.o

If you have the "libelf" port installed, rpm will pick this up (and fail). Uninstall the libelf port, clean rpm, and rebuild the rpm port without it.

MacPorts has lots of multiple versions, so no need to remove rpm for that.

comment:5 Changed 13 years ago by jmroot (Joshua Root)

Description: modified (diff)

comment:6 in reply to:  4 Changed 13 years ago by afb@…

Resolution: worksforme
Status: newclosed

Should work now, without libelf installed.

Note: See TracTickets for help on using tickets.