riscvarchive / riscv-binutils-gdb

RISC-V backports for binutils-gdb. Development is done upstream at the FSF.
GNU General Public License v2.0
148 stars 233 forks source link

GDB build fails on CentOS 7.9.2009 #263

Closed abeyene closed 3 years ago

abeyene commented 3 years ago

Steps to reproduce:

./configure
make

Output:

g++  -g -O2     -pthread  \
    -o gdb gdb.o ada-exp.o ada-lang.o ada-tasks.o ada-typeprint.o ada-valprint.o ada-varobj.o addrmap.o agent.o alloc.o amd64-linux-nat.o amd64-linux-tdep.o amd64-nat.o amd64-ravenscar-thread.o amd64-tdep.o annotate.o arch-utils.o arch/amd64.o arch/i386.o async-event.o auto-load.o auxv.o ax-gdb.o ax-general.o bcache.o bfd-target.o block.o blockframe.o break-catch-sig.o break-catch-syscall.o break-catch-throw.o breakpoint.o btrace.o build-id.o buildsym-legacy.o buildsym.o c-exp.o c-lang.o c-typeprint.o c-valprint.o c-varobj.o charset.o cli-out.o cli/cli-cmds.o cli/cli-decode.o cli/cli-dump.o cli/cli-interp.o cli/cli-logging.o cli/cli-option.o cli/cli-script.o cli/cli-setshow.o cli/cli-style.o cli/cli-utils.o coff-pe-read.o coffread.o compile/compile-c-support.o compile/compile-c-symbols.o compile/compile-c-types.o compile/compile-cplus-symbols.o compile/compile-cplus-types.o compile/compile-loc2c.o compile/compile-object-load.o compile/compile-object-run.o compile/compile.o complaints.o completer.o continuations.o copying.o corefile.o corelow.o cp-abi.o cp-name-parser.o cp-namespace.o cp-support.o cp-valprint.o ctfread.o d-exp.o d-lang.o d-namespace.o d-valprint.o dbxread.o dcache.o debug.o debuginfod-support.o dictionary.o disasm.o displaced-stepping.o dtrace-probe.o dummy-frame.o dwarf2/abbrev.o dwarf2/attribute.o dwarf2/comp-unit.o dwarf2/dwz.o dwarf2/expr.o dwarf2/frame-tailcall.o dwarf2/frame.o dwarf2/index-cache.o dwarf2/index-common.o dwarf2/index-write.o dwarf2/leb.o dwarf2/line-header.o dwarf2/loc.o dwarf2/macro.o dwarf2/read.o dwarf2/section.o dwarf2/stringify.o elfread.o eval.o event-top.o exceptions.o exec.o expprint.o extension.o f-exp.o f-lang.o f-typeprint.o f-valprint.o filename-seen-cache.o filesystem.o findcmd.o findvar.o fork-child.o frame-base.o frame-unwind.o frame.o gcore.o gdb-demangle.o gdb_bfd.o gdb_obstack.o gdb_regex.o gdbarch.o gdbtypes.o glibc-tdep.o gmp-utils.o gnu-v2-abi.o gnu-v3-abi.o go-exp.o go-lang.o go-typeprint.o go-valprint.o guile/guile.o guile/scm-arch.o guile/scm-auto-load.o guile/scm-block.o guile/scm-breakpoint.o guile/scm-cmd.o guile/scm-disasm.o guile/scm-exception.o guile/scm-frame.o guile/scm-gsmob.o guile/scm-iterator.o guile/scm-lazy-string.o guile/scm-math.o guile/scm-objfile.o guile/scm-param.o guile/scm-ports.o guile/scm-pretty-print.o guile/scm-progspace.o guile/scm-safe-call.o guile/scm-string.o guile/scm-symbol.o guile/scm-symtab.o guile/scm-type.o guile/scm-utils.o guile/scm-value.o i386-linux-tdep.o i386-tdep.o i387-tdep.o inf-child.o inf-loop.o inf-ptrace.o infcall.o infcmd.o inferior.o inflow.o infrun.o inline-frame.o interps.o jit.o language.o linespec.o linux-fork.o linux-nat.o linux-record.o linux-tdep.o linux-thread-db.o location.o m2-exp.o m2-lang.o m2-typeprint.o m2-valprint.o macrocmd.o macroexp.o macroscope.o macrotab.o main.o maint-test-options.o maint-test-settings.o maint.o mdebugread.o mem-break.o memattr.o memory-map.o memrange.o mi/mi-cmd-break.o mi/mi-cmd-catch.o mi/mi-cmd-disas.o mi/mi-cmd-env.o mi/mi-cmd-file.o mi/mi-cmd-info.o mi/mi-cmd-stack.o mi/mi-cmd-target.o mi/mi-cmd-var.o mi/mi-cmds.o mi/mi-common.o mi/mi-console.o mi/mi-getopt.o mi/mi-interp.o mi/mi-main.o mi/mi-out.o mi/mi-parse.o mi/mi-symbol-cmds.o minidebug.o minsyms.o mipsread.o namespace.o nat/amd64-linux-siginfo.o nat/fork-inferior.o nat/linux-btrace.o nat/linux-namespaces.o nat/linux-osdata.o nat/linux-personality.o nat/linux-procfs.o nat/linux-ptrace.o nat/linux-waitpid.o nat/x86-dregs.o nat/x86-linux-dregs.o nat/x86-linux.o objc-lang.o objfiles.o observable.o opencl-lang.o osabi.o osdata.o p-exp.o p-lang.o p-typeprint.o p-valprint.o parse.o posix-hdep.o printcmd.o probe.o proc-service.o process-stratum-target.o producer.o progspace-and-thread.o progspace.o prologue-value.o psymtab.o python/py-arch.o python/py-auto-load.o python/py-block.o python/py-bpevent.o python/py-breakpoint.o python/py-cmd.o python/py-continueevent.o python/py-event.o python/py-evtregistry.o python/py-evts.o python/py-exitedevent.o python/py-finishbreakpoint.o python/py-frame.o python/py-framefilter.o python/py-function.o python/py-gdb-readline.o python/py-inferior.o python/py-infevents.o python/py-infthread.o python/py-instruction.o python/py-lazy-string.o python/py-linetable.o python/py-newobjfileevent.o python/py-objfile.o python/py-param.o python/py-prettyprint.o python/py-progspace.o python/py-record-btrace.o python/py-record-full.o python/py-record.o python/py-registers.o python/py-signalevent.o python/py-stopevent.o python/py-symbol.o python/py-symtab.o python/py-threadevent.o python/py-tui.o python/py-type.o python/py-unwind.o python/py-utils.o python/py-value.o python/py-varobj.o python/py-xmethods.o python/python.o ravenscar-thread.o record-btrace.o record-full.o record.o regcache-dump.o regcache.o reggroups.o registry.o remote-fileio.o remote-notif.o remote.o reverse.o run-on-main-thread.o rust-exp.o rust-lang.o sentinel-frame.o ser-base.o ser-event.o ser-pipe.o ser-tcp.o ser-uds.o ser-unix.o serial.o skip.o solib-svr4.o solib-target.o solib.o source-cache.o source.o stabsread.o stack.o stap-probe.o std-regs.o symfile-debug.o symfile-mem.o symfile.o symmisc.o symtab.o target-connection.o target-dcache.o target-descriptions.o target-float.o target-memory.o target.o target/waitstatus.o test-target.o thread-iter.o thread.o tid-parse.o top.o tracectf.o tracefile-tfile.o tracefile.o tracepoint.o trad-frame.o tramp-frame.o tui/tui-command.o tui/tui-data.o tui/tui-disasm.o tui/tui-file.o tui/tui-hooks.o tui/tui-interp.o tui/tui-io.o tui/tui-layout.o tui/tui-out.o tui/tui-regs.o tui/tui-source.o tui/tui-stack.o tui/tui-win.o tui/tui-wingeneral.o tui/tui-winsource.o tui/tui.o type-stack.o typeprint.o ui-file.o ui-out.o ui-style.o user-regs.o utils.o valarith.o valops.o valprint.o value.o varobj.o version.o x86-linux-nat.o x86-nat.o x86-tdep.o xml-builtin.o xml-support.o xml-syscall.o xml-tdesc.o init.o \
       ../readline/readline/libreadline.a ../opcodes/libopcodes.a ../libctf/.libs/libctf.a ../bfd/libbfd.a -L./../zlib -lz ../gdbsupport/libgdbsupport.a  ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a   -lncursesw -lm -ldl  -L/cs/local/lib64 -lguile-2.2 -lgc   -lpython2.7 -lpthread -ldl -lutil -lm -lexpat -llzma    ../gnulib/import/libgnu.a   -lmpfr -lgmp -lgmp     -ldl -Wl,--dynamic-list=./proc-service.list
python/py-cmd.o: In function `cmdpy_completer_helper(cmd_list_element*, char const*, char const*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-cmd.c:189: undefined reference to `PyUnicodeUCS2_Decode'
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-cmd.c:201: undefined reference to `PyUnicodeUCS2_Decode'
python/py-cmd.o: In function `cmdpy_function(cmd_list_element*, char const*, int)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-cmd.c:128: undefined reference to `PyUnicodeUCS2_Decode'
python/py-frame.o: In function `frapy_name(_object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-frame.c:136: undefined reference to `PyUnicodeUCS2_Decode'
python/py-frame.o: In function `gdbpy_frame_stop_reason_string(_object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-frame.c:642: undefined reference to `PyUnicodeUCS2_Decode'
python/py-type.o:/local/data0/AB/riscv-binutils-gdb/gdb/python/py-type.c:1020: more undefined references to `PyUnicodeUCS2_Decode' follow
python/py-utils.o: In function `unicode_to_encoded_string(_object*, char const*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-utils.c:70: undefined reference to `PyUnicodeUCS2_AsEncodedString'
python/py-utils.o: In function `python_string_to_unicode(_object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-utils.c:50: undefined reference to `PyUnicodeUCS2_FromEncodedObject'
python/py-utils.o: In function `unicode_to_encoded_python_string':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-utils.c:86: undefined reference to `PyUnicodeUCS2_AsEncodedString'
python/py-value.o: In function `valpy_str(_object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-value.c:1152: undefined reference to `PyUnicodeUCS2_Decode'
python/py-value.o: In function `valpy_string(_object*, _object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-value.c:578: undefined reference to `PyUnicodeUCS2_Decode'
python/py-value.o: In function `valpy_format_string(_object*, _object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/py-value.c:746: undefined reference to `PyUnicodeUCS2_Decode'
python/python.o: In function `gdbpy_colorize(std::string const&, std::string const&)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/python.c:1175: undefined reference to `PyUnicodeUCS2_AsEncodedString'
python/python.o: In function `gdbpy_target_wide_charset(_object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/python.c:568: undefined reference to `PyUnicodeUCS2_Decode'
python/python.o: In function `gdbpy_target_charset(_object*, _object*)':
/local/data0/AB/riscv-binutils-gdb/gdb/python/python.c:558: undefined reference to `PyUnicodeUCS2_Decode'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1885: gdb] Error 1
make[2]: Leaving directory '/local/data0/AB/riscv-binutils-gdb/gdb'
make[1]: *** [Makefile:11694: all-gdb] Error 2
make[1]: Leaving directory '/local/data0/AB/riscv-binutils-gdb'
make: *** [Makefile:854: all] Error 2

Workaround:

 ./configure --with-python=/usr/bin/python3
 make
abeyene commented 3 years ago

Issue was with my PATH pointing to an alternative UCS2 build of Python.