I also hit this last night after pulling latest master.

I am building on Apple Silicon aarch64 and got a linker error that the bitbang 
methods were undefined for ARM64. I worked around it by enabling the broadcom 
(PI) bitbanger in configure to force inclusion of the bitbang source. I am a 
newbie to Open OCD and I didn't look further but suspect a dependancy issue in 
the bitbang source file configuring.

~~~
OpenOCD configuration summary
--------------------------------------------------
MPSSE mode of FTDI based devices        yes (auto)
ST-Link Programmer                      yes (auto)
TI ICDI JTAG Programmer                 yes (auto)
Keil ULINK JTAG Programmer              yes (auto)
ANGIE Adapter                           yes (auto)
Altera USB-Blaster II Compatible        yes (auto)
Bitbang mode of FT232R based devices    yes (auto)
Versaloon-Link JTAG Programmer          yes (auto)
TI XDS110 Debug Probe                   yes (auto)
CMSIS-DAP v2 Compliant Debugger         yes (auto)
OSBDM (JTAG only) Programmer            yes (auto)
eStick/opendous JTAG Programmer         yes (auto)
Olimex ARM-JTAG-EW Programmer           yes (auto)
Raisonance RLink JTAG Programmer        yes (auto)
USBProg JTAG Programmer                 yes (auto)
Espressif JTAG Programmer               yes (auto)
CMSIS-DAP Compliant Debugger            yes (auto)
Nu-Link Programmer                      yes (auto)
Cypress KitProg Programmer              yes (auto)
Altera USB-Blaster Compatible           yes (auto)
ASIX Presto Adapter                     yes (auto)
OpenJTAG Adapter                        yes (auto)
Linux GPIO bitbang through libgpiod     no
SEGGER J-Link Programmer                yes (auto)
Xilinx XVC/PCIe                         no
Bus Pirate                              yes (auto)
Dummy Adapter                           yes (auto)
Use Capstone disassembly framework      yes (auto)
Collect coverage using gcov             no

libtool: link: gcc -Wall -Wstrict-prototypes -Wformat-security -Wshadow -Wextra 
-Wno-unused-parameter -Wbad-function-cast -Wcast-align -Wredundant-decls 
-Wpointer-arith -Wundef -Werror -Wno-macro-redefined -o src/openocd src/main.o  
-L/opt/homebrew/opt/bison/lib src/.libs/libopenocd.a 
-L/opt/homebrew/Cellar/libusb/1.0.27/lib 
-L/opt/homebrew/Cellar/libftdi/1.5_2/lib -lftdi1 
-L/opt/homebrew/Cellar/hidapi/0.14.0/lib -lhidapi -L/usr/local/lib 
/usr/local/lib/libjaylink.dylib -lusb-1.0 -lm 
-L/opt/homebrew/Cellar/capstone/5.0.3/lib -lcapstone ./jimtcl/libjim.a
Undefined symbols for architecture arm64:
  "_bitbang_execute_queue", referenced from:
      _dummy_interface in libopenocd.a[35](libocdjtagdrivers_la-dummy.o)
  "_bitbang_interface", referenced from:
      _dummy_init in libopenocd.a[35](libocdjtagdrivers_la-dummy.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
~~~

Fixed with....
./configure --enable-bcm2835gpio



---

**[tickets:#446] New compile error in debian docker container**

**Status:** new
**Milestone:** 0.11.0
**Created:** Tue Dec 31, 2024 05:29 AM UTC by Jonathan Forrest
**Last Updated:** Tue Dec 31, 2024 05:29 AM UTC
**Owner:** nobody


Hi,
I am currently building OpenOCD in a fairly standard debian docker container. I 
am building the latest master rather than using 0.12.0 to get various bug fixes 
and updates.
It was all working fine a couple of days ago (20th December 13:12 UTC).
However, the next build after that (22nd December 02:49 UTC) had the following:

~~~
 > [stage-0 21/28] RUN ./bootstrap &&     ./configure &&     make &&     make 
 > install:
src/.libs/libopenocd.a(libocdjtagdrivers_la-dummy.o): in function `dummy_init':
/openocd/openocd/src/jtag/drivers/dummy.c:112: undefined reference to 
`bitbang_interface'
/usr/bin/ld: 
src/.libs/libopenocd.a(libocdjtagdrivers_la-dummy.o):(.data.rel+0x98): 
undefined reference to `bitbang_execute_queue'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:3219: src/openocd] Error 1
make[2]: Leaving directory '/openocd/openocd'
make[1]: *** [Makefile:4980: all-recursive] Error 1
make[1]: Leaving directory '/openocd/openocd'
make: *** [Makefile:2135: all] Error 2
~~~

I'm not sure if something has changed in openocd in between those times ?


---

Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is 
subscribed to https://sourceforge.net/p/openocd/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/openocd/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.


Reply via email to