Added fix for staticlibs. Thanks to @lmunch for the suggestion.
Search Criteria
Package Details: gcc45 4.5.4-3
Package Actions
| Package Base: | gcc45 |
|---|---|
| Description: | The GNU Compiler Collection (4.5.x) |
| Upstream URL: | http://gcc.gnu.org |
| Category: | devel |
| Licenses: | |
| Submitter: | ytj |
| Maintainer: | cbab |
| Last Packager: | None |
| Votes: | 13 |
| First Submitted: | 2011-05-11 04:43 |
| Last Updated: | 2014-02-26 03:33 |
Latest Comments
Comment by cbab
Comment by lmunch
Please add 'staticlibs' to options to fix: /usr/bin/ld: cannot find -lgcc
Also change provides=('gcc=4.5') to provides=('gcc-4.5') to fix installation when gcc is already installed.
Comment by cbab
Updated with kristianlm2 suggestions. I had to disable documentation building. This regression is caused by a recent upgrade of texinfo.
Anonymous comment
leoc, I got the same problem as you (when building gcc44) and found a temporary solution. See https://aur.archlinux.org/packages/gcc44/
Anonymous comment
I get the following error. I tried the packages gcc45 and gcc44. Currently I have gcc-4.8-20130411 installed.
../../libiberty/fibheap.c: In function ‘fibheap_replace_key_data’:
../../libiberty/fibheap.c:38:24: error: ‘LONG_MIN’ undeclared (first use in this function)
#define FIBHEAPKEY_MIN LONG_MIN
^
../../libiberty/fibheap.c:220:30: note: in expansion of macro ‘FIBHEAPKEY_MIN’
if (okey == key && okey != FIBHEAPKEY_MIN)
^
../../libiberty/fibheap.c:38:24: note: each undeclared identifier is reported only once for each function it appears in
#define FIBHEAPKEY_MIN LONG_MIN
^
../../libiberty/fibheap.c:220:30: note: in expansion of macro ‘FIBHEAPKEY_MIN’
if (okey == key && okey != FIBHEAPKEY_MIN)
^
../../libiberty/fibheap.c: In function ‘fibheap_delete_node’:
../../libiberty/fibheap.c:38:24: error: ‘LONG_MIN’ undeclared (first use in this function)
#define FIBHEAPKEY_MIN LONG_MIN
^
../../libiberty/fibheap.c:261:36: note: in expansion of macro ‘FIBHEAPKEY_MIN’
fibheap_replace_key (heap, node, FIBHEAPKEY_MIN);
^
../../libiberty/fibheap.c:265:7: warning: implicit declaration of function ‘abort’ [-Wimplicit-function-declaration]
abort ();
^
../../libiberty/fibheap.c:265:7: warning: incompatible implicit declaration of built-in function ‘abort’ [enabled by default]
../../libiberty/fibheap.c: In function ‘fibheap_delete’:
../../libiberty/fibheap.c:277:5: warning: incompatible implicit declaration of built-in function ‘free’ [enabled by default]
free (fibheap_extr_min_node (heap));
^
../../libiberty/fibheap.c: In function ‘fibheap_consolidate’:
../../libiberty/fibheap.c:368:3: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration]
memset (a, 0, sizeof (fibnode_t) * D);
^
../../libiberty/fibheap.c:368:3: warning: incompatible implicit declaration of built-in function ‘memset’ [enabled by default]
make[3]: *** [fibheap.o] Error 1
make[3]: Leaving directory `/tmp/yaourt-tmp-arthur/aur-gcc45/src/gcc-4.5.4/build/libiberty'
make[2]: *** [all-stage1-libiberty] Error 2
make[2]: Leaving directory `/tmp/yaourt-tmp-arthur/aur-gcc45/src/gcc-4.5.4/build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/tmp/yaourt-tmp-arthur/aur-gcc45/src/gcc-4.5.4/build'
make: *** [all] Error 2
Comment by ytj
@andrej84 It seems that you didn't download the patch, just PKGBUILD. You can use ``yaourt -G gcc45`` to download all files for build if you want to build from PKBBUILD.
Comment by andrej84
Sorry my bad, it works from yaourt but trying to install it from the PKGBUILD
Comment by andrej84
I get this error..
==> ERROR: gcc-hash-style-both.patch was not found in the build directory and is not a URL.
Anonymous comment
Update to latest version (4.5.4).
Comment by mrbit
config.status: creating Makefile
make[1]: Entering directory `/tmp/packerbuild-0/gcc45/gcc45/src/gcc-build'
/bin/sh /tmp/packerbuild-0/gcc45/gcc45/src/gcc-4.5.3/mkinstalldirs /tmp/packerbuild-0/gcc45/gcc45/pkg/usr /tmp/packerbuild-0/gcc45/gcc45/pkg/usr
mkdir -p -- /tmp/packerbuild-0/gcc45/gcc45/pkg/usr /tmp/packerbuild-0/gcc45/gcc45/pkg/usr
/bin/sh: line 3: cd: ./fixincludes: File o directory non esistente
make[1]: *** [install-fixincludes] Errore 1
make[1]: Leaving directory `/tmp/packerbuild-0/gcc45/gcc45/src/gcc-build'
make: *** [install] Errore 2
==> ERRORE: Si è verificato un errore in package().
L'operazione sta per essere interrotta...
The build failed.
Dependencies for `xbmc-pvr-git' are not met, not building...
Comment by rwarlord
Not sure why, but I am getting the below error during configure:
> checking LIBRARY_PATH variable... contains current directory
> configure: error:
> *** LIBRARY_PATH shouldn't contain the current directory when
> *** building gcc. Please change the environment variable
> *** and run configure again.
I fixed by it adding:
unset LIBRARY_PATH
on the line before ${base_dir}/configure ...
Comment by cookiecaper
Thanks for this PKGBUILD. FYI, people with older versions of gcc still installed may get errors. For instance, I got these errors on install:
gcc45: /usr/lib/gcc/x86_64-unknown-linux-gnu/lib/libgcc_s.so exists in filesystem
gcc45: /usr/lib/gcc/x86_64-unknown-linux-gnu/lib/libgcc_s.so.1 exists in filesystem
pkgfile informed me that they are from a local copy of gcc43, which I still had installed from back in the day. Perhaps conflicts with gcc43 and/or gcc44 will be useful, or placing those files in a non-conflicting path.
Thanks again. :)
Comment by ytj
First, "make install" is different. It will not compile anything (Because we already did in build()), just copy files. In most common case, we set -j(n) because we have a multi-core processor and we can get benefit during the compiling. But -j1 is enough for copy files. I didn't see any reason to copy multi files at the same time. Even though you have a special file system like RAID or LVM.
Second, to be honest, I have to admit that I merely "guessed" GCC needs them. Technically, GCC must use flex to scan token and bison to generate AST. I think they are necessary. However, we needn't to put flex and bison in makedepends because they belong to base-devel. Arch wiki said 'Packages in the AUR assume "base-devel" is installed, and will not list members of this group as dependencies even if the package cannot be built without them.' Anyway it has no side effect, just takes a few seconds to check.
I used "namcap PKGBUILD" to check my package before posting it to AUR. It said nothing.
In fact, I know nothing about fortran. I am wondering if it works.
Comment by hseara
Hi again,
is there any reason why you put implicitly -j1 in "make -j1 DESTDIR=${pkgdir} install"?
This option can be define locally in mapepkg.conf -> i.e. MAKEFLAGS="-j3"
So unless there is any known reason to force to use one single processor for compilation to everybody please remove -j1.
Additionally are you sure you need 'flex' 'bison' in makedepends? I don't see why at all?
Finally, it could be nice if you check what namcap says about the final package.
Comment by hseara
Please include gfortran. Many of the applications I use contains parts of the code in this language and it is therefore a must for me. Thanks in advance