Hello, I installed 9.3 on my Compaq Presario laptop just a couple of days ago. I did a clean install because I had 9.2 and the upgrade was too picky about packages I had installed from apt-get. I have a couple of really esoteric questions which I think only gurus can answer. (1) Per Andreas Yaeger of SuSE, Firefox has been compiled as a 32-bit application (I installed the one that came on the SuSE 9.3 DVD). However, I observed that it can invoke 64-bit plugins (such as Acrobat and MPlayer) just fine! I even used 'strace' to make sure the plugins made calls to 64-bit libraries. How come, then, and a 32-bit Firefox can invoke 64-bit plugins, but a 64-bit plugin cannot invoke 32-bit plugins? (Currently, only a 64-bit konqueror can invoke 32-bit plugins.) (2) aRTS and artsdsp (both presumably 64-bit) seem to handle 64-bit programs fine. However, 32-bit programs like skype (www.skype.com --distributed as a 32-bit binary) and flash player seem to want to monopolize the sound card (skype is still not aRTS-compatible, even on 32-bit systems, but on a 32-bit system 'artsdsp skype' puts a"wrapper" around skype and routes its sound transactions through the aRTS sound server, so it shares the sound card). 64-bit programs seem to work fine in this respect, e.g. I can hear the sound output from my MPlayer (compiled from source as 64-bit) and amarok at the same time. My suspicion is that that artsdsp is 64-bits and cannot handle the 32-bit skype properly for some reason. (If I try to place a call via skype after amarok started playing, I get the error '/dsp/dsp-1: Device or resource busy' and if a fire up amarok after bringing up skype --even via 'artsdsp skype'-- amarok does not play until I shut down skype.) However, artsdsp does not send any error output to the terminal nor does it send any output to '/var/log/messages'. So, is there any way to make aRTS and artsdsp properly handle 32-bit programs? Is there any way to make 32-bit applications share the sound card with 64-bit applications?
Constantine 'Gus' Fantanas <fantanas@innocent.com> writes:
Hello,
I installed 9.3 on my Compaq Presario laptop just a couple of days ago. I did a clean install because I had 9.2 and the upgrade was too picky about packages I had installed from apt-get. I have a couple of really esoteric questions which I think only gurus can answer.
(1) Per Andreas Yaeger of SuSE, Firefox has been compiled as a 32-bit application (I installed the one that came on the SuSE 9.3 DVD). However, I observed that it can invoke 64-bit plugins (such as Acrobat
Acrobat Reader is a 32-bit application.
and MPlayer) just fine! I even used 'strace' to make sure the plugins made calls to 64-bit libraries. How come, then, and a 32-bit Firefox can invoke 64-bit plugins, but a 64-bit plugin cannot invoke 32-bit plugins? (Currently, only a 64-bit konqueror can invoke 32-bit plugins.)
(2) aRTS and artsdsp (both presumably 64-bit) seem to handle 64-bit programs fine. However, 32-bit programs like skype (www.skype.com --distributed as a 32-bit binary) and flash player seem to want to monopolize the sound card (skype is still not aRTS-compatible, even on
That's not a 32-bit problem but a problem of skype, the same should happen on 32-bits systems as well, Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SUSE Linux Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Andreas, Thank you for your prompt response. My responses to your statements follow: Andreas Jaeger wrote:
Constantine 'Gus' Fantanas <fantanas@innocent.com> writes:
Hello,
I installed 9.3 on my Compaq Presario laptop just a couple of days ago. I did a clean install because I had 9.2 and the upgrade was too picky about packages I had installed from apt-get. I have a couple of really esoteric questions which I think only gurus can answer.
(1) Per Andreas Yaeger of SuSE, Firefox has been compiled as a 32-bit application (I installed the one that came on the SuSE 9.3 DVD). However, I observed that it can invoke 64-bit plugins (such as Acrobat
Acrobat Reader is a 32-bit application.
If Acrobat Reader is a 32-bit application, then how does Mozilla open it?(I just verified it does!) Isn't mozilla compiled as 64-bits in SuSE 9.3? Furthermore, take a look at part of the 'strace' out below: ----------------------------------------------------------------- gus@presario:~> strace acroread execve("/usr/X11R6/bin/acroread", ["acroread"], [/* 84 vars */]) = 0 uname({sys="Linux", node="presario", ...}) = 0 brk(0) = 0x592000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaac1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=170278, ...}) = 0 mmap(NULL, 170278, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac2000 close(3) = 0 open("/lib64/libreadline.so.5", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240.\1\0"..., 640) = 640 ... --------------------------------------------------------------------- Why does it refer to .../lib64/... ? The full output of 'strace' makes several such references.
and MPlayer) just fine! I even used 'strace' to make sure the plugins made calls to 64-bit libraries. How come, then, and a 32-bit Firefox can invoke 64-bit plugins, but a 64-bit plugin cannot invoke 32-bit plugins? (Currently, only a 64-bit konqueror can invoke 32-bit plugins.)
(2) aRTS and artsdsp (both presumably 64-bit) seem to handle 64-bit programs fine. However, 32-bit programs like skype (www.skype.com --distributed as a 32-bit binary) and flash player seem to want to monopolize the sound card (skype is still not aRTS-compatible, even on
That's not a 32-bit problem but a problem of skype, the same should happen on 32-bits systems as well,
--It does not happen on 32-bit systems. I know because I have another computer which runs 32-bit SuSE 9.3.
Andreas
On Wednesday 25 May 2005 11:44, Constantine 'Gus' Fantanas wrote:
9.3? Furthermore, take a look at part of the 'strace' out below:
----------------------------------------------------------------- gus@presario:~> strace acroread execve("/usr/X11R6/bin/acroread", ["acroread"], [/* 84 vars */]) = 0 uname({sys="Linux", node="presario", ...}) = 0 brk(0) = 0x592000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaac1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=170278, ...}) = 0 mmap(NULL, 170278, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac2000 close(3) = 0 open("/lib64/libreadline.so.5", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240.\1\0"..., 640) = 640
/usr/X11R6/bin/acroread is just a shell script that starts the real acroread in /usr/X11R6/lib/Acrobat7/Reader/intellinux/bin/acroread. This shell script is a 64 bit application (bash ;-). As it links to libreadline, you can guess that it must be a GPL'd program. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://www.jwdt.com/~paysan/
Bernd Paysan wrote:
On Wednesday 25 May 2005 11:44, Constantine 'Gus' Fantanas wrote:
9.3? Furthermore, take a look at part of the 'strace' out below:
----------------------------------------------------------------- gus@presario:~> strace acroread execve("/usr/X11R6/bin/acroread", ["acroread"], [/* 84 vars */]) = 0 uname({sys="Linux", node="presario", ...}) = 0 brk(0) = 0x592000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaaaac1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=170278, ...}) = 0 mmap(NULL, 170278, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2aaaaaac2000 close(3) = 0 open("/lib64/libreadline.so.5", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240.\1\0"..., 640) = 640
/usr/X11R6/bin/acroread is just a shell script that starts the real acroread in /usr/X11R6/lib/Acrobat7/Reader/intellinux/bin/acroread. This shell script is a 64 bit application (bash ;-). As it links to libreadline, you can guess that it must be a GPL'd program.
--OK. What I cannot understand, then, is how can the 64-bit Mozilla successfully open the 32-bit acrobat? This is not supposed to happen, yet it does! Or is Mozilla (not Firefox) also compiled as 32 bit? So, can I write a 64-bit (bash) script which then invokes a 32-bit plugin, the end result being, say, 64-bit Mozilla invoking the 32-bit plugin via the script? It can't be that simple; otherwise 64=bit Mozilla would be able to play flash animations (Macromedia refuses to offer their closed source flash player in 64-bit form).
On Wed, May 25, 2005 at 06:10:27AM -0600, Constantine 'Gus' Fantanas wrote:
--OK. What I cannot understand, then, is how can the 64-bit Mozilla successfully open the 32-bit acrobat? This is not supposed to happen, yet it does! Or is Mozilla (not Firefox) also compiled as 32 bit? So, can I write a 64-bit (bash) script which then invokes a 32-bit plugin, the end result being, say, 64-bit Mozilla invoking the 32-bit plugin via the script? It can't be that simple; otherwise 64=bit Mozilla would be able to play flash animations (Macromedia refuses to offer their closed source flash player in 64-bit form).
It seems that there is some confusion in this thread about plugins and separate processes. About processes: You can start 32 bit processes from 64 bit processes and vice versa. About plugins: You cannot load additional code (plugins) into a running process if they don't fit, i.e. you can neither load 32 bit code into a 64 bit process, nor can you load 64 bit code into a 32 bit process. About Mozilla: A 64 bit mozilla cannot load 32 bit plugins but it can load a separate 32 bit acroread process. And it does not matter at all whether /usr/bin/acroread is a bash script or a binary. Robert -- Robert Schiele Tel.: +49-621-181-2214 Dipl.-Wirtsch.informatiker mailto:rschiele@uni-mannheim.de
participants (4)
-
Andreas Jaeger
-
Bernd Paysan
-
Constantine 'Gus' Fantanas
-
Robert Schiele