Okay, I can now Import XML files. If I have any more problems, I'll
report them. Below, you will find the solution and some guesses about
the cause of the problem.
Solution:
Short Version:
Install a 32 bit version of libstdc++.so.5 into a place Mathematica's
XML.exe will find it.
Long Version:
If you have a totally/mostly 64-bit system, you *will not have* a 32
bit copy of libstdc++.so.5. This is the case with Gentoo on the amd64
arch (Gentoo's identifier for a version of the source code control
system that corresponds to all the sources available for automatic
install for the AMD Athlon 64 and the similar 64 bit chips from
Intel). On Gentoo, one solution is to install a 32 bit chroot and
symbolically link its 32 bit version of the libstdc++.so.5 library
into /lib32/ of the 64 bit host system. This is not as hard as it
sounds. Full instructions for installing the 32 bit chroot are
available here:
http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=2
After you're done with the install of the chroot, reboot into your
main 64 bit system and execute the following command as root:
ln -s /mnt/gentoo32/usr/lib/libstdc++-v3/libstdc++.so.5 /lib32/
Everything should now work.
If, for some reason, the libstdc++ files do not exist inside the
chroot, switch into the chroot as explained in the guide and emerge
the following package to install them:
sys-libs/libstdc++-v3
There may be an easier way to do all of this. If so, please let me know.
If you try this, please let me know how it went because I wrote some
of it from memory.
Guess about the problem cause:
One of the WRI developers said that 64 bit MathLink was unstable at
the time WRI shipped Mathematica 5.2. I am guessing that even though
the Kernel is 64 bit in 5.2, all the communications between programs
is done with 32 bit addressing. I guess this means the Kernel only
calls the programs in the Linux (instead of Linux-x86-64) subdirectory
of the Converters folder of the Mathematica install. These are 32 bit
programs which require 32 bit versions of libraries like libstdc++.
On 9/19/06, Rolf.Mertig at gmail.com <Rolf.Mertig at gmail.com> wrote:
> ------------------------------------------------------------------------------------------------------------------------
> rolfm@gluon$ uname -a ;math <<<
> '{$Version,Import["web.xml"]//LeafCount}'
> Linux gluon 2.6.16.13-4-default #1 Wed May 3 04:53:23 UTC 2006 x86_64
> x86_64 x86_64 GNU/Linux
> Mathematica 5.2 for Linux x86 (64 bit)
> Copyright 1988-2005 Wolfram Research, Inc.
> -- Motif graphics initialized --
>
> In[1]:=
> Out[1]= {5.2 for Linux x86 (64 bit) (June 20, 2005), 441}
> ------------------------------------------------------------------------------------------------------------------------
>
> i.e., it works perfectly fine for me on my Opteron system with a recent
> SUSE-Linux-distribution. In /usr/lib/ and /usr/lib64 libstdc++.so
> symlinks to
> libstdc++.so.6.0.8, and libstdc++.so.5 symlinks to libstdc++.so.5.0.7
>
> It is rather easy to mess up a mixed 32bit/64bit system. I've once done
> this and
> had to reinstall from scratch, then things do work.
>
> Rolf
> -------------------------------------------
> GluonVision GmbH
> http://www.gluonvision.com
> --------------------------------------------
>
>
> Chris Chiasson wrote:
> > If you have a version of Mathematica with 64 bit in the version
> > string, such as mine,
> > "5.2 for Linux x86 (64 bit (June 20, 2005)"
> >
> > please locate any XML file on your system and try to import it using
> > the Mathematica Import command (here's my try):
> >
> > In[1]:= a=Import["/var/www/test.chris/website-build.xml"]
> >
> > /usr/local/Wolfram/Mathematica/5.2/SystemFiles/Converters/Binaries/Linux-x86-64/XML.exe:
> > error while loading shared libraries: libstdc++.so.5: cannot open
> > shared object file: No such file or directory
> >
> > LinkOpen::linke:
> > MathLink error: the launch failed because the program could not be found
> >
> > In[2]:=
> >
> > Will you please post the output?
> >
> > If you don't get my error, could you please see if you have the 32-bit
> > version of that library, libstdc++.so.5?
> >
> > By the way, it *may be important* to run the front end/console on a 64
> > bit machine, instead of running, say, the front end on 32 bit windows
> > and the kernel on the 64 bit machine.
> >
> > Thank you (and sorry if this turns out to be nothing),
> >
> > --
> > http://chris.chiasson.name/
>
>
--
http://chris.chiasson.name/