![]() |
|
|
|||
|
Install both i586 and x86_64 RPM?
I need to build a 32-bit binary of a package that links against JVM on
what is otherwise a 64-bit install of SuSE 11.0. For all other required libraries there are 32-bit development versions, but not for Java. Is there a way to install suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm alongsite suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? I guess I can unpack the RPM and install the files, for example through rpm2cpio. Would that work, and more importantly would it work without getting into trouble with automatic updates, etc.? Thanks --- Jan |
|
|||
|
Re: Install both i586 and x86_64 RPM?
Jan Wielemaker wrote:
> I need to build a 32-bit binary of a package that links against JVM on > what is otherwise a 64-bit install of SuSE 11.0. For all other > required libraries there are 32-bit development versions, but not for > Java. > > Is there a way to install suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm > alongsite suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? > > I guess I can unpack the RPM and install the files, for example > through rpm2cpio. Would that work, and more importantly would it > work without getting into trouble with automatic updates, etc.? AFAIK, Java is always 32-bit even on openSUSE x86-64. Sun never ported it to 64-bit. |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On 2008-07-16, Nikos Chantziaras <realnc@arcor.de> wrote:
> Jan Wielemaker wrote: >> I need to build a 32-bit binary of a package that links against JVM on >> what is otherwise a 64-bit install of SuSE 11.0. For all other >> required libraries there are 32-bit development versions, but not for >> Java. >> >> Is there a way to install suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm >> alongsite suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? >> >> I guess I can unpack the RPM and install the files, for example >> through rpm2cpio. Would that work, and more importantly would it >> work without getting into trouble with automatic updates, etc.? > > AFAIK, Java is always 32-bit even on openSUSE x86-64. Sun never ported > it to 64-bit. I guess your info is outdated: gollem (~) 5_> file /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped gollem (~) 6_> rpm -qf /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so java-1_6_0-sun-1.6.0.u6-8.1 gollem (~) 7_> Cheers --- Jan |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On Wed, 16 Jul 2008 14:59:28 +0000, Jan Wielemaker typed this message:
> On 2008-07-16, Nikos Chantziaras <realnc@arcor.de> wrote: >> Jan Wielemaker wrote: >>> I need to build a 32-bit binary of a package that links against JVM on >>> what is otherwise a 64-bit install of SuSE 11.0. For all other >>> required libraries there are 32-bit development versions, but not for >>> Java. >>> >>> Is there a way to install >>> suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm alongsite >>> suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? >>> >>> I guess I can unpack the RPM and install the files, for example >>> through rpm2cpio. Would that work, and more importantly would it work >>> without getting into trouble with automatic updates, etc.? >> >> AFAIK, Java is always 32-bit even on openSUSE x86-64. Sun never ported >> it to 64-bit. > > I guess your info is outdated: > > gollem (~) 5_> file > /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so > /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so: ELF > 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically > linked, not stripped gollem (~) 6_> rpm -qf > /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so > java-1_6_0-sun-1.6.0.u6-8.1 > gollem (~) 7_> > > Cheers --- Jan Generally, SuSe installs/updates both 32 and 64bit libraries. So, if you need the java libraries use YaST or zypper to install the JAVA libraries and resolve dependencies. zypper search java if needed zypper install non-oss-java-32bit |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On 2008-07-17, noi ance <noi@siam.com> wrote:
> On Wed, 16 Jul 2008 14:59:28 +0000, Jan Wielemaker typed this message: > >> On 2008-07-16, Nikos Chantziaras <realnc@arcor.de> wrote: >>> Jan Wielemaker wrote: >>>> I need to build a 32-bit binary of a package that links against JVM on >>>> what is otherwise a 64-bit install of SuSE 11.0. For all other >>>> required libraries there are 32-bit development versions, but not for >>>> Java. >>>> >>>> Is there a way to install >>>> suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm alongsite >>>> suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? >>>> >>>> I guess I can unpack the RPM and install the files, for example >>>> through rpm2cpio. Would that work, and more importantly would it work >>>> without getting into trouble with automatic updates, etc.? >>> >>> AFAIK, Java is always 32-bit even on openSUSE x86-64. Sun never ported >>> it to 64-bit. >> >> I guess your info is outdated: >> >> gollem (~) 5_> file >> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so >> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so: ELF >> 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically >> linked, not stripped gollem (~) 6_> rpm -qf >> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so >> java-1_6_0-sun-1.6.0.u6-8.1 >> gollem (~) 7_> >> >> Cheers --- Jan > > Generally, SuSe installs/updates both 32 and 64bit libraries. So, if you > need the java libraries use YaST or zypper to install the JAVA libraries > and resolve dependencies. > > zypper search java > > if needed > zypper install non-oss-java-32bit Hmmm. gollem:/home/jan # zypper search java | grep 32 | devel_java-32bit | devel_java-32bit | pattern | java-1_5_0-gcj-compat-32bit | JPackage Runti-> | package | libreadline-java-32bit | Java Wrapper f-> | package | non_oss_java-32bit | non_oss_java-3-> | pattern Sofar, so good. Now it would be nice to know what this is going to do, so I typed gollem:/home/jan # zypper info -t pattern devel_java-32bit Reading installed packages... Information for pattern devel_java-32bit: Repository: openSUSE-11.0-Oss Name: devel_java-32bit Version: 11.0-110.3 Arch: x86_64 Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Installed: No Summary: devel_java-32bit Description: Contents: (empty) Could be better :-( Then gollem:/home/jan # zypper install -D -t pattern devel_java-32bit Reading installed packages... The following NEW pattern is going to be installed: devel_java-32bit No additional space will be used or freed after the operation. Continue? [YES/no]: That is getting weird. I guess it should use space!? No matter what I enter on the prompt (return, y, Y, YES), it immediately returns. Same without -D. What do I miss? I also tried hard to find this pattern in the YaST software management, but I can't find it. Puzzled --- Jan |
|
|||
|
Re: Install both i586 and x86_64 RPM?
Jan Wielemaker wrote:
> Is there a way to install suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm > alongsite suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? Not, it appears, using the RPMs. On my x86_64 system: chipotle:~ # rpm -qa|grep java java-1_6_0-sun-devel-1.6.0.u6-8.1 java-1_6_0-sun-1.6.0.u6-8.1 chipotle:~ # rpm --install /tmp/mnt/suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm package java-1_6_0-sun-1.6.0.u6-8.1 is already installed chipotle:~ # Even it if were possible, update-alternatives might not work well. I suspect the path of least resistance is to install the i586 JRE/JDK from Sun and separately maintain it. |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On 2008-07-17, Gary Gapinski <usenet@garygapinski.com> wrote:
> Jan Wielemaker wrote: >> Is there a way to install suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm >> alongsite suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? > > Not, it appears, using the RPMs. > > On my x86_64 system: > chipotle:~ # rpm -qa|grep java > java-1_6_0-sun-devel-1.6.0.u6-8.1 > java-1_6_0-sun-1.6.0.u6-8.1 > chipotle:~ # rpm --install > /tmp/mnt/suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm > package java-1_6_0-sun-1.6.0.u6-8.1 is already installed > chipotle:~ # I have been there too :-) > Even it if were possible, update-alternatives might not work well. > > I suspect the path of least resistance is to install the i586 JRE/JDK > from Sun and separately maintain it. The aim of this is to provide binary RPMs for i586 for SWI-Prolog (http://www.swi-prolog.org) which includes a Java interface that can be used on 32-bit systems. Except for Java there is no problem. If I compile and link against the Sun binaries it still might not work if the user only has java-1_6_0-sun-1.6.0.u6-8.1 for i586? I know of course that I can run a copy of SuSE 32-bit in a virtual machine, but I don't really like the burden of installing it and keeping it up-to-date, just for a single missing library :-( What I don't really get is what is so special about the -32bits packages? Why is it not possible to install the i586 RPMs alongside the 64-bit versions in general? They install in different directories anyway. Cheers --- Jan |
|
|||
|
Re: Install both i586 and x86_64 RPM?
Jan Wielemaker wrote:
> I know of course that I can run a copy of SuSE 32-bit in a virtual > machine, but I don't really like the burden of installing it and > keeping it up-to-date, just for a single missing library :-( Perhaps the openSUSE Build Service (https://build.opensuse.org/) could be used. I have not yet used it, so I'm unsure how easily 32- and 64-bit packages might be maintained. > > What I don't really get is what is so special about the -32bits > packages? Why is it not possible to install the i586 RPMs alongside > the 64-bit versions in general? They install in different directories > anyway. I think it's just the packaging. |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On 2008-07-17, Gary Gapinski <usenet@garygapinski.com> wrote:
> Jan Wielemaker wrote: >> I know of course that I can run a copy of SuSE 32-bit in a virtual >> machine, but I don't really like the burden of installing it and >> keeping it up-to-date, just for a single missing library :-( > > > Perhaps the openSUSE Build Service (https://build.opensuse.org/) could > be used. I have not yet used it, so I'm unsure how easily 32- and 64-bit > packages might be maintained. That could indeed be an option (thanks, hadn't considered that yet), though I prefer to keep it in my own hands as debugging trouble locally is generally a lot easier and sometimes bugs are 32-bit specific. >> What I don't really get is what is so special about the -32bits >> packages? Why is it not possible to install the i586 RPMs alongside >> the 64-bit versions in general? They install in different directories >> anyway. > > I think it's just the packaging. Thats what I'm after. Can the package system be cheated ot better, will there be a day this simply works and one can install any mixture of i586 and AMD64 packages on the same system? Of course, 32-bit versions for AMD64 of the Java packages are also a solution :-) Some time ago it was very hard to get 64-bit Java installed on a 64-bit machine, now it is hard to get the 32-bit version :-( Cheers --- Jan |
|
|||
|
Re: Install both i586 and x86_64 RPM?
On Thu, 17 Jul 2008 09:55:30 +0000, Jan Wielemaker typed this message:
> On 2008-07-17, noi ance <noi@siam.com> wrote: >> On Wed, 16 Jul 2008 14:59:28 +0000, Jan Wielemaker typed this message: >> >>> On 2008-07-16, Nikos Chantziaras <realnc@arcor.de> wrote: >>>> Jan Wielemaker wrote: >>>>> I need to build a 32-bit binary of a package that links against JVM >>>>> on what is otherwise a 64-bit install of SuSE 11.0. For all other >>>>> required libraries there are 32-bit development versions, but not >>>>> for Java. >>>>> >>>>> Is there a way to install >>>>> suse/i586/java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm alongsite >>>>> suse/x86_64/java-1_6_0-sun-1.6.0.u6-8.1.x86_64.rpm? >>>>> >>>>> I guess I can unpack the RPM and install the files, for example >>>>> through rpm2cpio. Would that work, and more importantly would it >>>>> work without getting into trouble with automatic updates, etc.? >>>> >>>> AFAIK, Java is always 32-bit even on openSUSE x86-64. Sun never >>>> ported it to 64-bit. >>> >>> I guess your info is outdated: >>> >>> gollem (~) 5_> file >>> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so >>> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so: ELF >>> 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically >>> linked, not stripped gollem (~) 6_> rpm -qf >>> /usr/lib64/jvm/java-1.6.0-sun-1.6.0.u6/jre/lib/amd64/libjava.so >>> java-1_6_0-sun-1.6.0.u6-8.1 >>> gollem (~) 7_> >>> >>> Cheers --- Jan >> >> Generally, SuSe installs/updates both 32 and 64bit libraries. So, if >> you need the java libraries use YaST or zypper to install the JAVA >> libraries and resolve dependencies. >> >> zypper search java >> >> if needed >> zypper install non-oss-java-32bit > > Hmmm. > > gollem:/home/jan # zypper search java | grep 32 | devel_java-32bit > | devel_java-32bit | pattern | > java-1_5_0-gcj-compat-32bit | JPackage Runti-> | > package | libreadline-java-32bit | Java > Wrapper f-> | package | non_oss_java-32bit > | non_oss_java-3-> | pattern > > Sofar, so good. Now it would be nice to know what this is going to do, > so I typed > > gollem:/home/jan # zypper info -t pattern devel_java-32bit > Reading installed packages... > > > Information for pattern devel_java-32bit: > > Repository: openSUSE-11.0-Oss > Name: devel_java-32bit > Version: 11.0-110.3 > Arch: x86_64 > Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany Installed: No > Summary: devel_java-32bit > Description: > > Contents: (empty) > > Could be better :-( Then > > gollem:/home/jan # zypper install -D -t pattern devel_java-32bit > Reading installed packages... > > The following NEW pattern is going to be installed: > devel_java-32bit > > > No additional space will be used or freed after the operation. > Continue? [YES/no]: > > That is getting weird. I guess it should use space!? No matter what I > enter on the prompt (return, y, Y, YES), it immediately returns. Same > without -D. > > What do I miss? I also tried hard to find this pattern in the YaST > software management, but I can't find it. > > Puzzled --- Jan Really not sure what you tried to do. -D is the option to specify a repository, and I don't know what is -t pattern. Basics are you can still download whatever .rpm you think you need and install it using rpm -Uvh java-1_6_0-sun-1.6.0.u6-8.1.i586.rpm or whatever. Zypper and YaST just do a better job resolving dependencies. Likewise you could install it to /usr/local/lib/ And I note the OpenSuse wiki on installing Java http://en.opensuse.org/Installing_Sun's_Java_on_SUSE_Linux#Switching_betw een_two_different_Java_JREs_or_SDKs |
![]() |
|
| Thread Tools | Search this Thread |
| Display Modes | |
|
|