Building Avrdude 6.3

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Building Avrdude 6.3

wayne.holder@gmail.com
As part of trying to diagnose the issue I'm having with serbb and the TPI
protocol (see my other thread on this topic), I decided to try and build
the 6.3 release on my Mac Pro system and then see if I could resolve the
issue by making a few tweaks to the timing bit timing.  However, the build
process is not working for me.  Here's what I've tried and and what happens:

First, I downloaded the avrdude-6.3.tar.gz version from:

   http://download.savannah.gnu.org/releases/avrdude/

and unpacked it to a folder.  Then, I ran the configure program.  This
seemed to work except that I got a pop up window that said that "gm4 had
quit unexpectedly."  I looked though the output from configure, but didn't
see an errors there, so I then ran make and, again got another "gm4 had
quit unexpectedly" pop up as well as a lot of output.  I ran make again
with the same pop up and the following, abbreviated output:

[Waynes-MacPro:~/Desktop/avrdude-6.3] wholder% make

/bin/sh ./ylwrap lexer.l lex.yy.c lexer.c -- flex

make: *** [lexer.c] Error 1

In looking at the files, I see one named lexer.i, but not one named lexer.h,
so I'm assuming that it did not get properly created by either the
configure script or the make script.  I have no idea why I get the "quit
unexpectedly" pop up.  My system is up to date with the latest version of
Xcode and is running macOS 0.14.2 (18C54) "Mojave".

Can anyone help sort this out?

Wayne
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joerg Wunsch
As Wayne Holder wrote:

> As part of trying to diagnose the issue I'm having with serbb and the TPI
> protocol (see my other thread on this topic), I decided to try and build
> the 6.3 release on my Mac Pro system and then see if I could resolve the
> issue by making a few tweaks to the timing bit timing.

You'll probably need the patches mentioned by David Mosberger.

Anyway, ...

> /bin/sh ./ylwrap lexer.l lex.yy.c lexer.c -- flex
>
> make: *** [lexer.c] Error 1

Do you have flex and bison or [b]yacc installed?

Alas, autoconf (which generates the configure script) has no
precautions to really test for the presence of flex or lex - it can
only distinguish which one of both it is.  That's why there is no
better error message for it.

--
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

wayne.holder@gmail.com
Thanks for trying to help me.

When I run the command you suggested:

> /bin/sh ./ylwrap lexer.l lex.yy.c lexer.c -- flex

I get an immediate  "gm4 had quit unexpectedly" message and no other
response on the command line.  And, when I then run configure and make, I
get the same result as before.  I also tried running brew to install flex,
byacc and bison and then retried the configure and make, but that also
produced no change.  Trying to use brew to install lex, but got

Error: No available formula with the name "lex"

> You'll probably need the patches mentioned by David Mosberger.

Which build should I download to get these patches?  Also, any thought on
how to a fix the "quit unexpectedly" messages?

Wayne


On Fri, Mar 22, 2019 at 2:47 PM Joerg Wunsch <[hidden email]> wrote:

> As Wayne Holder wrote:
>
> > As part of trying to diagnose the issue I'm having with serbb and the TPI
> > protocol (see my other thread on this topic), I decided to try and build
> > the 6.3 release on my Mac Pro system and then see if I could resolve the
> > issue by making a few tweaks to the timing bit timing.
>
> You'll probably need the patches mentioned by David Mosberger.
>
> Anyway, ...
>
> > /bin/sh ./ylwrap lexer.l lex.yy.c lexer.c -- flex
> >
> > make: *** [lexer.c] Error 1
>
> Do you have flex and bison or [b]yacc installed?
>
> Alas, autoconf (which generates the configure script) has no
> precautions to really test for the presence of flex or lex - it can
> only distinguish which one of both it is.  That's why there is no
> better error message for it.
>
> --
> cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL
>
> http://www.sax.de/~joerg/
> Never trust an operating system you don't have sources for. ;-)
>
> _______________________________________________
> avrdude-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joel Ray Holveck
In reply to this post by wayne.holder@gmail.com
On Mar 22, 2019, at 13:30, Wayne Holder <[hidden email]> wrote:
>
> My system is up to date with the latest version of
> Xcode and is running macOS 0.14.2 (18C54) "Mojave".

Just to make sure: have you launched Xcode’s GUI since you last updated it?  That will set up many of the command-line tools that are needed for builds.

joelh

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

wayne.holder@gmail.com
It appears I had an old copy of gm4 in opt/local/bin and, when I removed
it, I got much further in the process.  I now have only the following
errors printed:

ar cru libavrdude.a libavrdude_a-config_gram.o libavrdude_a-lexer.o
libavrdude_a-arduino.o libavrdude_a-avr.o libavrdude_a-avr910.o
libavrdude_a-avrftdi.o libavrdude_a-avrftdi_tpi.o libavrdude_a-avrpart.o
libavrdude_a-bitbang.o libavrdude_a-buspirate.o libavrdude_a-butterfly.o
libavrdude_a-config.o libavrdude_a-confwin.o libavrdude_a-crc16.o
libavrdude_a-dfu.o libavrdude_a-fileio.o libavrdude_a-flip1.o
libavrdude_a-flip2.o libavrdude_a-ft245r.o libavrdude_a-jtagmkI.o
libavrdude_a-jtagmkII.o libavrdude_a-jtag3.o libavrdude_a-linuxgpio.o
libavrdude_a-lists.o libavrdude_a-par.o libavrdude_a-pgm.o
libavrdude_a-pgm_type.o libavrdude_a-pickit2.o libavrdude_a-pindefs.o
libavrdude_a-ppi.o libavrdude_a-ppiwin.o libavrdude_a-safemode.o
libavrdude_a-serbb_posix.o libavrdude_a-serbb_win32.o
libavrdude_a-ser_avrdoper.o libavrdude_a-ser_posix.o
libavrdude_a-ser_win32.o libavrdude_a-stk500.o libavrdude_a-stk500v2.o
libavrdude_a-stk500generic.o libavrdude_a-usbasp.o
libavrdude_a-usb_libusb.o libavrdude_a-usbtiny.o libavrdude_a-update.o
libavrdude_a-wiring.o
/opt/local/bin/ranlib: object: libavrdude.a(libavrdude_a-config_gram.o)
malformed object (unknown load command 1)
ar: internal ranlib command failed
make[2]: *** [libavrdude.a] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Wayne


On Fri, Mar 22, 2019 at 4:55 PM Joel Ray Holveck <[hidden email]> wrote:

> On Mar 22, 2019, at 13:30, Wayne Holder <[hidden email]> wrote:
> >
> > My system is up to date with the latest version of
> > Xcode and is running macOS 0.14.2 (18C54) "Mojave".
>
> Just to make sure: have you launched Xcode’s GUI since you last updated
> it?  That will set up many of the command-line tools that are needed for
> builds.
>
> joelh
>
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

wayne.holder@gmail.com
I guess some of my problems came from having once used macPorts.  So, I
deleted the /opt folder, fixed my $PATH and then reran configure and make.
This gets me further, but still no cigar.  Tha current error is now:

libtool: link: ( cd ".libs" && rm -f "libavrdude.la" && ln -s "../
libavrdude.la" "libavrdude.la" )

gcc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR=\"/usr/local/etc\"  -Wall -g -O2 -MT
avrdude-main.o -MD -MP -MF .deps/avrdude-main.Tpo -c -o avrdude-main.o
`test -f 'main.c' || echo './'`main.c

mv -f .deps/avrdude-main.Tpo .deps/avrdude-main.Po

gcc -DHAVE_CONFIG_H -I.  -DCONFIG_DIR=\"/usr/local/etc\"  -Wall -g -O2 -MT
avrdude-term.o -MD -MP -MF .deps/avrdude-term.Tpo -c -o avrdude-term.o
`test -f 'term.c' || echo './'`term.c

mv -f .deps/avrdude-term.Tpo .deps/avrdude-term.Po

/bin/sh ./libtool  --tag=CC   --mode=link gcc -Wall -g -O2   -o avrdude
avrdude-main.o avrdude-term.o ./libavrdude.a -lusb-1.0 -lusb -framework
CoreFoundation -framework IOKit -lftdi1   -lelf -lpthread -lm -lreadline
-lncurses -ltermcap

libtool: link: gcc -Wall -g -O2 -o avrdude avrdude-main.o avrdude-term.o
./libavrdude.a -lusb-1.0 -lusb -framework CoreFoundation -framework IOKit
-lftdi1 -lelf -lpthread -lm -lreadline -lncurses -ltermcap

ld: archive has no table of contents file './libavrdude.a' for architecture
x86_64

clang: error: linker command failed with exit code 1 (use -v to see
invocation)

make[2]: *** [avrdude] Error 1

make[1]: *** [all-recursive] Error 1

make: *** [all] Error 2

Wayne

On Fri, Mar 22, 2019 at 6:55 PM Wayne Holder <[hidden email]> wrote:

> It appears I had an old copy of gm4 in opt/local/bin and, when I removed
> it, I got much further in the process.  I now have only the following
> errors printed:
>
> ar cru libavrdude.a libavrdude_a-config_gram.o libavrdude_a-lexer.o
> libavrdude_a-arduino.o libavrdude_a-avr.o libavrdude_a-avr910.o
> libavrdude_a-avrftdi.o libavrdude_a-avrftdi_tpi.o libavrdude_a-avrpart.o
> libavrdude_a-bitbang.o libavrdude_a-buspirate.o libavrdude_a-butterfly.o
> libavrdude_a-config.o libavrdude_a-confwin.o libavrdude_a-crc16.o
> libavrdude_a-dfu.o libavrdude_a-fileio.o libavrdude_a-flip1.o
> libavrdude_a-flip2.o libavrdude_a-ft245r.o libavrdude_a-jtagmkI.o
> libavrdude_a-jtagmkII.o libavrdude_a-jtag3.o libavrdude_a-linuxgpio.o
> libavrdude_a-lists.o libavrdude_a-par.o libavrdude_a-pgm.o
> libavrdude_a-pgm_type.o libavrdude_a-pickit2.o libavrdude_a-pindefs.o
> libavrdude_a-ppi.o libavrdude_a-ppiwin.o libavrdude_a-safemode.o
> libavrdude_a-serbb_posix.o libavrdude_a-serbb_win32.o
> libavrdude_a-ser_avrdoper.o libavrdude_a-ser_posix.o
> libavrdude_a-ser_win32.o libavrdude_a-stk500.o libavrdude_a-stk500v2.o
> libavrdude_a-stk500generic.o libavrdude_a-usbasp.o
> libavrdude_a-usb_libusb.o libavrdude_a-usbtiny.o libavrdude_a-update.o
> libavrdude_a-wiring.o
> /opt/local/bin/ranlib: object: libavrdude.a(libavrdude_a-config_gram.o)
> malformed object (unknown load command 1)
> ar: internal ranlib command failed
> make[2]: *** [libavrdude.a] Error 1
> make[1]: *** [all-recursive] Error 1
> make: *** [all] Error 2
>
> Wayne
>
>
> On Fri, Mar 22, 2019 at 4:55 PM Joel Ray Holveck <[hidden email]> wrote:
>
>> On Mar 22, 2019, at 13:30, Wayne Holder <[hidden email]> wrote:
>> >
>> > My system is up to date with the latest version of
>> > Xcode and is running macOS 0.14.2 (18C54) "Mojave".
>>
>> Just to make sure: have you launched Xcode’s GUI since you last updated
>> it?  That will set up many of the command-line tools that are needed for
>> builds.
>>
>> joelh
>>
>
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joerg Wunsch


Am 23. März 2019 03:14:53 MEZ schrieb Wayne Holder <[hidden email]>:

>libtool: link: gcc -Wall -g -O2 -o avrdude avrdude-main.o
>avrdude-term.o
>./libavrdude.a -lusb-1.0 -lusb -framework CoreFoundation -framework
>IOKit
>-lftdi1 -lelf -lpthread -lm -lreadline -lncurses -ltermcap
>
>ld: archive has no table of contents file './libavrdude.a' for
>architecture
>x86_64

I have a similar issue when cross-compiling the win32 version using mingw32. I never found the actual reason, alas.

Try

ranlib libavrdude.a

and then "make" again.


--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joel Ray Holveck
Did you “make clean” or otherwise clear out the directory at the same time as you deleted /opt?

Did Joerg’s suggestion help?

If the answer is “no” and “yes” respectively, then I offer the following hypothesis.

The Unix build process doesn’t really have a good way to see that a previous ranlib step failed, so if it sees that the .a file exists, it assumes that ranlib succeeded.  (ranlib only changes the structure of an existing .a file; on systems that need it, it’s generally run right after the .a is created in the build process.)  When you reran make, it thought that ranlib succeeded previously, and that assumption broke the later build steps.

In Joerg’s case, it sounds like the mingw32 cross-build might not properly detect that it needs to run ranlib.  It’s not needed, for instance, on Linux.

joelh

> On Mar 22, 2019, at 23:49, Joerg Wunsch <[hidden email]> wrote:
>
>
>
> Am 23. März 2019 03:14:53 MEZ schrieb Wayne Holder <[hidden email]>:
>
>> libtool: link: gcc -Wall -g -O2 -o avrdude avrdude-main.o
>> avrdude-term.o
>> ./libavrdude.a -lusb-1.0 -lusb -framework CoreFoundation -framework
>> IOKit
>> -lftdi1 -lelf -lpthread -lm -lreadline -lncurses -ltermcap
>>
>> ld: archive has no table of contents file './libavrdude.a' for
>> architecture
>> x86_64
>
> I have a similar issue when cross-compiling the win32 version using mingw32. I never found the actual reason, alas.
>
> Try
>
> ranlib libavrdude.a
>
> and then "make" again.
>
>
> --
> Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
>
> _______________________________________________
> avrdude-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev


_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joerg Wunsch


Am 24. März 2019 05:05:39 MEZ schrieb Joel Ray Holveck <[hidden email]>:

>In Joerg’s case, it sounds like the mingw32 cross-build might not
>properly detect that it needs to run ranlib.  It’s not needed, for
>instance, on Linux.


Maybe the OSX linker needs it, I don't know.
It's quite possible some ranlib magic is still missing in the current make/automake files.
--
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Matthew Mondor
On Sun, 24 Mar 2019 08:52:28 +0100
Joerg Wunsch <[hidden email]> wrote:

> Maybe the OSX linker needs it, I don't know.
> It's quite possible some ranlib magic is still missing in the current
> make/automake files.

Very likely, Darwin being a BSD variant, all the BSDs that I know need
it as well.
--
Matt

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

Joerg Wunsch
As Matthew Mondor wrote:

> > Maybe the OSX linker needs it, I don't know.
> > It's quite possible some ranlib magic is still missing in the current
> > make/automake files.
>
> Very likely, Darwin being a BSD variant, all the BSDs that I know need
> it as well.

My main development system is FreeBSD, and the current make/automake
files work there as well as on Linux. I only see that ranlib issue
when cross-compiling for mingw32.

Anyway, it was just an idea that occurred to me. Quite possible Wayne's
problem is different.
--
cheers, Joerg               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/
Never trust an operating system you don't have sources for. ;-)

_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev
Reply | Threaded
Open this post in threaded view
|

Re: Building Avrdude 6.3

wayne.holder@gmail.com
In reply to this post by Joel Ray Holveck
> Did you “make clean” or otherwise clear out the directory at the same
time as you deleted /opt?

To completely resolve the build issue I had to completely remove the /opt
tree, then remove all references to it from my $PATH setting and, finally,
rebuild all the libraries I'd built with brew, as some of them had used the
tools in /opt (which were quite old.)  Frankly, that's one of things I
dislike about solutions like macPorts and brew is that it can be hard to
know just exactly what is going on under the hood when you invoked one of
these automated build scripts.  I'm also not that skilled with using the
command line to do things, which tends to lead to panic, or despair when
something doesn't work.

Wayne

On Sat, Mar 23, 2019 at 9:05 PM Joel Ray Holveck <[hidden email]> wrote:

> Did you “make clean” or otherwise clear out the directory at the same time
> as you deleted /opt?
>
> Did Joerg’s suggestion help?
>
> If the answer is “no” and “yes” respectively, then I offer the following
> hypothesis.
>
> The Unix build process doesn’t really have a good way to see that a
> previous ranlib step failed, so if it sees that the .a file exists, it
> assumes that ranlib succeeded.  (ranlib only changes the structure of an
> existing .a file; on systems that need it, it’s generally run right after
> the .a is created in the build process.)  When you reran make, it thought
> that ranlib succeeded previously, and that assumption broke the later build
> steps.
>
> In Joerg’s case, it sounds like the mingw32 cross-build might not properly
> detect that it needs to run ranlib.  It’s not needed, for instance, on
> Linux.
>
> joelh
>
> > On Mar 22, 2019, at 23:49, Joerg Wunsch <[hidden email]> wrote:
> >
> >
> >
> > Am 23. März 2019 03:14:53 MEZ schrieb Wayne Holder <
> [hidden email]>:
> >
> >> libtool: link: gcc -Wall -g -O2 -o avrdude avrdude-main.o
> >> avrdude-term.o
> >> ./libavrdude.a -lusb-1.0 -lusb -framework CoreFoundation -framework
> >> IOKit
> >> -lftdi1 -lelf -lpthread -lm -lreadline -lncurses -ltermcap
> >>
> >> ld: archive has no table of contents file './libavrdude.a' for
> >> architecture
> >> x86_64
> >
> > I have a similar issue when cross-compiling the win32 version using
> mingw32. I never found the actual reason, alas.
> >
> > Try
> >
> > ranlib libavrdude.a
> >
> > and then "make" again.
> >
> >
> > --
> > Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.
> >
> > _______________________________________________
> > avrdude-dev mailing list
> > [hidden email]
> > https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>
>
_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev