Nikolay Molchanov wrote:
> James Cornell wrote:
>> Nikolay Molchanov wrote:
>>> Alan Coopersmith wrote:
>>>  
>>>> Nikolay Molchanov wrote:
>>>>   
>>>>> BTW, there is nothing in /usr/sfw/lib on my system. I did not 
>>>>> remove anything,
>>>>> it was left empty by the installation (it was a default 
>>>>> installation of SXDE).
>>>>>       
>>>> That's not possible.   The system wouldn't work, nor install, with
>>>> an empty /usr/sfw/lib.
>>>>
>>>>     
>>> O-ops, sorry, I meant /opt/sfw/lib :-)
>>> I added /usr/sfw/lib to LD_LIBRARY_PATH, and installed 
>>> libfreetype.so.6,
>>> so now all links are resolved:
>>>
>>> bash-3.00# ldd /opt/sfw/lib/firefox/libxul.so
>>>         libCrun.so.1 =>  /usr/lib/libCrun.so.1
>>>         libCstd.so.1 =>  /usr/lib/libCstd.so.1
>>>         libpthread.so.1 =>       /usr/lib/libpthread.so.1
>>>         libsqlite3.so =>         /opt/sfw/lib/firefox/libsqlite3.so
>>>         libmozjs.so =>   /opt/sfw/lib/firefox/libmozjs.so
>>>         libsmime3.so =>  /opt/sfw/lib/firefox/libsmime3.so
>>>         libssl3.so =>    /opt/sfw/lib/firefox/libssl3.so
>>>         libnss3.so =>    /opt/sfw/lib/firefox/libnss3.so
>>>         libnssutil3.so =>        /opt/sfw/lib/firefox/libnssutil3.so
>>>         libpangocairo-1.0.so.0 =>        
>>> /usr/lib/libpangocairo-1.0.so.0
>>>         libpangoft2-1.0.so.0 =>  /usr/lib/libpangoft2-1.0.so.0
>>>         libpango-1.0.so.0 =>     /usr/lib/libpango-1.0.so.0
>>>         libgobject-2.0.so.0 =>   /usr/lib/libgobject-2.0.so.0
>>>         libglib-2.0.so.0 =>      /usr/lib/libglib-2.0.so.0
>>>         libXrender.so.1 =>       /usr/X11/lib/libXrender.so.1
>>>         libfreetype.so.6 =>      /usr/local/lib/libfreetype.so.6
>>>         libfontconfig.so.1 =>    /usr/lib/libfontconfig.so.1
>>>         libplds4.so =>   /opt/sfw/lib/firefox/libplds4.so
>>>         libplc4.so =>    /opt/sfw/lib/firefox/libplc4.so
>>>         libnspr4.so =>   /opt/sfw/lib/firefox/libnspr4.so
>>>         libdl.so.1 =>    /usr/lib/libdl.so.1
>>>         libX11.so.4 =>   /usr/lib/libX11.so.4
>>>         libsocket.so.1 =>        /usr/lib/libsocket.so.1
>>>         libnsl.so.1 =>   /usr/lib/libnsl.so.1
>>>         libgtk-x11-2.0.so.0 =>   /usr/lib/libgtk-x11-2.0.so.0
>>>         libatk-1.0.so.0 =>       /usr/lib/libatk-1.0.so.0
>>>         libgdk-x11-2.0.so.0 =>   /usr/lib/libgdk-x11-2.0.so.0
>>>         libgdk_pixbuf-2.0.so.0 =>        
>>> /usr/lib/libgdk_pixbuf-2.0.so.0
>>>         libm.so.2 =>     /usr/lib/libm.so.2
>>>         libXt.so.4 =>    /usr/lib/libXt.so.4
>>>         libgthread-2.0.so.0 =>   /usr/lib/libgthread-2.0.so.0
>>>         libelf.so.1 =>   /usr/lib/libelf.so.1
>>>         libdemangle.so.1 =>      /usr/lib/libdemangle.so.1
>>>         libc.so.1 =>     /lib/libc.so.1
>>>         libjemalloc.so =>        /opt/sfw/lib/firefox/libjemalloc.so
>>>         libthread.so.1 =>        /lib/libthread.so.1
>>>         librt.so.1 =>    /lib/librt.so.1
>>>         libcairo.so.2 =>         /usr/lib/libcairo.so.2
>>>         libgmodule-2.0.so.0 =>   /usr/lib/libgmodule-2.0.so.0
>>>         libz.so =>       /usr/lib/libz.so
>>>         libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
>>>         libexpat.so.0 =>         /usr/sfw/lib/libexpat.so.0
>>>         libXau.so.6 =>   /usr/openwin/lib/libXau.so.6
>>>         libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
>>>         libmp.so.2 =>    /lib/libmp.so.2
>>>         libmd.so.1 =>    /lib/libmd.so.1
>>>         libscf.so.1 =>   /lib/libscf.so.1
>>>         libXfixes.so.1 =>        /usr/sfw/lib/libXfixes.so.1
>>>         libXi.so.5 =>    /usr/lib/libXi.so.5
>>>         libXrandr.so.2 =>        /usr/X11/lib/libXrandr.so.2
>>>         libmlib.so.2 =>  /usr/lib/libmlib.so.2
>>>         libSM.so.6 =>    /usr/openwin/lib/libSM.so.6
>>>         libICE.so.6 =>   /usr/openwin/lib/libICE.so.6
>>>         libpng12.so.0 =>         /usr/lib/libpng12.so.0
>>>         libuutil.so.1 =>         /lib/libuutil.so.1
>>>         libgen.so.1 =>   /lib/libgen.so.1
>>>         /usr/lib/libmlib/libmlib_sse2.so.2
>>> bash-3.00#
>>>
>>> But it still does not work:
>>>
>>> bash-3.00# /opt/sfw/bin/firefox
>>> ld.so.1: firefox-bin: fatal: relocation error: file 
>>> /opt/sfw/lib/firefox/libxul.so: symbol g_once_init_enter_impl: 
>>> referenced symbol not found
>>> Killed
>>>
>>> So, I guess the correct solution is to upgrade to a newer build.
>>>
>>> Thanks,
>>> Nik
>>>
>>>
>>>
>>> _______________________________________________
>>> desktop-discuss mailing list
>>> desktop-discuss at opensolaris.org
>>>   
>> Or deploy another workaround, build a newer glib2 and use 
>> LD_LIBRARY_PATH hack to prefer that too.
>
> Do I need to build it, or I can download it from some web site?
> I don't mind to try to build it, but if it is already built, I'd 
> prefer to download it.
>
> But I still don't understand why all links are resolved,
> but symbol "g_once_init_enter_impl" is not found.
> I thought that we have to change the version of the library, if we change
> its contents, so the binary should not link with an incompatible library.
> Like if this symbol is *not* supposed to be in libglib-2.0.so.0, but is
> supposed to be in libglib-2.0.so.1 (or whatever the "new" version is 
> called),
> the binary should not link with libglib-2.0.so.0.
>
> So, if I build a newer glib2 library,  how I install it? Just replace the
> existing  /usr/lib/libglib-2.0.so.0 ? It does not look right to me :-)
>
> Thanks,
> Nik
>
>
>
No you wouldn't replace it.  I agree with your concern, it's how things 
should be done, but it's linked against .0 and doesn't work so you're 
going to need to compile or grab the right one and put it somewhere like 
/usr/local/lib and then export 
LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"

You can put it in /opt/helloworld/lib for what it matters, just don't 
replace the original or put it somewhere in the default path where it 
can break everything by default.  This is why you'd need to manually 
export the variable.  Just keep in mind to unset it after you launch and 
background the process, or better yet make a simple .sh file to launch 
firefox3 with the same command so as to not launch pidgin or something 
that depends on glib.so.0 and have it barf.

James

Reply via email to