Re: [Qemu-devel] configure flag for compilation question..
On Fri, 13 Oct 2006, Ben Taylor wrote: Manually add "-L/usr/local/lib -R/usr/local/lib" to the Makefile for the link phase so it will correctly add those paths to the library lookup. If I had a code base to look at this instance, I could tell you where. You could also add those flags to Makefile.target in the SOLARIS specific areas, which would probably make more sense. Can you point the areas? (I only found one ifdef CONFIG_SOLARIS LIBS+=-lsocket -lnsl -lresolv -L/home/faculty/r/rattan/solqemu/lib -R/home/facul ty/r/rattan/solqemu/lib endif ) and it does not make a difference. -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: > Martin Bochnig <[EMAIL PROTECTED]> wrote: > > >>Ben Taylor wrote: >> >> >> >>> Ishwar Rattan <[EMAIL PROTECTED]> wrote: >>> >>> >>> >>> Trying to compile qemu on amd64 based Solaris. I do not have write permission to /usr/local subtree ./configure --libdir=other-path --prefix=not-ustlocal is fine but make always generates binaries that want to find /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). What is the way out for this sticky point? >>>Manually add "-L/usr/local/lib -R/usr/local/lib" >>> >>> >>> >>Rather "-L/his/home/sdl_amd64/lib -R/his/home/sdl_amd64/lib" >> >> > >Yeah, that. brain fart when I was typing that. > > > >>Because I doubt, an amd64 version of libSDL is currently present in >>/usr/local/lib/amd64 >>(and he doesn't have w access). >> >> > >Right. I knew what I meant, I just didn't type it right. > > > >>This method is btw not really "new" to me, see my posting from a few >>hours ago: >>http://www.opensolaris.org/jive/thread.jspa?threadID=15448&tstart=0 >> >> >> >> >>>to the Makefile for the link >>>phase so it will correctly add those paths to the library lookup. If I had >>>a code base to look at this instance, I could tell you where. You could >>>also add those flags to Makefile.target in the SOLARIS specific areas, >>>which would probably make more sense. >>> >>>As Martin indicated, setting LD_LIBRARY_PATH may get you a running >>>binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. >>> >>>Ben >>> >>> >>> >>> >>>"LD_LIBRARY_PATH is the wrong answer for Solaris" >>> >>> >>??? >>--->> Weak statement. >> >> > >LD_LIBRARY_PATH is the wrong answer for Solaris. It's great for >trying to fix problems like this when the app won't run with a particular >set of libraries, or you're testing with new libraries and you don't >want to recompile (I've done this before). Too many people use >it as a panacea for poorly compiled/configured Open source software. >In this case, he might just set the LD_LIBRARY_PATH and never >recompile it, even though it won't work if it uses the default LIB path. > > No further comment, except this one: bash-3.00# pwd /opt/SUNWqemu/bin bash-3.00# ls -al total 676 dr-xr-xr-x 5 root bin 1024 Oct 14 06:26 . drwxr-xr-x 5 root bin 512 Oct 14 06:26 .. lrwxrwxrwx 1 root root 9 Oct 14 06:26 JQEMU.jar -> jqemu.jar lrwxrwxrwx 1 root root 10 Oct 14 06:26 JQEMU.jnlp -> jqemu.jnlp lrwxrwxrwx 1 root root 20 Oct 14 06:26 SWING-LAYOUT-1.0.jar -> swing-layout-1.0.jar -r-xr-xr-x 1 root bin 48 Oct 14 03:23 jqemu-launcher-gui -r-xr-xr-x 1 root bin 150854 Oct 14 03:30 jqemu.jar -r-xr-xr-x 1 root bin 524 Oct 14 03:32 jqemu.jnlp lrwxrwxrwx 1 root root 18 Oct 14 06:26 qemu -> ./sparcv8plus/qemu lrwxrwxrwx 1 root root 22 Oct 14 06:26 qemu-img -> ./sparcv8plus/qemu-img lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-586 -> ./sparcv8plus/qemu-system-586 lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-686 -> ./sparcv8plus/qemu-system-686 lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-arm -> ./sparcv8plus/qemu-system-arm lrwxrwxrwx 1 root root 30 Oct 14 06:26 qemu-system-mips -> ./sparcv8plus/qemu-system-mips lrwxrwxrwx 1 root root 32 Oct 14 06:26 qemu-system-mipsel -> ./sparcv8plus/qemu-system-mipsel lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-ppc -> ./sparcv8plus/qemu-system-ppc lrwxrwxrwx 1 root root 31 Oct 14 06:26 qemu-system-sparc -> ./sparcv8plus/qemu-system-sparc lrwxrwxrwx 1 root root 32 Oct 14 06:26 qemu-system-x86_64 -> ./sparcv8plus/qemu-system-x86_64 -r-xr-xr-x 1 root bin 1591 Oct 14 00:00 sdl-config dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv7 dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv8 dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv8plus -r-xr-xr-x 1 root bin 140545 Oct 14 03:30 swing-layout-1.0.jar -r-xr-xr-x 1 root bin 332 Oct 14 05:39 test-qemu -r-xr-xr-x 1 root bin 252 Oct 14 05:40 test-qemu-system-arm -r-xr-xr-x 1 root bin 887 Oct 14 04:49 test-qemu-system-mips -r-xr-xr-x 1 root bin 319 Oct 14 04:54 test-qemu-system-sparc bash-3.00# ldd */qemu-system-mips|grep SDL libSDL-1.2.so.0 => /opt/SUNWqemu/lib/sparcv7/libSDL-1.2.so.0 libSDL-1.2.so.0 => /opt/SUNWqemu/lib/sparcv8/libSDL-1.2.so.0 libSDL-1.2.so.0 => /opt/SUNWqemu/lib/sparcv8plus/libSDL-1.2.so.0 bash-3.00# ldd */qemu-system-mips|grep libz libz.so => /opt/SUNWqemu/lib/sparcv7/libz.so libz.so => /opt/SUNWqemu/lib/sparcv8/libz.so libz.so => /opt/SUNWqemu/li
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: > Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > >>On Fri, 13 Oct 2006, Martin Bochnig wrote: >> >> >> >>>Ishwar Rattan wrote: >>> >>> >>> >>>Where is the problem 64bit versus 32bit ? >>>(32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) >>>(should go under /usr/local/lib/amd64/libSDL-1.2.so.0) >>> >>> >>Well, the problem is I do not root privileges so can't place libSL in >>/usr/local/lib or /usr/local/lib/amd64. >> >>I would like to keep it in $HOME/lib and want qemu to see the lib >>archive. >> >>I will try LD_LIBRARY_PATH option. >> >> > >It should work. the main thing is to not to agressive with LD_LIBRARY_PATH in >this case. Since it sounds like it already may be linking against >/usr/local/lib >where the current libSDL is, you should just be able to add the new lib dir >to the LD_LIBRARY_PATH env variable, and then run ldd on qemu to make >sure it's finding the right libraries. When you have the right LD_LIBRARY_PATH, >then it should be working for you. > > > >>Is to possible to have a staticly >>linked version of libSDL in the qemu binaries? >> >> > >There is an option for statically linked libSDL in the qemu binaries, > > Sounds funny. >and I tried to make sure I kept that intact for solaris in the configure >script. > wow >Try it and see what happens. > > Not much. >Ben > > >___ >Qemu-devel mailing list >Qemu-devel@nongnu.org >http://lists.nongnu.org/mailman/listinfo/qemu-devel > > > > ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > > On Fri, 13 Oct 2006, Martin Bochnig wrote: > > > Ishwar Rattan wrote: > > > >> > > Where is the problem 64bit versus 32bit ? > > (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) > > (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) > Well, the problem is I do not root privileges so can't place libSL in > /usr/local/lib or /usr/local/lib/amd64. > > I would like to keep it in $HOME/lib and want qemu to see the lib > archive. > > I will try LD_LIBRARY_PATH option. It should work. the main thing is to not to agressive with LD_LIBRARY_PATH in this case. Since it sounds like it already may be linking against /usr/local/lib where the current libSDL is, you should just be able to add the new lib dir to the LD_LIBRARY_PATH env variable, and then run ldd on qemu to make sure it's finding the right libraries. When you have the right LD_LIBRARY_PATH, then it should be working for you. > Is to possible to have a staticly > linked version of libSDL in the qemu binaries? There is an option for statically linked libSDL in the qemu binaries, and I tried to make sure I kept that intact for solaris in the configure script. Try it and see what happens. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Martin Bochnig <[EMAIL PROTECTED]> wrote: > Ben Taylor wrote: > > > Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > > > > >>Trying to compile qemu on amd64 based Solaris. > >> > >>I do not have write permission to /usr/local subtree > >> > >>./configure --libdir=other-path --prefix=not-ustlocal > >>is fine > >>but make always generates binaries that want to find > >>/usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). > >> > >>What is the way out for this sticky point? > >> > >> > > > >Manually add "-L/usr/local/lib -R/usr/local/lib" > > > > Rather "-L/his/home/sdl_amd64/lib -R/his/home/sdl_amd64/lib" Yeah, that. brain fart when I was typing that. > Because I doubt, an amd64 version of libSDL is currently present in > /usr/local/lib/amd64 > (and he doesn't have w access). Right. I knew what I meant, I just didn't type it right. > This method is btw not really "new" to me, see my posting from a few > hours ago: > http://www.opensolaris.org/jive/thread.jspa?threadID=15448&tstart=0 > > > >to the Makefile for the link > >phase so it will correctly add those paths to the library lookup. If I had > >a code base to look at this instance, I could tell you where. You could > >also add those flags to Makefile.target in the SOLARIS specific areas, > >which would probably make more sense. > > > >As Martin indicated, setting LD_LIBRARY_PATH may get you a running > >binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. > > > >Ben > > > > > > > "LD_LIBRARY_PATH is the wrong answer for Solaris" > ??? > --->> Weak statement. LD_LIBRARY_PATH is the wrong answer for Solaris. It's great for trying to fix problems like this when the app won't run with a particular set of libraries, or you're testing with new libraries and you don't want to recompile (I've done this before). Too many people use it as a panacea for poorly compiled/configured Open source software. In this case, he might just set the LD_LIBRARY_PATH and never recompile it, even though it won't work if it uses the default LIB path. > It has its [dis]advantages. > Namely that the paths to a library are _not_ hardwired. But then that requires a dependency on knowing where your libraries are, and could possibly create an imcombaility by overriding a library path for some other application that is also leaning on LD_LIBRARY_PATH. Obviously you can get around this by encapsulating each application requiring LD_LIBRARY_PATH, thereby negating the need for a user or system wide LD_LIBRARY_PATH variable. > That's the exactly reason, why I did recommend it in this very scenario. In this case, I can agree for the purposes of a test. But it also indicates that some work is required for the Solaris port if other library paths need to be linked in during the compliation/link phase. > And I would do it again for Ishwar's current needs. Works for me. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: > Martin Bochnig <[EMAIL PROTECTED]> wrote: > > >>Ben Taylor wrote: >> >> >> >>>As Martin indicated, setting LD_LIBRARY_PATH may get you a running >>>binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. >>> >>> >>> >>> >>> >>My answer had been a bit longer: >> >>"Read ld.so.1(1) >>i.e. >># man ld.so.1 >> >>Then: *One* option is to set $LD_LIBRARY_PATH (or potentially >>$LD_LIBRARY_PATH_64 [not required])." >> >> > >I'm not saying it doesn't work. But properly compiled programs for >Solaris include the run time paths to the libraries so an LD_LIBRARY_PATH >environment variable is not required. > >LD_LIBRARY_PATH is interesting to test out new versions of support >libraries without actually having to recompile, so it has it's uses. >but too often, folks use LD_LIBRARY_PATH as a panacea on Solaris >to fix poorly compiled programs. > >Ben > > He is experimenting and trying out a bit. Not building to be published packages. I advised him to read and understand ld.so.1(1). And I mentioned $LD_LIBRARY_PATH as *one* possible option for him to get quick results. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Martin Bochnig <[EMAIL PROTECTED]> wrote: > Ben Taylor wrote: > > >As Martin indicated, setting LD_LIBRARY_PATH may get you a running > >binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. > > > > > > > > My answer had been a bit longer: > > "Read ld.so.1(1) > i.e. > # man ld.so.1 > > Then: *One* option is to set $LD_LIBRARY_PATH (or potentially > $LD_LIBRARY_PATH_64 [not required])." I'm not saying it doesn't work. But properly compiled programs for Solaris include the run time paths to the libraries so an LD_LIBRARY_PATH environment variable is not required. LD_LIBRARY_PATH is interesting to test out new versions of support libraries without actually having to recompile, so it has it's uses. but too often, folks use LD_LIBRARY_PATH as a panacea on Solaris to fix poorly compiled programs. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: >As Martin indicated, setting LD_LIBRARY_PATH may get you a running >binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. > > > My answer had been a bit longer: "Read ld.so.1(1) i.e. # man ld.so.1 Then: *One* option is to set $LD_LIBRARY_PATH (or potentially $LD_LIBRARY_PATH_64 [not required])." ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: > > Also, I downloaded the SDL-1.2.11 source from opensolaris.org download > page. I can't figure out how to apply the 64bit patch (patch rejects > the diffs, a visual inspection shows that patch is already applied to the > source?) > > -ishwar Manually applying a patch will always work (vi or emacs -nw) Regards (leaving soon, really now) ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
On Fri, 13 Oct 2006, Martin Bochnig wrote: In particular not for 64bit_amd64. You will hardly be able to meet the required dependencies. I'm leaving over the weekend now, much luck with it. Well, the source compiled after LD_LIBRARY_PATH trick with correct libSDL dependency, ldd shows this too, but invocation of qemu: qemu -hda ./minix.img -m 128 -localtime -no-kqemu results in [1]+ Segmentation Fault ./qemu -hda ./minix.img -m 128 -localtime -no-kqemu and qemu-system-x86_64 ./minix.img -m 128 -localtime results in a QEMU[Stopped] window The HD image minix.img does boot correctly on a Linux machine. Also, I downloaded the SDL-1.2.11 source from opensolaris.org download page. I can't figure out how to apply the 64bit patch (patch rejects the diffs, a visual inspection shows that patch is already applied to the source?) -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: > Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > >>Trying to compile qemu on amd64 based Solaris. >> >>I do not have write permission to /usr/local subtree >> >>./configure --libdir=other-path --prefix=not-ustlocal >>is fine >>but make always generates binaries that want to find >>/usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). >> >>What is the way out for this sticky point? >> >> > >Manually add "-L/usr/local/lib -R/usr/local/lib" > Rather "-L/his/home/sdl_amd64/lib -R/his/home/sdl_amd64/lib" Because I doubt, an amd64 version of libSDL is currently present in /usr/local/lib/amd64 (and he doesn't have w access). This method is btw not really "new" to me, see my posting from a few hours ago: http://www.opensolaris.org/jive/thread.jspa?threadID=15448&tstart=0 >to the Makefile for the link >phase so it will correctly add those paths to the library lookup. If I had >a code base to look at this instance, I could tell you where. You could >also add those flags to Makefile.target in the SOLARIS specific areas, >which would probably make more sense. > >As Martin indicated, setting LD_LIBRARY_PATH may get you a running >binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. > >Ben > > > "LD_LIBRARY_PATH is the wrong answer for Solaris" ??? --->> Weak statement. It has its [dis]advantages. Namely that the paths to a library are _not_ hardwired. That's the exactly reason, why I did recommend it in this very scenario. And I would do it again for Ishwar's current needs. -M. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > Trying to compile qemu on amd64 based Solaris. > > I do not have write permission to /usr/local subtree > > ./configure --libdir=other-path --prefix=not-ustlocal > is fine > but make always generates binaries that want to find > /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). > > What is the way out for this sticky point? Manually add "-L/usr/local/lib -R/usr/local/lib" to the Makefile for the link phase so it will correctly add those paths to the library lookup. If I had a code base to look at this instance, I could tell you where. You could also add those flags to Makefile.target in the SOLARIS specific areas, which would probably make more sense. As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan <[EMAIL PROTECTED]> wrote: > > Trying to compile qemu on amd64 based Solaris. > > I do not have write permission to /usr/local subtree > > ./configure --libdir=other-path --prefix=not-ustlocal > is fine > but make always generates binaries that want to find > /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). > > What is the way out for this sticky point? Manually add "-L/usr/local/lib -R/usr/local/lib" to the Makefile for the link phase so it will correctly add those paths to the library lookup. If I had a code base to look at this instance, I could tell you where. You could also add those flags to Makefile.target in the SOLARIS specific areas, which would probably make more sense. As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: > > > On Fri, 13 Oct 2006, Martin Bochnig wrote: > >> Ishwar Rattan wrote: >> >>> >> Where is the problem 64bit versus 32bit ? >> (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version >> needed?) >> (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) > > Well, the problem is I do not root privileges so can't place libSL in > /usr/local/lib or /usr/local/lib/amd64. > > I would like to keep it in $HOME/lib and want qemu to see the lib > archive. > > I will try LD_LIBRARY_PATH option. Is to possible to have a staticly > linked version of libSDL in the qemu binaries? The short answer is NO, not on SunOS >= 5.10 . Especially not for 64bit. In particular not for 64bit_amd64. You will hardly be able to meet the required dependencies. I'm leaving over the weekend now, much luck with it. > > -ishwar > > ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
On Fri, 13 Oct 2006, Martin Bochnig wrote: Ishwar Rattan wrote: Where is the problem 64bit versus 32bit ? (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) Well, the problem is I do not root privileges so can't place libSL in /usr/local/lib or /usr/local/lib/amd64. I would like to keep it in $HOME/lib and want qemu to see the lib archive. I will try LD_LIBRARY_PATH option. Is to possible to have a staticly linked version of libSDL in the qemu binaries? -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: > > Trying to compile qemu on amd64 based Solaris. > > I do not have write permission to /usr/local subtree > > ./configure --libdir=other-path --prefix=not-ustlocal > is fine > but make always generates binaries that want to find > /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). Where is the problem 64bit versus 32bit ? (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) > > What is the way out for this sticky point? > > -ishwar > > Read ld.so.1(1) i.e. # man ld.so.1 Then: One option is to set $LD_LIBRARY_PATH (or potentially $LD_LIBRARY_PATH_64 [not required]). bash: # export LD_LIBRARY_PATH=/export/home/me/foo/mypersonallibs:$LD_LIBRARY_PATH Did you set ./configure --prefix=SomeWritableLocation ? ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] configure flag for compilation question..
Trying to compile qemu on amd64 based Solaris. I do not have write permission to /usr/local subtree ./configure --libdir=other-path --prefix=not-ustlocal is fine but make always generates binaries that want to find /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). What is the way out for this sticky point? -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel