Warning: file_exists(): open_basedir restriction in effect. File(/srv/http/vhosts/aur.archlinux.org/public/web/locale//en/LC_MESSAGES/aurweb.mo) is not within the allowed path(s): (/srv/http/vhosts/aur-dev.archlinux.org/:/etc/aurweb/) in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/streams.php on line 90
AUR (en) - gcc-gcj

Notice: Undefined variable: name in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/pkgfuncs.inc.php on line 248

Package Details: gcc-gcj 6.3.1-2

Git Clone URL: https://aur-dev.archlinux.org/gcc-gcj.git (read-only)
Package Base: gcc-gcj
Description: The GNU Compiler for Java
Upstream URL: http://gcc.gnu.org
Licenses: GPL, LGPL
Submitter: Allan
Maintainer: valandil
Last Packager: valandil
Votes: 243
Popularity: 3.271133
First Submitted: 2009-05-08 17:48
Last Updated: 2017-01-14 15:55

Pinned Comments

valandil commented on 2016-05-11 14:02

This package, gcc-gcj, is a subset of the GNU Compiler Collection, specifically the Java compiler part. In Arch Linux, it is mostly used to compile pdftk, a very nifty command-line PDF tool.

When reporting any build issue, please provide your current version of gcc and any error message.

It is *very* long to compile and takes up a lot of disk space while doing so. Do not use AUR helpers to compile this thing, you'll probably end up filling your /tmp partition and crash the compilation process. Download the PKGBUILD (either with yaourt -G gcc-gcj, with the helper of your choice or even manually) and run makepkg.

If you do not want to compile this and only need it for pdftk, consider using pdftk-bin. As its name indicates, it is a precompiled version of pdftk and depends only on libgcj, also precompiled.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 ... Next › Last »

valandil commented on 2016-05-11 11:28

I don't mind switching back to a tarball. However, I can't seem to find a tarball for version gcc 6.1.1. Since we have to use the same version number for gcc and gcc-gcj, we might be stuck with the git repo.

Since this package should be compiled with makepkg directly anyway (see 90% of the comments below), the git repo will be a large download the first time, and then will consist of small diffs. Not ideal, but not too bad either.

@KlipperKyle I am not aware of a way to simply "download" a git commit. However, there is a way to do this on GitHub, and there happens to be gcc-mirror GitHub page. I can test this to see if it works.

@cfr42 Yes, notice that in the PKGBUILD I symlink isl and cloog in gcc's tree. It uses the downloaded version. isl is 1.6M download, and cloog a 4.6M one. This isn't much of an issue.

KlipperKyle commented on 2016-05-11 04:10

I have to echo @cfr42's thoughts.

Personally, I would prefer a tarball. When building a package, I really don't care about every revision in the code tree. I just need the officially sanctioned snapshot.

Comparing file sizes, the 92M tarball is about 10% the size of the git repo.

Is there any hack that only grabs the snapshot of the git repo you need? What is the advantage of cloning the *entire* git repo?

Either way, thank you for maintaining this package. Large packages like this can be a lot of work to maintain. (And users like me asking why certain things are done certain ways can be annoying. ;-) )

cfr42 commented on 2016-05-10 22:16

Thanks for maintaining this. I so wish this was in the repos in binary form. The new version is, I guess, going to take even longer to compile. On my system, it has still not finished checking out the code to begin from the git repository.

This is going to make it even trickier for people with bandwidth limitations. Anybody who has limited download allowances should bear the following in mind:

For gcc-gcj 5.3.0:

* gcc 5.3.0 tar.bz2: 92M

For gcc-gcj 6.1.1:

* gcc 6.1.1 git repo: 1.72G
* isl 0.17 tar.bz2: ?? (still waiting)
* cloog 0.18.4 tar.gz: ?? (still waiting)

But then it says it uses the 'in-tree' version of isl, anyway?

valandil commented on 2016-05-10 19:37

I was finally able to make it work (most of the time was spent compiling ^_^).

@haawda I did not have that particular issue and therefore left the line as is.

@frankspace Thanks for the updated PKGBUILD. I used some of it in this update.

The update to gcc 6 apparently changed the value of ${CHOST}. It will now contain the string "x86_64-pc-linux-gnu" for a 64-bit system. During testing, I uncovered that my makepkg.conf was still setting ${CHOST} to "x86_64-unknown-linxux-gnu" and was therefore causing run-time errors with gcc-gcj. Make sure that your makepkg.conf is up to date.

I'm not sure what the issue with fibheap was, but removing the line

echo ${pkgver} > gcc/BASE-VER

fixed it.

valandil commented on 2016-05-09 13:49


Sorry for the lack of response, I hadn't seen your comment. I'm hopeful that this update will fix your issue. If not, I'll try to work it out.

valandil commented on 2016-05-09 13:48

I'm having an issue with fibheap, for some reason.



Will report back when I have found the cause of this issue.

valandil commented on 2016-05-09 13:27

Sorry for the delay, I was out of town last week. I am currently testing your PKGBUILD. The package should be ready by tonight (EST).

haawda commented on 2016-05-08 21:51

frankspace, your PKGBUILD did not work for me, I had to change line 78 to
install -Dm755 jc1 ${pkgdir}/usr/lib/gcc/${CHOST}/${pkgver}/jc1

frankspace commented on 2016-05-07 18:11

The following PKGBUILD worked for me, it's been tweaked to match the official repo's transition to using git and version "6.1.1". This built successfully for me on an x86_64 box and I was able to compile pdftk (which I tested as working) with it.


rabarrett commented on 2016-04-12 01:06

No, 64-bit. I'll run the makepkg again and pipe the full output to a file for you.

Here is the output:
url: https://ptpb.pw/7LWx