Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 6970

SDK • openocd FTBFS on MSys64 - error: jimtcl is required but not found

$
0
0
Updating a Win10 box to new SDK Ver. 2.1.1 (via git) and rebuilding openocd, ./configure of openocd fails: configure: error: jimtcl is required but not found via pkg-config and system includes.

jimtcl is pulled in to openocd clone from raspberrypi/openocd.git as a submodule, e.g.

Code:

$ git clone https://github.com/raspberrypi/openocd.git && cd openocd && git submodule update --init --recursiveCloning into 'openocd'...remote: Enumerating objects: 85564, done.remote: Counting objects: 100% (11011/11011), done.remote: Compressing objects: 100% (1138/1138), done.remote: Total 85564 (delta 10261), reused 10021 (delta 9873), pack-reused 74553 (from 3)Receiving objects: 100% (85564/85564), 24.74 MiB | 11.06 MiB/s, done.Resolving deltas: 100% (70742/70742), done.Updating files: 100% (2169/2169), done.Submodule 'jimtcl' (https://github.com/msteveb/jimtcl.git) registered for path 'jimtcl'Submodule 'src/jtag/drivers/libjaylink' (https://gitlab.zapb.de/libjaylink/libjaylink.git) registered for path 'src/jtag/drivers/libjaylink'Cloning into '/home/david/dev/git/pico/openocd/jimtcl'...Cloning into '/home/david/dev/git/pico/openocd/src/jtag/drivers/libjaylink'...Submodule path 'jimtcl': checked out 'f160866171457474f7c4d6ccda70f9b77524407e'Submodule path 'src/jtag/drivers/libjaylink': checked out '0d23921a05d5d427332a142d154c213d0c306eb1'
**NOTE** the "Getting started with Raspberry Pi Pico-series" (Appendix A - Building OpenOCD) documentation fails to include the "git submodule update --init" which does lead to an empty jimtcl/ directory. That was easy enough to figure out and remedy.

However, whatever is supposed to turn ./jimtcl/jimtcl.pc.in into ./jimtcl/jimtcl.pc and make that available to ./configure during ./bootstrap doesn't. E.g. ./bootstrap completes fine:

Code:

$ ./bootstrap+ aclocal --warnings=all+ libtoolize --automake --copy+ autoconf --warnings=all+ autoheader --warnings=all+ automake --warnings=all --gnu --add-missing --copyconfigure.ac:24: installing 'build-aux/compile'configure.ac:42: installing 'build-aux/config.guess'configure.ac:42: installing 'build-aux/config.sub'configure.ac:19: installing 'build-aux/install-sh'configure.ac:19: installing 'build-aux/missing'Makefile.am: installing './INSTALL'Makefile.am: installing 'build-aux/depcomp'Makefile.am:26: installing 'build-aux/mdate-sh'Makefile.am:26: installing 'build-aux/texinfo.tex'parallel-tests: installing 'build-aux/test-driver'Skipping submodule setupGenerating build system...libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'.libtoolize: copying file 'build-aux/config.guess'libtoolize: copying file 'build-aux/config.sub'libtoolize: copying file 'build-aux/install-sh'libtoolize: copying file 'build-aux/ltmain.sh'libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.libtoolize: copying file 'm4/libtool.m4'libtoolize: copying file 'm4/ltoptions.m4'libtoolize: copying file 'm4/ltsugar.m4'libtoolize: copying file 'm4/ltversion.m4'libtoolize: copying file 'm4/lt~obsolete.m4'configure.ac:44: installing 'build-aux/ar-lib'configure.ac:37: installing 'build-aux/compile'configure.ac:30: installing 'build-aux/missing'libjaylink/Makefile.am: installing 'build-aux/depcomp'Bootstrap complete. Quick build instructions:./configure ....
but then ./configure fails:

Code:

$  ./configure --disable-werrorconfigure: loading site script /etc/config.sitechecking for makeinfo... makeinfochecking for a BSD-compatible install... /usr/bin/install -cchecking whether sleep supports fractional seconds... yeschecking filesystem timestamp resolution... 0.01checking whether build environment is sane... yeschecking for a race-free mkdir -p... /usr/bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking whether make supports nested variables... yeschecking xargs -n works... yeschecking whether UID '197609' is supported by ustar format... yeschecking whether GID '197121' is supported by ustar format... yeschecking how to create a ustar tar archive... gnutarchecking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.exechecking for suffix of executables... .exechecking whether we are cross compiling... nochecking for suffix of object files... ochecking whether the compiler supports GNU C... yeschecking whether gcc accepts -g... yeschecking for gcc option to enable C11 features... none neededchecking whether gcc understands -c and -o together... yeschecking whether make supports the include directive... yes (GNU style)checking dependency style of gcc... gcc3checking for ranlib... ranlibchecking for pkg-config... /mingw64/bin/pkg-configchecking pkg-config is at least version 0.23... yeschecking build system type... x86_64-w64-mingw32checking host system type... x86_64-w64-mingw32<snip>checking whether to enable malloc free space logging... nochecking for jimtcl >= 0.79... nochecking for jim.h... noconfigure: error: jimtcl is required but not found via pkg-config and system includes
What's the trick to actually have the jimtcl.pc file generated so it can be found and properly used by ./configure?? The files are there in the git tree:

Code:

$ $  find . -name "*jim*"./.git/modules/jimtcl./jimtcl./jimtcl/autosetup/jim-misc.auto./jimtcl/autosetup/jimsh0.c./jimtcl/build-jim-ext.in./jimtcl/examples.api/jim_command.c./jimtcl/examples.api/jim_hello.c./jimtcl/examples.api/jim_list.c./jimtcl/examples.api/jim_obj.c./jimtcl/examples.api/jim_return.c./jimtcl/initjimsh.tcl./jimtcl/jim-aio.c./jimtcl/jim-array.c./jimtcl/jim-clock.c./jimtcl/jim-config.h.in./jimtcl/jim-eventloop.c./jimtcl/jim-eventloop.h./jimtcl/jim-exec.c./jimtcl/jim-file.c./jimtcl/jim-format.c./jimtcl/jim-history.c./jimtcl/jim-interactive.c./jimtcl/jim-interp.c./jimtcl/jim-json.c./jimtcl/jim-load.c./jimtcl/jim-mk.cpp./jimtcl/jim-namespace.c./jimtcl/jim-nosignal.c./jimtcl/jim-pack.c./jimtcl/jim-package.c./jimtcl/jim-posix.c./jimtcl/jim-readdir.c./jimtcl/jim-readline.c./jimtcl/jim-redis.c./jimtcl/jim-regexp.c./jimtcl/jim-sdl.c./jimtcl/jim-signal.c./jimtcl/jim-signal.h./jimtcl/jim-sqlite3.c./jimtcl/jim-subcmd.c./jimtcl/jim-subcmd.h./jimtcl/jim-syslog.c./jimtcl/jim-tclprefix.c./jimtcl/jim-tty.c./jimtcl/jim-tty.h./jimtcl/jim-win32.c./jimtcl/jim-win32compat.c./jimtcl/jim-win32compat.h./jimtcl/jim-zlib.c./jimtcl/jim.c./jimtcl/jim.h./jimtcl/jimdb./jimtcl/jimiocompat.c./jimtcl/jimiocompat.h./jimtcl/jimregexp.c./jimtcl/jimregexp.h./jimtcl/jimsh.c./jimtcl/jimtcl.pc.in./jimtcl/jim_tcl.txt./jimtcl/make-bootstrap-jim./jimtcl/sqlite3/jim-sqlite.c./jimtcl/test-bootstrap-jim./jimtcl/tests/jim.test./jimtcl/tests/jiminterp.test./jimtcl/tests/jimsh.test./src/helper/jim-nvp.c./src/helper/jim-nvp.h
and the .pc.in file looks correct for all practical purposes, it just needs to be run through autoconf or autogen or whatever turns it into the .pc file:

Code:

$  cat jimtcl/jimtcl.pc.inprefix=@prefix@exec_prefix=@exec_prefix@libdir=@libdir@includedir=@includedir@Name: jimtclURL: http://jim.tcl.tk/Description: The Jim Interpreter - A small-footprint implementation of the Tcl programming language.Version: @VERSION@Requires: @PKG_CONFIG_REQUIRES@Libs: -L${libdir} -ljimLibs.private: @LDLIBS@Cflags: -I${includedir}
I had no issue a couple months ago when SDK 2.0 came out. Is something new needed to have the openocd ./configure complete on Win10 with MSys?

Statistics: Posted by drankinatty — Wed Oct 15, 2025 10:45 pm — Replies 0 — Views 32



Viewing all articles
Browse latest Browse all 6970

Trending Articles