Closed seandepagnier closed 1 year ago
Please check the contents of your avrdude.conf
to see if linuxspi is included or not. And you need to check the reset pin configuration is correct or not.
Reference: https://github.com/avrdudes/avrdude/blob/main/src/avrdude.conf.in#L706_L725
I confirm that linuxspi is not in the avrdude.conf generated.
I built on a raspberry pi. When running build.sh it reports: ENABLED linuxgpio ENABLED linuxspi
grep linux build_linux/src/avrdude.conf* gives no results
if I do
mkdir build; cd build; cmake ..
It reports
DISABLED linuxgpio DISABLED linuxspi
@seandepagnier
It seems to me there is a bug with latest git. Try 7.0 release and it should work. Ref: https://github.com/avrdudes/avrdude/wiki/Building-AVRDUDE-for-Linux
mcuee@rpi400:~/build $ cd avrdude-7.0/
mcuee@rpi400:~/build/avrdude-7.0 $ ls
AUTHORS CMakeLists.txt COPYING INSTALL NEWS README.md atmel-docs build.sh src tools
mcuee@rpi400:~/build/avrdude-7.0 $ cmake -D CMAKE_BUILD_TYPE=RelWithDebInfo -D HAVE_LINUXGPIO=ON -D HAVE_LINUXSPI=ON -B build_linux
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found BISON: /usr/bin/bison (found version "3.7.5")
-- Looking for libelf.h
-- Looking for libelf.h - found
-- Looking for libelf/libelf.h
-- Looking for libelf/libelf.h - not found
-- Looking for usb.h
-- Looking for usb.h - found
-- Looking for lusb0_usb.h
-- Looking for lusb0_usb.h - not found
-- Looking for libusb.h
-- Looking for libusb.h - not found
-- Looking for libusb-1.0/libusb.h
-- Looking for libusb-1.0/libusb.h - found
-- Looking for hidapi/hidapi.h
-- Looking for hidapi/hidapi.h - found
-- Looking for ftdi_tcioflush
-- Looking for ftdi_tcioflush - found
-- Configuration summary:
-- ----------------------
-- DO HAVE libelf
-- DO HAVE libusb
-- DO HAVE libusb_1_0
-- DO HAVE libhidapi
-- DON'T HAVE libftdi
-- DO HAVE libftdi1
-- DISABLED doc
-- DISABLED parport
-- ENABLED linuxgpio
-- ENABLED linuxspi
-- ----------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mcuee/build/avrdude-7.0/build_linux
mcuee@rpi400:~/build/avrdude-7.0 $ cmake --build build_linux/
[ 1%] [BISON][Parser] Building parser with bison 3.7.5
[ 3%] [FLEX][Parser] Building scanner with flex 2.6.4
Scanning dependencies of target libavrdude
[ 4%] Building C object src/CMakeFiles/libavrdude.dir/arduino.c.o
[ 6%] Building C object src/CMakeFiles/libavrdude.dir/avr.c.o
[ 8%] Building C object src/CMakeFiles/libavrdude.dir/avr910.c.o
[ 9%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi.c.o
[ 11%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi_tpi.c.o
[ 13%] Building C object src/CMakeFiles/libavrdude.dir/avrpart.c.o
[ 14%] Building C object src/CMakeFiles/libavrdude.dir/bitbang.c.o
[ 16%] Building C object src/CMakeFiles/libavrdude.dir/buspirate.c.o
[ 18%] Building C object src/CMakeFiles/libavrdude.dir/butterfly.c.o
[ 19%] Building C object src/CMakeFiles/libavrdude.dir/config.c.o
[ 21%] Building C object src/CMakeFiles/libavrdude.dir/confwin.c.o
[ 22%] Building C object src/CMakeFiles/libavrdude.dir/crc16.c.o
[ 24%] Building C object src/CMakeFiles/libavrdude.dir/dfu.c.o
[ 26%] Building C object src/CMakeFiles/libavrdude.dir/fileio.c.o
[ 27%] Building C object src/CMakeFiles/libavrdude.dir/flip1.c.o
[ 29%] Building C object src/CMakeFiles/libavrdude.dir/flip2.c.o
[ 31%] Building C object src/CMakeFiles/libavrdude.dir/ft245r.c.o
[ 32%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkI.c.o
[ 34%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkII.c.o
[ 36%] Building C object src/CMakeFiles/libavrdude.dir/jtag3.c.o
[ 37%] Building C object src/CMakeFiles/libavrdude.dir/linuxgpio.c.o
[ 39%] Building C object src/CMakeFiles/libavrdude.dir/linuxspi.c.o
[ 40%] Building C object src/CMakeFiles/libavrdude.dir/lists.c.o
[ 42%] Building C object src/CMakeFiles/libavrdude.dir/micronucleus.c.o
[ 44%] Building C object src/CMakeFiles/libavrdude.dir/par.c.o
[ 45%] Building C object src/CMakeFiles/libavrdude.dir/pgm.c.o
[ 47%] Building C object src/CMakeFiles/libavrdude.dir/pgm_type.c.o
[ 49%] Building C object src/CMakeFiles/libavrdude.dir/pickit2.c.o
[ 50%] Building C object src/CMakeFiles/libavrdude.dir/pindefs.c.o
[ 52%] Building C object src/CMakeFiles/libavrdude.dir/ppi.c.o
[ 54%] Building C object src/CMakeFiles/libavrdude.dir/ppiwin.c.o
[ 55%] Building C object src/CMakeFiles/libavrdude.dir/serbb_posix.c.o
[ 57%] Building C object src/CMakeFiles/libavrdude.dir/serbb_win32.c.o
[ 59%] Building C object src/CMakeFiles/libavrdude.dir/ser_avrdoper.c.o
[ 60%] Building C object src/CMakeFiles/libavrdude.dir/ser_posix.c.o
[ 62%] Building C object src/CMakeFiles/libavrdude.dir/ser_win32.c.o
[ 63%] Building C object src/CMakeFiles/libavrdude.dir/serialupdi.c.o
[ 65%] Building C object src/CMakeFiles/libavrdude.dir/stk500.c.o
[ 67%] Building C object src/CMakeFiles/libavrdude.dir/stk500v2.c.o
/home/mcuee/build/avrdude-7.0/src/stk500v2.c: In function ‘stk500v2_setparm’:
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3098:6: warning: ‘current_value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3098 | if (value == current_value) {
| ^
/home/mcuee/build/avrdude-7.0/src/stk500v2.c: In function ‘stk500v2_print_parms1’:
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3295:24: warning: ‘osc_cmatch’ may be used uninitialized in this function
-Wmaybe-uninitialized]
3295 | f /= (osc_cmatch + 1);
| ~~~~~~~~~~~~^~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3242:35: warning: ‘osc_pscale’ may be used uninitialized in this function
-Wmaybe-uninitialized]
3242 | unsigned char vtarget, vadjust, osc_pscale, osc_cmatch, sck_duration =0; //XXX 0 is not correct, check caller
| ^~~~~~~~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3278:5: warning: ‘vadjust’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3278 | avrdude_message(MSG_INFO, "%sVaref : %.1f V\n", p, vadjust / 10.0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3267:5: warning: ‘vtarget’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3267 | avrdude_message(MSG_INFO, "%sVtarget : %.1f V\n", p, vtarget / 10.0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 68%] Building C object src/CMakeFiles/libavrdude.dir/stk500generic.c.o
[ 70%] Building C object src/CMakeFiles/libavrdude.dir/teensy.c.o
[ 72%] Building C object src/CMakeFiles/libavrdude.dir/updi_link.c.o
[ 73%] Building C object src/CMakeFiles/libavrdude.dir/updi_nvm.c.o
[ 75%] Building C object src/CMakeFiles/libavrdude.dir/updi_readwrite.c.o
[ 77%] Building C object src/CMakeFiles/libavrdude.dir/updi_state.c.o
[ 78%] Building C object src/CMakeFiles/libavrdude.dir/usbasp.c.o
[ 80%] Building C object src/CMakeFiles/libavrdude.dir/usb_hidapi.c.o
[ 81%] Building C object src/CMakeFiles/libavrdude.dir/usb_libusb.c.o
[ 83%] Building C object src/CMakeFiles/libavrdude.dir/usbtiny.c.o
[ 85%] Building C object src/CMakeFiles/libavrdude.dir/update.c.o
[ 86%] Building C object src/CMakeFiles/libavrdude.dir/wiring.c.o
[ 88%] Building C object src/CMakeFiles/libavrdude.dir/xbee.c.o
[ 90%] Building C object src/CMakeFiles/libavrdude.dir/__/lexer.c.o
[ 91%] Building C object src/CMakeFiles/libavrdude.dir/__/config_gram.c.o
[ 93%] Linking C static library libavrdude.a
[ 93%] Built target libavrdude
Scanning dependencies of target avrdude
[ 95%] Building C object src/CMakeFiles/avrdude.dir/main.c.o
[ 96%] Building C object src/CMakeFiles/avrdude.dir/term.c.o
[ 98%] Building C object src/CMakeFiles/avrdude.dir/whereami.c.o
[100%] Linking C executable avrdude
[100%] Built target avrdude
mcuee@rpi400:~/build/avrdude-7.0 $ grep linux build_linux/src/avrdude.conf*
#To check if your avrdude build has support for the linuxgpio programmer compiled in,
#use -c?type on the command line and look for linuxgpio in the list. If it's not available
#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude.
# id = "linuxgpio";
# type = "linuxgpio";
# This programmer uses the built in linux SPI bus devices to program an
id = "linuxspi";
type = "linuxspi";
For 7.0 release, build.sh
also works fine.
mcuee@rpi400:~/build/avrdude-7.0 $ ./build.sh
-- The C compiler identification is GNU 10.2.1
-- The CXX compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found BISON: /usr/bin/bison (found version "3.7.5")
-- Looking for libelf.h
-- Looking for libelf.h - found
-- Looking for libelf/libelf.h
-- Looking for libelf/libelf.h - not found
-- Looking for usb.h
-- Looking for usb.h - found
-- Looking for lusb0_usb.h
-- Looking for lusb0_usb.h - not found
-- Looking for libusb.h
-- Looking for libusb.h - not found
-- Looking for libusb-1.0/libusb.h
-- Looking for libusb-1.0/libusb.h - found
-- Looking for hidapi/hidapi.h
-- Looking for hidapi/hidapi.h - found
-- Looking for ftdi_tcioflush
-- Looking for ftdi_tcioflush - found
-- Configuration summary:
-- ----------------------
-- DO HAVE libelf
-- DO HAVE libusb
-- DO HAVE libusb_1_0
-- DO HAVE libhidapi
-- DON'T HAVE libftdi
-- DO HAVE libftdi1
-- DISABLED doc
-- DISABLED parport
-- ENABLED linuxgpio
-- ENABLED linuxspi
-- ----------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mcuee/build/avrdude-7.0/build_linux
[ 1%] [BISON][Parser] Building parser with bison 3.7.5
[ 3%] [FLEX][Parser] Building scanner with flex 2.6.4
Scanning dependencies of target libavrdude
[ 4%] Building C object src/CMakeFiles/libavrdude.dir/arduino.c.o
[ 6%] Building C object src/CMakeFiles/libavrdude.dir/avr.c.o
[ 8%] Building C object src/CMakeFiles/libavrdude.dir/avr910.c.o
[ 9%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi.c.o
[ 11%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi_tpi.c.o
[ 13%] Building C object src/CMakeFiles/libavrdude.dir/avrpart.c.o
[ 14%] Building C object src/CMakeFiles/libavrdude.dir/bitbang.c.o
[ 16%] Building C object src/CMakeFiles/libavrdude.dir/buspirate.c.o
[ 18%] Building C object src/CMakeFiles/libavrdude.dir/butterfly.c.o
[ 19%] Building C object src/CMakeFiles/libavrdude.dir/config.c.o
[ 21%] Building C object src/CMakeFiles/libavrdude.dir/confwin.c.o
[ 22%] Building C object src/CMakeFiles/libavrdude.dir/crc16.c.o
[ 24%] Building C object src/CMakeFiles/libavrdude.dir/dfu.c.o
[ 26%] Building C object src/CMakeFiles/libavrdude.dir/fileio.c.o
[ 27%] Building C object src/CMakeFiles/libavrdude.dir/flip1.c.o
[ 29%] Building C object src/CMakeFiles/libavrdude.dir/flip2.c.o
[ 31%] Building C object src/CMakeFiles/libavrdude.dir/ft245r.c.o
[ 32%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkI.c.o
[ 34%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkII.c.o
[ 36%] Building C object src/CMakeFiles/libavrdude.dir/jtag3.c.o
[ 37%] Building C object src/CMakeFiles/libavrdude.dir/linuxgpio.c.o
[ 39%] Building C object src/CMakeFiles/libavrdude.dir/linuxspi.c.o
[ 40%] Building C object src/CMakeFiles/libavrdude.dir/lists.c.o
[ 42%] Building C object src/CMakeFiles/libavrdude.dir/micronucleus.c.o
[ 44%] Building C object src/CMakeFiles/libavrdude.dir/par.c.o
[ 45%] Building C object src/CMakeFiles/libavrdude.dir/pgm.c.o
[ 47%] Building C object src/CMakeFiles/libavrdude.dir/pgm_type.c.o
[ 49%] Building C object src/CMakeFiles/libavrdude.dir/pickit2.c.o
[ 50%] Building C object src/CMakeFiles/libavrdude.dir/pindefs.c.o
[ 52%] Building C object src/CMakeFiles/libavrdude.dir/ppi.c.o
[ 54%] Building C object src/CMakeFiles/libavrdude.dir/ppiwin.c.o
[ 55%] Building C object src/CMakeFiles/libavrdude.dir/serbb_posix.c.o
[ 57%] Building C object src/CMakeFiles/libavrdude.dir/serbb_win32.c.o
[ 59%] Building C object src/CMakeFiles/libavrdude.dir/ser_avrdoper.c.o
[ 60%] Building C object src/CMakeFiles/libavrdude.dir/ser_posix.c.o
[ 62%] Building C object src/CMakeFiles/libavrdude.dir/ser_win32.c.o
[ 63%] Building C object src/CMakeFiles/libavrdude.dir/serialupdi.c.o
[ 65%] Building C object src/CMakeFiles/libavrdude.dir/stk500.c.o
[ 67%] Building C object src/CMakeFiles/libavrdude.dir/stk500v2.c.o
/home/mcuee/build/avrdude-7.0/src/stk500v2.c: In function ‘stk500v2_setparm’:
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3098:6: warning: ‘current_value’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3098 | if (value == current_value) {
| ^
/home/mcuee/build/avrdude-7.0/src/stk500v2.c: In function ‘stk500v2_print_parms1’:
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3295:24: warning: ‘osc_cmatch’ may be used uninitialized in this function
-Wmaybe-uninitialized]
3295 | f /= (osc_cmatch + 1);
| ~~~~~~~~~~~~^~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3242:35: warning: ‘osc_pscale’ may be used uninitialized in this function
-Wmaybe-uninitialized]
3242 | unsigned char vtarget, vadjust, osc_pscale, osc_cmatch, sck_duration =0; //XXX 0 is not correct, check caller
| ^~~~~~~~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3278:5: warning: ‘vadjust’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3278 | avrdude_message(MSG_INFO, "%sVaref : %.1f V\n", p, vadjust / 10.0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcuee/build/avrdude-7.0/src/stk500v2.c:3267:5: warning: ‘vtarget’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3267 | avrdude_message(MSG_INFO, "%sVtarget : %.1f V\n", p, vtarget / 10.0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 68%] Building C object src/CMakeFiles/libavrdude.dir/stk500generic.c.o
[ 70%] Building C object src/CMakeFiles/libavrdude.dir/teensy.c.o
[ 72%] Building C object src/CMakeFiles/libavrdude.dir/updi_link.c.o
[ 73%] Building C object src/CMakeFiles/libavrdude.dir/updi_nvm.c.o
[ 75%] Building C object src/CMakeFiles/libavrdude.dir/updi_readwrite.c.o
[ 77%] Building C object src/CMakeFiles/libavrdude.dir/updi_state.c.o
[ 78%] Building C object src/CMakeFiles/libavrdude.dir/usbasp.c.o
[ 80%] Building C object src/CMakeFiles/libavrdude.dir/usb_hidapi.c.o
[ 81%] Building C object src/CMakeFiles/libavrdude.dir/usb_libusb.c.o
[ 83%] Building C object src/CMakeFiles/libavrdude.dir/usbtiny.c.o
[ 85%] Building C object src/CMakeFiles/libavrdude.dir/update.c.o
[ 86%] Building C object src/CMakeFiles/libavrdude.dir/wiring.c.o
[ 88%] Building C object src/CMakeFiles/libavrdude.dir/xbee.c.o
[ 90%] Building C object src/CMakeFiles/libavrdude.dir/__/lexer.c.o
[ 91%] Building C object src/CMakeFiles/libavrdude.dir/__/config_gram.c.o
[ 93%] Linking C static library libavrdude.a
[ 93%] Built target libavrdude
Scanning dependencies of target avrdude
[ 95%] Building C object src/CMakeFiles/avrdude.dir/main.c.o
[ 96%] Building C object src/CMakeFiles/avrdude.dir/term.c.o
[ 98%] Building C object src/CMakeFiles/avrdude.dir/whereami.c.o
[100%] Linking C executable avrdude
[100%] Built target avrdude
Build succeeded.
Run
sudo cmake --build build_linux --target install
to install.
mcuee@rpi400:~/build/avrdude-7.0 $ grep linux build_linux/src/avrdude.conf*
#To check if your avrdude build has support for the linuxgpio programmer compiled in,
#use -c?type on the command line and look for linuxgpio in the list. If it's not available
#you need pass the --enable-linuxgpio=yes option to configure and recompile avrdude.
# id = "linuxgpio";
# type = "linuxgpio";
# This programmer uses the built in linux SPI bus devices to program an
id = "linuxspi";
type = "linuxspi";
Now we need to find out which commit is causing the issue. BTW, the issue is there for 32bit build as well, not only for 64bit. I think it may have something to with the changes in dealing with avrdude.conf.in
, maybe CMake related.
I can confirm that https://github.com/avrdudes/avrdude/commit/07f1f60020525aa9023cd2c4f17b82f32296dde1 is still okay. https://github.com/avrdudes/avrdude/commit/93df07866a6eb92e126e7bd4e55f10f50e286008 is also okay. https://github.com/avrdudes/avrdude/commit/db8b04f4233ae2d547606703c829ee88acfc9281 is still good. https://github.com/avrdudes/avrdude/commit/94203eb4418105d3d0a7a9c292fe6feaa3aaea68 is bad. https://github.com/avrdudes/avrdude/commit/f172f0537237e666a08c6839ebb428338f7df482 is bad. https://github.com/avrdudes/avrdude/commit/77430519266f7e7a7f9caae9f2c7a3869c17cdba is bad.
So the blame goes to https://github.com/avrdudes/avrdude/commit/77430519266f7e7a7f9caae9f2c7a3869c17cdba.
@mariusgreuel This points to CMake change problem in https://github.com/avrdudes/avrdude/commit/77430519266f7e7a7f9caae9f2c7a3869c17cdba , please take a look. Thanks.
mcuee@rpi400:~/build/avrdude $ cmake --version
cmake version 3.18.4
CMake suite maintained and supported by Kitware (kitware.com/cmake).
mcuee@rpi400:~/build/avrdude $ git checkout 7743051
Note: switching to '7743051'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:
git switch -c <new-branch-name>
Or undo this operation with:
git switch -
Turn off this advice by setting config variable advice.detachedHead to false
HEAD is now at 7743051 Merge pull request #1095 from mariusgreuel/pr-fix-multiline-configure
mcuee@rpi400:~/build/avrdude $ rm -rf build_linux/
mcuee@rpi400:~/build/avrdude $ ./build.sh
-- The C compiler identification is GNU 10.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found Git: /usr/bin/git (found version "2.30.2")
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found BISON: /usr/bin/bison (found version "3.7.5")
-- Looking for libelf.h
-- Looking for libelf.h - found
-- Looking for libelf/libelf.h
-- Looking for libelf/libelf.h - not found
-- Looking for usb.h
-- Looking for usb.h - found
-- Looking for lusb0_usb.h
-- Looking for lusb0_usb.h - not found
-- Looking for libusb.h
-- Looking for libusb.h - not found
-- Looking for libusb-1.0/libusb.h
-- Looking for libusb-1.0/libusb.h - found
-- Looking for hidapi/hidapi.h
-- Looking for hidapi/hidapi.h - found
-- Looking for ftdi_tcioflush
-- Looking for ftdi_tcioflush - found
-- Configuration summary:
-- ----------------------
-- DO HAVE libelf
-- DO HAVE libusb
-- DO HAVE libusb_1_0
-- DO HAVE libhidapi
-- DON'T HAVE libftdi
-- DO HAVE libftdi1
-- DISABLED doc
-- DISABLED parport
-- ENABLED linuxgpio
-- ENABLED linuxspi
-- ----------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mcuee/build/avrdude/build_linux
[ 1%] [BISON][Parser] Building parser with bison 3.7.5
[ 3%] [FLEX][Parser] Building scanner with flex 2.6.4
Scanning dependencies of target libavrdude
[ 4%] Building C object src/CMakeFiles/libavrdude.dir/arduino.c.o
[ 6%] Building C object src/CMakeFiles/libavrdude.dir/avr.c.o
[ 7%] Building C object src/CMakeFiles/libavrdude.dir/avr910.c.o
[ 9%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi.c.o
[ 10%] Building C object src/CMakeFiles/libavrdude.dir/avrftdi_tpi.c.o
[ 12%] Building C object src/CMakeFiles/libavrdude.dir/avrpart.c.o
[ 14%] Building C object src/CMakeFiles/libavrdude.dir/bitbang.c.o
[ 15%] Building C object src/CMakeFiles/libavrdude.dir/buspirate.c.o
[ 17%] Building C object src/CMakeFiles/libavrdude.dir/butterfly.c.o
[ 18%] Building C object src/CMakeFiles/libavrdude.dir/config.c.o
[ 20%] Building C object src/CMakeFiles/libavrdude.dir/confwin.c.o
[ 21%] Building C object src/CMakeFiles/libavrdude.dir/crc16.c.o
[ 23%] Building C object src/CMakeFiles/libavrdude.dir/dfu.c.o
[ 25%] Building C object src/CMakeFiles/libavrdude.dir/fileio.c.o
[ 26%] Building C object src/CMakeFiles/libavrdude.dir/flip1.c.o
[ 28%] Building C object src/CMakeFiles/libavrdude.dir/flip2.c.o
[ 29%] Building C object src/CMakeFiles/libavrdude.dir/ft245r.c.o
[ 31%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkI.c.o
[ 32%] Building C object src/CMakeFiles/libavrdude.dir/jtagmkII.c.o
[ 34%] Building C object src/CMakeFiles/libavrdude.dir/jtag3.c.o
[ 35%] Building C object src/CMakeFiles/libavrdude.dir/linuxgpio.c.o
[ 37%] Building C object src/CMakeFiles/libavrdude.dir/linuxspi.c.o
[ 39%] Building C object src/CMakeFiles/libavrdude.dir/lists.c.o
[ 40%] Building C object src/CMakeFiles/libavrdude.dir/micronucleus.c.o
[ 42%] Building C object src/CMakeFiles/libavrdude.dir/par.c.o
[ 43%] Building C object src/CMakeFiles/libavrdude.dir/pgm.c.o
[ 45%] Building C object src/CMakeFiles/libavrdude.dir/pgm_type.c.o
[ 46%] Building C object src/CMakeFiles/libavrdude.dir/pickit2.c.o
[ 48%] Building C object src/CMakeFiles/libavrdude.dir/pindefs.c.o
[ 50%] Building C object src/CMakeFiles/libavrdude.dir/ppi.c.o
[ 51%] Building C object src/CMakeFiles/libavrdude.dir/ppiwin.c.o
[ 53%] Building C object src/CMakeFiles/libavrdude.dir/serbb_posix.c.o
[ 54%] Building C object src/CMakeFiles/libavrdude.dir/serbb_win32.c.o
[ 56%] Building C object src/CMakeFiles/libavrdude.dir/ser_avrdoper.c.o
[ 57%] Building C object src/CMakeFiles/libavrdude.dir/ser_posix.c.o
[ 59%] Building C object src/CMakeFiles/libavrdude.dir/ser_win32.c.o
[ 60%] Building C object src/CMakeFiles/libavrdude.dir/serialupdi.c.o
[ 62%] Building C object src/CMakeFiles/libavrdude.dir/stk500.c.o
[ 64%] Building C object src/CMakeFiles/libavrdude.dir/stk500v2.c.o
[ 65%] Building C object src/CMakeFiles/libavrdude.dir/stk500generic.c.o
[ 67%] Building C object src/CMakeFiles/libavrdude.dir/teensy.c.o
[ 68%] Building C object src/CMakeFiles/libavrdude.dir/updi_link.c.o
[ 70%] Building C object src/CMakeFiles/libavrdude.dir/updi_nvm.c.o
[ 71%] Building C object src/CMakeFiles/libavrdude.dir/updi_readwrite.c.o
[ 73%] Building C object src/CMakeFiles/libavrdude.dir/updi_state.c.o
[ 75%] Building C object src/CMakeFiles/libavrdude.dir/usbasp.c.o
[ 76%] Building C object src/CMakeFiles/libavrdude.dir/usb_hidapi.c.o
[ 78%] Building C object src/CMakeFiles/libavrdude.dir/usb_libusb.c.o
[ 79%] Building C object src/CMakeFiles/libavrdude.dir/usbtiny.c.o
[ 81%] Building C object src/CMakeFiles/libavrdude.dir/update.c.o
[ 82%] Building C object src/CMakeFiles/libavrdude.dir/wiring.c.o
[ 84%] Building C object src/CMakeFiles/libavrdude.dir/xbee.c.o
[ 85%] Building C object src/CMakeFiles/libavrdude.dir/__/lexer.c.o
[ 87%] Building C object src/CMakeFiles/libavrdude.dir/__/config_gram.c.o
[ 89%] Linking C static library libavrdude.a
[ 89%] Built target libavrdude
Scanning dependencies of target avrdude
[ 90%] Building C object src/CMakeFiles/avrdude.dir/main.c.o
[ 92%] Building C object src/CMakeFiles/avrdude.dir/term.c.o
[ 93%] Building C object src/CMakeFiles/avrdude.dir/avrintel.c.o
[ 95%] Building C object src/CMakeFiles/avrdude.dir/developer_opts.c.o
[ 96%] Building C object src/CMakeFiles/avrdude.dir/whereami.c.o
[ 98%] Linking C executable avrdude
[ 98%] Built target avrdude
Scanning dependencies of target conf
[100%] Generating avrdude.conf
CMake Warning (dev) at /home/mcuee/build/avrdude/src/configure.cmake:21 (if):
if given arguments:
"ON"
An argument named "ON" appears in a conditional statement. Policy CMP0012
is not set: if() recognizes numbers and boolean constants. Run "cmake
--help-policy CMP0012" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
Call Stack (most recent call first):
/home/mcuee/build/avrdude/src/configure.cmake:31 (configure_option)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) at /home/mcuee/build/avrdude/src/configure.cmake:21 (if):
if given arguments:
"ON"
An argument named "ON" appears in a conditional statement. Policy CMP0012
is not set: if() recognizes numbers and boolean constants. Run "cmake
--help-policy CMP0012" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
Call Stack (most recent call first):
/home/mcuee/build/avrdude/src/configure.cmake:32 (configure_option)
This warning is for project developers. Use -Wno-dev to suppress it.
[100%] Built target conf
Build succeeded.
Run
sudo cmake --build build_linux --target install
to install.
mcuee@rpi400:~/build/avrdude $ grep linux build_linux/src/avrdude.conf*
mcuee@rpi400:~/build/avrdude $
This points to CMake change problem in https://github.com/avrdudes/avrdude/commit/77430519266f7e7a7f9caae9f2c7a3869c17cdba , please take a look.
You are correct, thank you for figuring that out. Seems like there is a problem with verbal switches like ON
and OFF
.
@seandepagnier As a temporary workaround, please use the procedure at https://github.com/avrdudes/avrdude/wiki/Building-AVRDUDE-for-Linux and replace ON
with 1
.
Thank you for taking a look at this! I managed to get a working version.
Since this is understood I trust it will be fixed and can close this.
I will keep this open until it is fixed.
Sorry about (aarch64) in the title, I thought it was relevant but is not. Not sure how to change the title.
debian packages include avrdude without linuxspi support now.. this should stay open until linuxspi is built without manually specifying flags to cmake
We can not control how Debian packages avrdude. Usually they Usually they are outdated anyway. I build the packages I am interested in from the source (libusb, hidapi, libftdi, openocd, avrdude, etc).
I think the easiest way to build avrdude is to use build.sh
. CMake flags will probably be required.
BTW, I usually use Debian or Ubuntu for my Linux machines (x86_64 or ARM32/64, physical machine or VM or containers, except OpenWRT for router), But then I will build the packages I am interested in from the source (libusb, hidapi, libftdi, openocd, avrdude, etc).
I realize you don't control debian builds, but they simply use the defaults without specifying any special flags which means linuxspi doesn't work anymore.
Of course developers of avrdude will build from source even some dependencies from source, but the majority of users do not.
Wiki updated to use 1
instead of ON
.
PR #1240 has been merged as a work-around for this issue. I will still keep this issue open.
But this can be a low priority now since the Wiki and build.sh
have been updated.
@mariusgreuel
Do you still want to work on this or we can close this issue? Thanks.
I tested with the new build.sh and it works, but invoking make directly does not. Wouldn't it be preferable to work without build.sh?
I tested with the new build.sh and it works, but invoking make directly does not. Wouldn't it be preferable to work without build.sh?
I am not so sure what you mean by "invoking Make directly"?
You can create your own Makefile to replace build.sh
if you like.
Eg: from @stefanrueger for Linux.
all:
cmake --build build_linux
install:
cmake --build build_linux; sudo cmake --build build_linux --target install
new:
sudo rm -rf build_linux
cmake -D BUILD_DOC=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo -D HAVE_LINUXGPIO=1 -D HAVE_LINUXSPI=1 -D HAVE_PARPORT=1 -B build_linux
cmake --build build_linux
When I first cloned avrdude I noticed CMakeLists.txt so I run cmake directly subconsciously...
So my invoking directly I mean just running cmake without passing -D HAVE_LINUXSPI=1 instead making it detect I have /dev/spi automatically?
When I first cloned avrdude I noticed CMakeLists.txt so I run cmake directly subconsciously...
So my invoking directly I mean just running cmake without passing -D HAVE_LINUXSPI=1 instead making it detect I have /dev/spi automatically?
No it will not detect /dev/spi
directly and you have to pass -D HAVE_LINUXSPI=1
option to CMake.
I have compiled avrdude from source because linuxspi is completely missing now from the prebuild binary in raspbian.
During configuration of the build it shows ENABLED for both linuxgpio and linuxspi
I get the following output from avrdude -c ?type
When I execute avrdude -c linuxspi:
A completely different list with many more entrees but no linuxspi. How can I get linuxspi support?