During emerge this error comes up and compilation fails: make[3]: Leaving directory `/var/tmp/portage/pilot-link-0.11.8-r1/work/pilot-link-0.11.8/bindings/Java' cp libjpisock.so /opt/sun-jdk-1.5.0.01/jre/lib/i386/ ACCESS DENIED open_wr: /opt/sun-jdk-1.5.0.01/jre/lib/i386/libjpisock.so cp: regular file ,,/opt/sun-jdk-1.5.0.01/jre/lib/i386/libjpisock.so" cannot be created: no access rights Of course this doesn't work. I don't have /opt/sun-jdk-1.5.0.01/jre/lib/i386/ but I have /opt/sun-jdk-1.5.0.01/jre/lib/amd64/ so somewhere the wrong (hardcoded?) path is specified.
You could create a symlink to side-step the issue for now. Silly bug that needs fixing upstream I guess.
OK, will create a symlink. I send a mail to the pilot-link devl list. Hopefully they fix it. Should this be left open until then, or should it be closed?
well i've got the same issue and have created a symlink from i386 to amd64 with no change in behaviour. did i miss something?
its also a bad idea to install it directly into JAVA_HOME, since that dir gets changed when there is an update to the jdk/jre
This is still an open issue, apparently. I did some tests again today and it's still looking for the i386 directory. Any thoughts for a fix? I haven't had time to build a patch for this myself.
Creating symlink seems to work for me. Ugly though. Wish I could find where upstream this was hard coded as i386.
FYI: Creating a symlink does NOT work for me. I still get sandbox violations: ------------ cp libjpisock.so /opt/blackdown-jdk-1.4.2.01/jre/lib/i386/ ACCESS DENIED open_wr: /opt/blackdown-jdk-1.4.2.01/jre/lib/i386/libjpisock.so cp: cannot create regular file `/opt/blackdown-jdk-1.4.2.01/jre/lib/i386/libjpisock.so': Permission denied ------------
*** Bug 89823 has been marked as a duplicate of this bug. ***
*** Bug 91668 has been marked as a duplicate of this bug. ***
*** Bug 92834 has been marked as a duplicate of this bug. ***
*** Bug 97094 has been marked as a duplicate of this bug. ***
There seem to be a couple of problems here... 1) the two amd64-patches patch Makefile.am But automake is never run by the installation scripts, right? So they should patch Makefile.in to have any effect. 2) java_install_amd64.patch tries to copy to ${JAVABASE}/jre/lib/amd64/ which is not relative to $(DESTDIR), hence the sandbox-violation, i think. Why not simply install it in $(DESTDIR)$(libdir)/ ? 3) I don't see how the fPIC patch should take effect. It patches Makefile.in but is applied *after* econf has been called.
Created attachment 62318 [details] experimental ebuild to make it compile on amd64 beware, this is just a quick hack to get in to compile on my system (amd64) - get rid of compile_amd64 patch - new ebuild moves fPIC patch to the beginning of src_unpack() - fPIC patch also adds $(CXXFLAGS) - install_amd64 patch installs into $(DESTDIR)$(libdir)/
Good show! I've been very busy lately or I would have tested this sooner. I used your attached ebuild and patches and created a small Portage overlay for this. It worked like a charm. Thanks very much for taking the time to dig into the build files and figure out what was wrong (I hadn't had the time). ** To the Gentoo Devs: I recommend incorporating these changes into the Portage tree ASAP (after sufficient quality review, of course -- but the changes seem minor enough). Also, for anyone else that wants a copy of my Portage overlay to fix this just let me know.
i still don't know whether adding -fPIC to CXXFLAGS is the right way to go? can amd64 folks confirm this?
(In reply to comment #15) > i still don't know whether adding -fPIC to CXXFLAGS is the right way to go? can amd64 folks confirm this? But that's not what the patch does. -fPIC is only added to the compile options for libjpisock.c, which should be ok.
-fPIC must be applied to (and only to) shared objects, generally adding -fPIC to C(XX)FLAGS is a very bad idea. This is policy on all arches, so please apply the changes unconditionally. (hint: http://dev.gentoo.org/~plasmaroo/devmanual//archs/amd64/ )
great. this should finally fix it. thanks for the patch and also the amd64 devs for pointing me to some docs about fPIC. i'm committing this into -r1 rather than a revision bump since it doesn't add any new features, just fixes compile problems.
*** Bug 111434 has been marked as a duplicate of this bug. ***