From: lyle at lcrcomputer.net (Lyle) Date: Tue, 26 Sep 2006 09:18:55 -0500 Subject: [Pljava-dev] JNI_CreateJavaVM In-Reply-To: <45192E18.80702@logix-tt.com> References: <450EA703.5080106@lcrcomputer.net> <450EC3EC.1030409@tada.se> <450EFD9E.6080103@lcrcomputer.net> <45182933.6020507@lcrcomputer.net> <45183911.2020205@logix-tt.com> <45184D68.60602@lcrcomputer.net> <4518ED55.9000600@logix-tt.com> <45192109.7020500@lcrcomputer.net> <45192E18.80702@logix-tt.com> Message-ID: <451936CF.4020800@lcrcomputer.net> Markus Schaber wrote: > Hi, Lyle, > > Lyle wrote: > > >> I had found another cpu specific 'error' in line 102 of that same >> Makefile. I edited that line and then tried to run make. So there are >> issues with the Makefile as you suggested. >> > > Could you post your fix here, so we can review it, and it can be applied > to the CVS eventually? > > >> As far as mixing 32 with 64 bit code, I installed Java and Java libs >> from the SuSE distro dvd. I installed no Java source from anywhere else. >> > > How did you install your PostgreSQL and your gcc toolchain? From the > same DVD? Then they all should be the same platform, at least, if SuSE > didn't break it. > > >> Maybe if I back off and try installing on one of our old Proliant >> 3000's(PII 400MHz), it might work?!? Or install the 32 bit kernel >> on the Xeon? >> > > You don't need a 32-bit kernel, an 64-bit kernel for running 32-bit apps > is just fine (and might even perform better than a 32-bit kernel on some > configurations). You can also have a mixture of both 32-bit and 64-bit > applications installed on a 64-bit kernel. This leads to having some > libs available in both 32-bit and 64-bit, but apart from some wasted > disk space and RAM, it doesn't hurt. > > But you have to make sure that PostgreSQL, pljava and the JDK all are > the the same "bit-number". > > The "gcc 64 bit lib error related to an incompatible libjvm.so (in the > i386 directory)" you quoted in your previous message made me think that > PostgreSQL and PLJava seem to be compiled in 64-bit, whereas the JDK is > in 32-bit. > > > HTH, > Markus > > I am not a programmer and I just took the 'easy' way out and will just point out where the issues for me were in the Makefile. On this Xeon based machine, this script identifies the cpu as x86_64. Line 35 ifeq ($(host_cpu), x86_64) JRE_CPU := amd64 I hand edited this to read JRE_CPU := i386 Then in line 102, (looking back this doesn't make sense to me, but ...) JRE_LIB := $(JDK_HOME)/lib/$(JRE_CPU) did not get filled out correctly and I hand edited this line to JRE_LIB := $(JDK_HOME)/lib/i386 Then I got this during make: /usr/lib64/gcc-lib/x86-64-suse-linux/3.3.4/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/jvm/jre/lib/i386/client/libjvm.so when searching for -ljvm In the /usr/lib/jvm/lib directory, there are no other cpu specific directories and I don't find any java stuff under /usr/lib64 either. My presumption at this point is that I have a distro problem(no 64 bit java libs installed?) as java & jvm are direct from the distro dvd. Not sure what you mean by gcc toolchain? gcc was installed via the distro dvd. As far as postgres goes, here is the top part of the config.log: This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by PostgreSQL configure 8.1.4, which was generated by GNU Autoconf 2.59. Invocation command line was $ ./configure --with-perl --enable-shared ## --------- ## ## Platform. ## ## --------- ## hostname = linux2 uname -m = x86_64 uname -r = 2.6.8-24-smp uname -s = Linux uname -v = #1 SMP Wed Oct 6 09:16:23 UTC 2004 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = x86_64 /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /sbin PATH: /usr/sbin PATH: /usr/local/sbin PATH: /root/bin PATH: /usr/local/bin PATH: /usr/bin PATH: /usr/X11R6/bin PATH: /bin PATH: /usr/games PATH: /opt/gnome/bin PATH: /opt/kde3/bin PATH: /usr/lib/jvm/jre/bin I really appreciate your assistance here! Lyle -------------- next part -------------- An HTML attachment was scrubbed... URL: