You are not logged in.
Hi.
I'd like to use the program bobdude (http://www.bob3.org/de/code) for my computer science class.
It requires avrdude as a dependency.
When I use the avrdude version supplied in the official repos, I get the following error when doing ./configure: checking for libavrdude... configure: error: failed (check your CFLAGS)
When using the avrdude version supplied from here: http://download.savannah.gnu.org/releas … 6.3.tar.gz it compiles and I don't get the above error message after doing the following:
adding '/usr/local/lib' to '/etc/ld.so.conf' and running 'sudo ldconfig' afterwards.
Moreover, with the repo version, the bobdude complains about: error while loading shared libraries: libavrdude.so.1: cannot open shared object file: No such file or directory (if you install it after a successful build over the compiled version).
Moreover, I am at a loss why I cannot compile bobdude on some of my arch computers (that have been in use for a longer time) even though I do all the steps for a successful build after a fresh install of arch linux. I get the same error message (checking for libavrdude... configure: error: failed (check your CFLAGS) although I uninstalled the official repo version of avrdude).
Other dependencies are: 'webkitgtk2' 'wxgtk' 'boost' and you need to add the user to the following groups: 'uucp' and 'lock'.
If someone knows how to make a PKGBUILD for aur, I'd very much appreciate that since I use the program for my computer science class and I want it to run on arch linux.
Thanks in advance.
Mike
Offline
Hi Mike, It's been eons since I did a very limited amount of tinkering with avrdude, and it was in another distro, at that. My comments may not be helpful at all.
Moreover, I am at a loss why I cannot compile bobdude on some of my arch computers (that have been in use for a longer time) ...
This snippet from your post causes me to wonder if some of your computers are x386 (32 bit) machines? 32 bit support is being dropped or has been dropped from the Arch repos, and this may have some bearing on the issue.
The Arch gurus would likely ask you for more information, such as journal logs.
If you have re-installed avrdude, perhaps removing its dependencies before re-installing is needed. https://wiki.archlinux.org/index.php/Pa … g_packages
To remove a package and its dependencies which are not required by any other installed package:
# pacman -Rs package_name
Disclaimer: I haven't used my arch machines for any compiling. What little I have done on other machines was mostly with an arduino IDE, and not very much with avrdude.
Offline
Why compile it? There is a version of avrdude in community. It has been a while since I have used an atMega part, but last I checked, it worked well.
Edit: And.... after my post, I cloned avrdude-svn from the AUR, tried to build it, found I was missing a dependency (hidapi), installed that, re-ran makepkg and successfully downloaded the source, configured, compiled and built a package. And wrote this edit
How are you trying to do it?
Edit:: Disregard, I see you are getting an error configuring the other code against avrdude. It has been a long day
Edit2: I can confirm the same failure here. I'll look at it and see what I can do.
Last edited by ewaller (2017-06-02 04:07:09)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
Here is what I've so far.
I removed
AC_TRY_LINK([
char avr_read_byte_default();
void progbuf(){}
void progname(){}
void ceil(){}
void ovsigck(){}
void quell_progress(){}
void avrdude_message(){}
void log(){}
void pow(){}
void verbose(){}
], [avr_read_byte_default();], [AC_MSG_RESULT([ok])], [AC_MSG_ERROR([failed (check your CFLAGS)])])
From config.ac, then ran autoconf ./configure and make
With that test gone, it configured, compiled, and coughed up a lung during link (as expected)
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_write_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_open'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_interrupt_write'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_set_interface'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_interrupt_read'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_deinit'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_usb_open_desc_index'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_strerror'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_usb_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_set_baudrate'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_reset'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_close'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_get_busses'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_find_busses'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_get_error_string'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_read_data'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_get_string_simple'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_release_interface'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_free'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_find_devices'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_set_bitmode'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_set_configuration'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_init'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_set_latency_timer'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_busses'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_bulk_write'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_control_msg'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_claim_interface'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_detach_kernel_driver_np'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_usb_purge_buffers'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `ftdi_new'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/../../../../lib/libavrdude.so: undefined reference to `usb_bulk_read'
collect2: error: ld returned 1 exit status
Note that the functions that cannot be found have to do with usb and ftdi.
Coincidentally, looking at the (truncated) output of .configure for avrdude-svn ....
Configuration summary:
----------------------
DO HAVE libelf
DO HAVE libusb
DO HAVE libusb_1_0
DO HAVE libftdi1
DON'T HAVE libftdi
DON'T HAVE libhid
DO HAVE libhidapi
DO HAVE pthread
DISABLED doc
ENABLED parport
ENABLED linuxgpio
make all-recursive
make[1]: Entering directory '/home/ewaller/devel/build/avrdude-svn/src/avrdude-svn/avrdude'
Making all in .
make[2]: Entering directory '/home/ewaller/devel/build/avrdude-svn/src/avrdude-svn/avrdude'
make[2]: Leaving directory '/home/ewaller/devel/build/avrdude-svn/src/avrdude-svn/avrdude'
make[1]: Leaving directory '/home/ewaller/devel/build/avrdude-svn/src/avrdude-svn/avrdude'
==> Entering fakeroot environment...
Makes me think that the library is not set up to support ftdi (certainly) and perhaps the usb issues have to do with not having hid.
OTOH, I could be way off as ftdi1 is there and the usb stuff seems generic.
Regardless, those functions are not being linked from the library
In any event, bedtime
Edit: One last thing, note that the message to check your cflags came from the failure clause of that test. The author could be wrong with the assertion assumption that the root cause is the cflags
Last edited by ewaller (2017-06-02 05:31:53)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
Thanks so much for looking into the problem.
I wouldn't have assumed that you all put so much effort into my issue.
What I - as a total layman - found out is that on my old arch systems I had to uninstall 'libftdi', 'libftdi-compat' 'libhid' and 'libusb-compat' and then avrdude and bobdude would compile (without the CFLAGS error). I also uninstalled 'confuse' which - I think - is not part of the problem.
Thanks again so much.
Mike
Last edited by teacher4711 (2017-06-02 09:39:38)
Offline
I like a good problem now and again. What you found is consistent with that which I had found.
If I understand correctly, with those libraries, you can now get it to compile and it is working. I assume you are running it from your own directory or, perhaps did a make install. If you did the latter, then pacman is not aware of the existance of the files in the file system -- just be aware. I am a bit busy this weekend, but I will see what I can do about perhaps making a pkgbuild. If I get hung up on the documentation, can you help me with the German?
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way
Offline
Of course I'll help with the translations: German-English or English-German is no problem.
I can even contact the developer because they did a presentation in programming the little robot in C++ at our school. However, it takes a long time till he responds to my mails.
Offline
And with that, I will now bow out of the discussion.
Offline