So after that, everything was updated except build dependencies and
packages that had a use flag change on them, so I believe building one
of the build dependencies failed causing all the problems I am having.
I did:
emerge --update --deep --with-bdeps=y --newuse world
So I would often get the message
configure: error: C compiler cannot create executables
See `config.log' for more details
So, what I did is get another gcc compiler as a bin package, and set
it as my default with gcc-config.
I then tried to rebuild libtool. Again, I got the same message (in the
bold part):
Total: 1 package (1 reinstall), Size of downloads: 0 kB
Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-devel/libtool-2.4-r1
* libtool-2.4.tar.xz RMD160 SHA1 SHA256 size ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking ./libtool-2.4.tar to /var/tmp/portage/sys-devel/libtool-2.4-r1/work
>>> Source unpacked in /var/tmp/portage/sys-devel/libtool-2.4-r1/work
>>> Preparing source in /var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4 ...
* Applying libtool-1.5.20-use-linux-version-in-fbsd.patch ... [ ok ]
* Running eautoreconf in
'/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4/libltdl'
...
* Running true --install --copy --force --automake ... [ ok ]
* Running aclocal -I m4 ... [ ok ]
* Running autoconf ... [ ok ]
* Running autoheader ... [ ok ]
* Running automake --add-missing --copy --foreign ... [ ok ]
* Running eautoreconf in
'/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4' ...
* Running true --install --copy --force --automake ... [ ok ]
* Running aclocal -I libltdl/m4 ... [ ok ]
* Running autoconf ... [ ok ]
* Running autoheader ... [ ok ]
* Running automake --add-missing --copy ... [ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4 ...
* econf: updating libtool-2.4/libltdl/config/config.sub with
/usr/share/gnuconfig/config.sub
* econf: updating libtool-2.4/libltdl/config/config.guess with
/usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=i686-pc-linux-gnu
--host=i686-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --dat
adir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib
## ----------------------- ##
## Configuring libtool 2.4 ##
## ----------------------- ##
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
configure: autobuild project... GNU Libtool
configure: autobuild revision... 2.4 ()
configure: autobuild hostname... beastlinux
configure: autobuild mode... default
configure: autobuild timestamp... 20120715T164750Z
checking for i686-pc-linux-gnu-gcc... i686-pc-linux-gnu-gcc checking whether the C compiler works... no
configure: error: in
`/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4':
configure: error: C compiler cannot create executables
See `config.log' for more details
!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4/config.log
* ERROR: sys-devel/libtool-2.4-r1 failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 85: Called src_configure
* environment, line 2807: Called default
* phase-functions.sh, line 798: Called _eapi2_src_configure
* phase-helpers.sh, line 567: Called econf
* phase-helpers.sh, line 467: Called die
* The specific snippet of code:
* die "econf failed"
*
* If you need support, post the output of `emerge --info
'=sys-devel/libtool-2.4-r1'`,
* the complete build log and the output of `emerge -pqv
'=sys-devel/libtool-2.4-r1'`.
/usr/lib/portage/bin/isolated-functions.sh: line 214: wait: `econf
failed': not a pid or valid job spec
* The complete build log is located at
'/var/tmp/portage/sys-devel/libtool-2.4-r1/temp/build.log'.
* The ebuild environment file is located at
'/var/tmp/portage/sys-devel/libtool-2.4-r1/temp/environment'.
* Working directory:
'/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4'
* S: '/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4'
>>> Failed to emerge sys-devel/libtool-2.4-r1, Log file:
* ERROR: sys-devel/libtool-2.4-r1 failed (configure phase):
* econf failed
*
* Call stack:
* ebuild.sh, line 85: Called src_configure
* environment, line 2807: Called default
* phase-functions.sh, line 798: Called _eapi2_src_configure
* phase-helpers.sh, line 567: Called econf
* phase-helpers.sh, line 467: Called die
* The specific snippet of code:
* die "econf failed"
*
* If you need support, post the output of `emerge --info
'=sys-devel/libtool-2.4-r1'`,
* the complete build log and the output of `emerge -pqv
'=sys-devel/libtool-2.4-r1'`.
* The complete build log is located at
'/var/tmp/portage/sys-devel/libtool-2.4-r1/temp/build.log'.
* The ebuild environment file is located at
'/var/tmp/portage/sys-devel/libtool-2.4-r1/temp/environment'.
* Working directory:
'/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4'
* S: '/var/tmp/portage/sys-devel/libtool-2.4-r1/work/libtool-2.4
Here's the build.log:
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by GNU Libtool configure 2.4, which was
generated by GNU Autoconf 2.68. Invocation command line was
configure:2703: checking for a BSD-compatible install
configure:2771: result: /usr/bin/install -c
configure:2782: checking whether build environment is sane
configure:2832: result: yes
configure:2973: checking for a thread-safe mkdir -p
configure:3012: result: /bin/mkdir -p
configure:3025: checking for gawk
configure:3041: found /usr/bin/gawk
configure:3052: result: gawk
configure:3063: checking whether make sets $(MAKE)
configure:3085: result: yes
configure:3179: checking build system type
configure:3193: result: i686-pc-linux-gnu
configure:3213: checking host system type
configure:3226: result: i686-pc-linux-gnu
configure:3253: autobuild project... GNU Libtool
configure:3259: autobuild revision... 2.4 ()
configure:3264: autobuild hostname... beastlinux
configure:3268: autobuild mode... default
configure:3276: autobuild timestamp... 20120715T164750Z
configure:3335: checking for i686-pc-linux-gnu-gcc
configure:3351: found /usr/bin/i686-pc-linux-gnu-gcc
configure:3362: result: i686-pc-linux-gnu-gcc
configure:3631: checking for C compiler version
configure:3640: i686-pc-linux-gnu-gcc --version >&5
i686-pc-linux-gnu-gcc (Gentoo 4.5.3-r2 p1.1, pie-0.4.7) 4.5.3
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* Christopher Lemire <christopher.lemire@gmail.com> [120716 08:08]:
[..]
> Making a simple Hello World and attempting to compile:
>
> bullshark@beastlinux ~ % cat hello.c
> #include <stdio.h>
>
> main() {
> printf("Hello Working GCC
.");
> }
> bullshark@beastlinux ~ % gcc hello.c -o hello
> /usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/as:
> symbol lookup error:
> /usr/lib/binutils/i686-pc-linux-gnu/2.21.1/libopcodes-2.21.1.so:
> undefined symbol: buffer_read_memory
> bullshark@beastlinux ~ %
You might need to run gcc-config.
Try gcc-config -l and make sure one of the selections has an * next to
it.
If not, run gcc-config <cc profile>
where <cc profile> is the name you see in the gcc-config -l output (like
i686-pc-linux-gnu-4.5.3, for example)
Todd
07-16-2012, 08:19 PM
Christopher Lemire
GCC/Build Problems
Every time I take the time to think through and write something like
this up, I solve it pretty quickly afterwards. I'll tell you how I
solved it. GCC wasn't the problem, and gcc-config -l wouldn't of done
any good because I only had one gcc. So I created a simple hello.c
that fprint("Hello Working GCC
"); Then I tried to compile it. I
noticed in the error message (btw, it did not compile) about a library
and binutils. So I already had my emerge setup that if I wanted to
install a bin-package, I could, so I grabbed a bin package of
binutils. hello.c compiled, but I didn't want to get excited too soon.
I had to see if emerge would work without error, and it did. I
compiled a newer kernel and now I need to recompile libtools because
you're supposed to do that everytime you upgrade your gcc. I will
recompile binutils also so it will have optimizations for my hardware.
Christopher Lemire <christopher.lemire@gmail.com>
Ubuntu 64 bit Linux Raid Level 0
On Mon, Jul 16, 2012 at 8:15 AM, Todd Goodman <tsg@bonedaddy.net> wrote:
> * Christopher Lemire <christopher.lemire@gmail.com> [120716 08:08]:
> [..]
>> Making a simple Hello World and attempting to compile:
>>
>> bullshark@beastlinux ~ % cat hello.c
>> #include <stdio.h>
>>
>> main() {
>> printf("Hello Working GCC
.");
>> }
>> bullshark@beastlinux ~ % gcc hello.c -o hello
>> /usr/lib/gcc/i686-pc-linux-gnu/4.5.3/../../../../i686-pc-linux-gnu/bin/as:
>> symbol lookup error:
>> /usr/lib/binutils/i686-pc-linux-gnu/2.21.1/libopcodes-2.21.1.so:
>> undefined symbol: buffer_read_memory
>> bullshark@beastlinux ~ %
>
> You might need to run gcc-config.
>
> Try gcc-config -l and make sure one of the selections has an * next to
> it.
>
> If not, run gcc-config <cc profile>
> where <cc profile> is the name you see in the gcc-config -l output (like
> i686-pc-linux-gnu-4.5.3, for example)
>
> Todd
>