Comment 1 for bug 360955

Revision history for this message
Rob (rob1weld) wrote :

Much faster than rebuilding libxml2 is this hack!

A workaround (or "fix" if you do not hate the idea):

1. Boot OpenSolaris, since Nexenta is using snv_104 (uname says "NexentaOS_20081207")
   Try to choose a version of OpenSolaris equal or close to version snv_104. I used snv_106.
2. Tar.gz the OpenSolaris libs .
3. Transfer the tar.gz file to your Nexenta machine.
4. On Nexenta create /opt/sfw/libs and untar the files there.
5. Type "export set LD_LIBRARY_PATH=/opt/sfw/lib".

Result:

# ldd /usr/share/lg3d/usr/share/lg3d/lib/solaris-i86pc/lg3d-x11/programs/Xserver/Xvfb
 libsocket.so.1 => /opt/sfw/lib/32/libsocket.so.1
 libnsl.so.1 => /opt/sfw/lib/32/libnsl.so.1
 libfreetype.so.6 => /usr/lib/libfreetype.so.6
 libz.so.1 => /opt/sfw/lib/32/libz.so.1
 libm.so.2 => /opt/sfw/lib/32/libm.so.2
 libXau.so.6 => /usr/lib/libXau.so.6
 libXau.so.6 (SUNW_1.1) => (version not found)
 libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
 libXdmcp.so.6 (SUNW_1.1) => (version not found)
 libproject.so.1 => /usr/lib/libproject.so.1
 libc.so.1 => /opt/sfw/lib/32/libc.so.1
 libmp.so.2 => /opt/sfw/lib/32/libmp.so.2
 libmd.so.1 => /opt/sfw/lib/32/libmd.so.1
 libscf.so.1 => /opt/sfw/lib/32/libscf.so.1
 libgcc_s.so.1 => /lib/libgcc_s.so.1
 libsecdb.so.1 => /opt/sfw/lib/32/libsecdb.so.1
 libproc.so.1 => /opt/sfw/lib/32/libproc.so.1
 libpool.so.1 => /usr/lib/libpool.so.1
 libuutil.so.1 => /opt/sfw/lib/32/libuutil.so.1
 libgen.so.1 => /opt/sfw/lib/32/libgen.so.1
 librtld_db.so.1 => /opt/sfw/lib/32/librtld_db.so.1
 libelf.so.1 => /opt/sfw/lib/32/libelf.so.1
 libctf.so.1 => /opt/sfw/lib/32/libctf.so.1
 libxml2.so.2 => /opt/sfw/lib/32/libxml2.so.2
 libnvpair.so.1 => /opt/sfw/lib/32/libnvpair.so.1
 libexacct.so.1 => /usr/lib/libexacct.so.1
 libpthread.so.1 => /opt/sfw/lib/32/libpthread.so.1

Notice the difference:
- libz.so.1 => /usr/lib/libz.so.1
- libz.so.1 (SUNW_1.1) => (version not found)
+ libz.so.1 => /opt/sfw/lib/32/libz.so.1
- libxml2.so.2 => /usr/lib/libxml2.so.2
- libxml2.so.2 (SUNW_1.3) => (version not found)
+ libxml2.so.2 => /opt/sfw/lib/32/libxml2.so.2

I missed tar-ing libXau.so.6 (SUNW_1.1) and libXdmcp.so.6 (SUNW_1.1) so I will
have to go back and get them. It looks like I am closer to getting this working.

I am able to start Firefox 3.0.5 to type this message and Nexenta seems to
work fine with this hack. Maybe this is a good idea, it did not seem that way
up until a minute ago ... If this did not work I'd expect a Kernel Panic.

Rob