Compiling binutils-2.25.1 failed

Willem Offermans Willem at Offermans.Rompen.nl
Wed Apr 20 09:00:15 UTC 2016


Dear Dimitry and FreeBSD friends,

On Mon, Apr 18, 2016 at 06:49:43PM +0200, Dimitry Andric wrote:
> On 18 Apr 2016, at 14:43, Willem Offermans <Willem at Offermans.Rompen.nl> wrote:
> > 
> > On Fri, Apr 15, 2016 at 12:27:07AM +0200, Dimitry Andric wrote:
> >> On 14 Apr 2016, at 14:10, Willem Offermans <Willem at Offermans.Rompen.nl> wrote:
> ...
> >> For some reason this doesn't seem to be picked up by your ports build.
> >> For example, it is possible that your build picks up an ansidecl.h from
> >> somewhere else, so search your system for duplicate copies of this
> >> header.
> >> 
> >> Also, can you preprocess the file with -E, or use -save-temps to save
> >> the intermediate result?  Then you should be able to see what the macro
> >> expands to, if anything.
> >> 
> >> -Dimitry
> >> 
> > 
> > I already found a solution by applying `pkg install devel/binutils`.
> > 
> > But to solve this issue, I did a search for the file ansidecl.h, as you
> > suggested. There were several:
> > 
> > /usr/local/include/ansidecl.h
> > /usr/src/contrib/binutils/include/ansidecl.h
> > /usr/src/contrib/gcclibs/include/ansidecl.h
> > /usr/src/contrib/gdb/include/ansidecl.h
> > /usr/ports/devel/binutils/work/binutils-2.25.1/include/ansidecl.h
> > 
> > I would assume that the last one would have preference above the others. Am
> > I wrong?
> 
> Depending on the compiler and the flags, there is a chance the version
> in /usr/local/include will be found first.  Using "pkg which
> /usr/local/include/ansidecl.h", you might be able to find out which port
> originally installed it.
> 
> More current versions of the gcc ports install this header into version-
> specific directories, e.g.:
> 
> $ find /usr/local -type f -name ansidecl.h
> /usr/local/lib/gcc48/gcc/i386-portbld-freebsd11.0/4.8.5/plugin/include/ansidecl.h
> /usr/local/lib/gcc47/gcc/i386-portbld-freebsd11.0/4.7.4/plugin/include/ansidecl.h
> /usr/local/lib/gcc49/gcc/i386-portbld-freebsd11.0/4.9.4/plugin/include/ansidecl.h
> /usr/local/lib/gcc5/gcc/i386-portbld-freebsd11.0/5.3.0/plugin/include/ansidecl.h
> /usr/local/lib/gcc6/gcc/i386-portbld-freebsd11.0/6.0.0/plugin/include/ansidecl.h
> 
> This makes it less likely to be picked up by accident.  If your
> /usr/local/include/ansidecl.h file is not owned by any port, you might
> as well delete it, or move it out of the way.
> 
> -Dimitry
> 

I renamed /usr/local/include/ansidecl.h to 
/usr/local/include/ansidecl.h.save as you indicated. Indeed, binutils now 
compiles as it should:

<snip>
The operation will free 30 MiB.
[1/1] Deinstalling binutils-2.25.1_2,1...
[1/1] Deleting files for binutils-2.25.1_2,1: 100%

===>  Installing for binutils-2.25.1_2,1
===>  Checking if binutils already installed
===>   Registering installation for binutils-2.25.1_2,1
Installing binutils-2.25.1_2,1...

===>>> Re-installation of binutils-2.25.1_2,1 complete
</snip>

So one step further to juvenile this old beast.

I will remove /usr/local/include/ansidecl.h.save.

Thank you for your advice.


-- 
Met vriendelijke groeten,
With kind regards,
Mit freundlichen Gruessen,
De jrus wah,

Will

*************************************
 W.K. Offermans

                                       Powered by ....

                                            (__)
                                         \\\'',)
                                           \/  \ ^
                                           .\._/_)

                                       www.FreeBSD.org


More information about the freebsd-ports mailing list