Package Details: gcc47 4.7.4-2

Git Clone URL: https://aur.archlinux.org/gcc47.git (read-only, click to copy)
Package Base: gcc47
Description: The GNU Compiler Collection (4.7.x)
Upstream URL: http://gcc.gnu.org
Licenses: GPL, custom, LGPL, FDL
Submitter: mosra
Maintainer: severach
Last Packager: severach
Votes: 21
Popularity: 0.000000
First Submitted: 2013-06-06 16:22
Last Updated: 2018-11-24 21:45

Latest Comments

« First ‹ Previous 1 2 3 4 5 Next › Last »

stonyboy commented on 2016-08-18 13:12

This worked for me:

1) Adding export LD_PRELOAD=/usr/lib/libstdc++.so.6 to PKGBUILD as described by 12qu
2) Installing ppl 1.1-2 (no other dependencies on my machine) as described by antony
3) rm -rf src (not doing this caused a bit of headache)
4) Building and installing the package

Thanks to 12qu and antony!


anntzer commented on 2016-07-24 16:35

Thanks. So far I have a workaround by pinning ppl (only used by gcc47 here) to its previous version, I may investigate more another time...

anntzer commented on 2016-07-24 02:51

Currently fails to build, perhaps due to the recent version bump of ppl?

<elided>
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl_c.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl_c.so: undefined reference to `std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl_c.so: undefined reference to `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl_c.so: undefined reference to `operator delete(void*, unsigned long)@CXXABI_1.3.9'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libgmpxx.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl_c.so: undefined reference to `std::invalid_argument::invalid_argument(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/../../../../lib/libppl.so: undefined reference to `std::runtime_error::runtime_error(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCXX_3.4.21'
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:1841: cc1] Error 1
make[2]: Leaving directory '/home/antony/tmp/gcc47/src/gcc-build/gcc'
make[1]: *** [Makefile:4332: install-gcc] Error 2
make[1]: Leaving directory '/home/antony/tmp/gcc47/src/gcc-build'
make: *** [Makefile:2126: install] Error 2
==> ERROR: A failure occurred in package().
Aborting...

vtyulb commented on 2016-03-03 19:34

12qu,
just build gcc47.
Got same error that you wrote,
but it's not fatal, package created and works.
(I think it's yaourt vs native makepkg)

Anyway, I added your magic line, so
no errors now (except $srcdir warning)

If anybody wants to be a maintainer,
please feel free to ask.

12qu commented on 2016-03-03 18:00

Couple of issues with installing this package:

1. Most serious, by default build fails with the following error:

ar: /tmp/yaourt-tmp-cornishj/aur-gcc47/src/gcc-build/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/bin/../bin/../lib/bfd-plugins/LLVMgold.so)

../libtool: line 1132: 7565 Segmentation fault (core dumped) [This is followed by a very long `ar` command that I have removed for clarity]

This is fixed by adding `export LD_PRELOAD=/usr/lib/libstdc++.so.6` in build() immediately before `configure` is run.

2. `makepkg` gives the following warning:

==> WARNING: Package contains reference to $srcdir

vtyulb commented on 2016-02-21 08:52

I did it! Just added several options to configure script:
--disable-libmudflap \
--disable-libquadmath \
--disable-libitm \
and removed fortran from
--enable-languages=c,c++,fortran

All previous advices/patches are not necessary now.

theodore commented on 2016-02-02 15:17

is this package orphan/abandoned, because it is not updated quite some time now and it is broken plus the compilation fails even if I follow @Pilsbert instructions. Any help would be appreciated. I just want to use it for compiling mex for matlab.

Pilsbert commented on 2016-01-10 14:35

It seems that the problem is that ppl, cloog, and LLVM (i.e., gold) are compiled using the system compiler (GCC 5.3) and hence the system libstdc++ is used. However, when now bulding GCC 4.7 this will run into an issue due to the different (ABI?) versions (I get errors where GLIBCXX_3.4.20 and GLIBCXX_3.4.21 cannot be found).

For me, the following works with GCC 5.3:

* Remove 'libmpc' 'cloog' 'ppl' from depends and makedepends.
* To automatically download the dependencies MPFR, GMP, and MPC (as described in the GCC manual) change

build() {
cd ${srcdir}/${_basedir}

to:

build() {
cd ${srcdir}/${_basedir}

./contrib/download_prerequisites

* Remove the configure flags:

--with-ppl
--enable-cloog-backend=isl
--disable-ppl-version-check
--disable-cloog-version-check

--enable-gold
--enable-ld=default
--enable-plugin
--with-plugin-ld=ld.gold

* The patch suggested by rubenvb is NOT necessary here!

That's all.

As I understand it, removing the above configure flags will remove support to use the gold linker. However, for me this is no problem as I only need GCC 4.7 to compile Matlab MEX files.
Hence, the remaining problem will be that now GCC 4.7 won't use some memory optimizations, which require cloog/ppl. I guess to reenable that we have to compile ppl and cloog with the just compiled GCC 4.7 (and not with GCC 5.3!) and than recompile the GCC 4.7 with those libs. However, I'm not familiar with that so maybe someone else want to add this feature :)

severach commented on 2016-01-05 02:27

checking for C compiler default output file name...
configure: error: in `/home/chris/build/gcc47/src/gcc-build/x86_64-unknown-linux-gnu/libmudflap':
configure: error: C compiler cannot create executables
See `config.log' for more details.
Makefile:11502: recipe for target 'configure-target-libmudflap' failed

nexero commented on 2015-11-17 07:08

@rubenvb Thanks, without this patch this package wouldn't compile..