Open Chandler-Kluser opened 2 years ago
building with make
from ./configure --disable-werror
(disabling warnings as errors) I get a linker error:
libtool: link: gcc -Wall -Wstrict-prototypes -Wformat-security -Wshadow -Wextra -Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls -Wpointer-arith -Wundef -Wno-error=deprecated-declarations -DFD_SETSIZE=128 -g -O2 -o src/openocd src/main.o src/.libs/libopenocd.a -lftdi1 -lhidapi-hidraw -ljaylink -lusb-1.0 -lm ./jimtcl/libjim.a
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): warning: relocation against `riscvchip' in read-only section `.text'
/usr/bin/ld: src/.libs/libopenocd.a(riscv.o): in function `dtmcontrol_scan':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv.c:404: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv.o): in function `riscv_assert_reset':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv.c:1341: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv.o): in function `maybe_add_trigger_t2':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv.c:605: undefined reference to `riscvchip'
/usr/bin/ld: src/.libs/libopenocd.a(core.o): in function `jtag_examine_chain':
/home/chandler/riscv-openocd-wch/src/jtag/core.c:1231: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(interfaces.o):(.data.rel+0xa8): undefined reference to `wlink_adapter_driver'
/usr/bin/ld: src/.libs/libopenocd.a(libocdjtagdrivers_la-cmsis_dap_usb_hid.o): in function `cmsis_dap_hid_open':
/home/chandler/riscv-openocd-wch/src/jtag/drivers/cmsis_dap_usb_hid.c:173: undefined reference to `wlink_armcheckprotect'
/usr/bin/ld: src/.libs/libopenocd.a(libtarget_la-target.o): in function `handle_verify_image_command_internal':
/home/chandler/riscv-openocd-wch/src/target/target.c:3825: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/target.c:3859: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/target.c:3826: undefined reference to `wlink_reset'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/target.c:3889: undefined reference to `wlink_verify'
/usr/bin/ld: src/.libs/libopenocd.a(libtarget_la-target.o): in function `handle_wlink_reset_resume_command':
/home/chandler/riscv-openocd-wch/src/target/target.c:3355: undefined reference to `wlink_quitreset'
/usr/bin/ld: src/.libs/libopenocd.a(gdb_server.o): in function `gdb_v_packet':
/home/chandler/riscv-openocd-wch/src/server/gdb_server.c:3194: undefined reference to `wchwlink'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/server/gdb_server.c:3195: undefined reference to `riscvchip'
/usr/bin/ld: src/.libs/libopenocd.a(gdb_server.o): in function `gdb_breakpoint_watchpoint_packet':
/home/chandler/riscv-openocd-wch/src/server/gdb_server.c:1724: undefined reference to `wchwlink'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/server/gdb_server.c:1725: undefined reference to `riscvchip'
/usr/bin/ld: src/.libs/libopenocd.a(gdb_server.o): in function `gdb_input_inner':
/home/chandler/riscv-openocd-wch/src/server/gdb_server.c:3566: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/server/gdb_server.c:3569: undefined reference to `wlink_armquitreset'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/server/gdb_server.c:3567: undefined reference to `wlink_quitreset'
/usr/bin/ld: src/.libs/libopenocd.a(options.o): in function `parse_cmdline_args':
/home/chandler/riscv-openocd-wch/src/helper/options.c:327: undefined reference to `noloadflag'
/usr/bin/ld: src/.libs/libopenocd.a(wcharm.o): in function `ch32x_write':
/home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:460: undefined reference to `noloadflag'
/usr/bin/ld: src/.libs/libopenocd.a(wcharm.o): in function `ch32x_erase':
/home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:408: undefined reference to `noloadflag'
/usr/bin/ld: src/.libs/libopenocd.a(wcharm.o): in function `ch32x_get_device_id':
/home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:501: undefined reference to `wlink_sendchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:487: undefined reference to `wlink_sendchip'
/usr/bin/ld: src/.libs/libopenocd.a(wcharm.o): in function `ch32x_write':
/home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:462: undefined reference to `wlink_armwrite'
/usr/bin/ld: src/.libs/libopenocd.a(wcharm.o): in function `ch32x_erase':
/home/chandler/riscv-openocd-wch/src/flash/nor/wcharm.c:411: undefined reference to `wlink_armerase'
/usr/bin/ld: src/.libs/libopenocd.a(wchriscv.o): in function `ch32vx_write':
/home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:87: undefined reference to `noloadflag'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:89: undefined reference to `wlink_write'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:90: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:91: undefined reference to `wlink_reset'
/usr/bin/ld: src/.libs/libopenocd.a(wchriscv.o): in function `ch32vx_erase':
/home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:73: undefined reference to `noloadflag'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:75: undefined reference to `wlink_reset'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/flash/nor/wchriscv.c:76: undefined reference to `wlink_erase'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `dtmcontrol_scan':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:570: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `dmi_op_timeout':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:755: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `wlink_dmi_op_timeout':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:631: undefined reference to `DMI_OP'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:638: undefined reference to `DMI_OP'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:624: undefined reference to `DMI_OP'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `flush_flash_data':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:309: undefined reference to `WriteNonFullPage'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `write_memory':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:4186: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:4190: undefined reference to `ramaddr'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:4245: undefined reference to `riscvchip'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `write_memory_progbuf':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:4106: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `riscv013_write_debug_buffer':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:4614: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `deassert_reset':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:2615: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `examine':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:1766: undefined reference to `wchwlink'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:1903: undefined reference to `wchwlink'
/usr/bin/ld: src/.libs/libopenocd.a(riscv-013.o): in function `riscv013_on_step_or_resume':
/home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:5060: undefined reference to `riscvchip'
/usr/bin/ld: /home/chandler/riscv-openocd-wch/src/target/riscv/riscv-013.c:5060: undefined reference to `riscvchip'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3046: src/openocd] Erro 1
make[2]: Saindo do diretório '/home/chandler/riscv-openocd-wch'
make[1]: *** [Makefile:4843: all-recursive] Erro 1
Don't quite remember what I used, but I compiled a newer version with ./configure --enable-stlink --enable-wlink --disable-werror (--enable-stlink is not needed, but I wanted to try)
I did exactly the same thing in a Manjaro PC, I have installed libjaylink through pacman:
sudo pacman -S libjaylink
and then run:
./configure --enable-stlink --enable-wlink --disable-werror
and the output I have got is:
(...)
Jim static extensions: aio array clock eventloop exec file glob history interp load namespace nshelper oo pack package posix readdir regexp signal stdlib syslog tclcompat tree
jim-config.h is unchanged
jimautoconf.h is unchanged
Makefile is unchanged
tests/Makefile is unchanged
examples.api/Makefile is unchanged
build-jim-ext is unchanged
jimtcl.pc is unchanged
=== configuring in src/jtag/drivers/libjaylink (/home/chandler/riscv-openocd-wch/src/jtag/drivers/libjaylink)
configure: running /bin/sh ./configure.gnu --disable-option-checking '--prefix=/usr/local' '--enable-stlink' '--enable-wlink' '--disable-werror' --cache-file=/dev/null --srcdir=.
./configure.gnu: line 2: /home/chandler/riscv-openocd-wch/src/jtag/drivers/libjaylink/configure: No such file or directory
configure: error: ./configure.gnu failed for src/jtag/drivers/libjaylink
Tried to build the git repository from source in my Ubuntu 22.04 LTS machine, got this
gcc
compilation error fromwcharm.c
: