Danek Duvall wrote:
>> Stability classification Uncommitted for all exported interfaces.  Man
>> pages are included in the case materials directory.
> 
> Please send me those man pages, and I will put them in the case directory.


Sorry, that line came by mistake. I can using example review for my 
reference. There are no man pages for using lib. I checked on ubuntu, 
they too are not shipping any man pages with libswt.

> 
>> Exported Interfaces
>> -------------------
>>
>> /usr/lib/swt/swt.jar
>> /usr/lib/swt/swt-debug.jar
> 
> I believe that Public jar files on Solaris tend to go into /usr/share/lib,
> or a subdirectory thereof, though if this is where most other systems place
> the jar files, they should be made available here, even if only via a
> symlink.  Though I'll note that at least on ubuntu, it's in /usr/lib/java.


The original package SWT for Solaris was in SFE repository under the 
name SFEswt. This package was not getting built on opensolaris as it was 
  trying to look for /usr/dt which means files associated with CDE, 
which is no longer supported in OpenSolaris. Hence I started working on 
JDS project SUNWswt, which will get built on OpenSolaris and can be part 
of OpenSolaris repository.

About the location of files in filesystem, I have not modified anything 
in spec file to build SUNWswt apart from removing calls for CDE based 
files. so the original author of that spec file was given a green signal 
to go ahead to create a SFE spec files with whatever locations were 
chosen. Original spec file can be found at,
http://pkgbuild.svn.sourceforge.net/viewvc/pkgbuild/spec-files-extra/trunk/SFEswt.spec?revision=1223&view=markup
 





> 
>> /usr/lib/swt/libswt-pi-gtk-3349.so
>> /usr/lib/swt/libswt-gtk-3349.so
>> /usr/lib/swt/libswt-gnome-gtk-3349.so
>> /usr/lib/swt/libswt-cde-gtk-3349.so
>> /usr/lib/swt/libswt-cairo-gtk-3349.so
>> /usr/lib/swt/libswt-awt-gtk-3349.so
>> /usr/lib/swt/libswt-atk-gtk-3349.so

Please ignore the /usr/lib/swt/libswt-cde-gtk-3349.so from above list of 
files. As on OpenSolaris that file wont appear since CDE is not 
supported there.


>>
>> Since this is a shared lib, the numbers before .so don't matter.
> 
> This isn't even remotely true.  Those numbers are baked into every
> executable that links against them, so if the library names change,
> anything linked against them will break.
> 
> However, if these libraries are intended only to be dlopen()ed by the Java
> code in the SWT jar files, then as long as those classes are changed
> whenever these libraries are, there's no issue.  But then the libraries are
> Project Private, and not any form of Public.



Frankly I don't know much about shared libs. but I can tell you my 
experience. Say you have Azureus installed on your system. and I change 
the SWT lib version say from 3.3.1 to 3.3.2. This would mean that all 
the file names will change from *-3346.so to *-3349.so ... But I can 
still use Azureus without re-compiling or re-installing.

for example,

When an app requires a SWT lib (say swt-gtk), it searches for swt-gtk in 
  swt.library.path, java.library.path or the jar file .. I have copy 
pasted how it looks on console in case you remove the SWT lib...

Exception in thread "main" java.lang.UnsatisfiedLinkError: no 
swt-gtk-3346 or swt-gtk in swt.library.path, java.library.path or the 
jar file
at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)



> 
>> Imported Interfaces (Following are the dependacies while compiling the SWT,
>> they are not require to use SWT, one can install pre-compiled SWT without
>> these packages)
>> -------------------
>>  SUNWcairomm
>>  SUNWpng
>>  SUNWxwinc
>>  SUNWgnome-common-devel
> 
> The build-time dependencies are (mostly) uninteresting here.  We do care
> about the libraries that you're linking against.  I would expect that
> libswt-atk-gtk-3349.so likely links against one or more gtk libraries and
> the atk library, and will require all of those to be present on the system
> at run-time.  The others probably have similar dependencies.
> 
> Danek


SWT is doesnt require java to run, however it does require following things,


libswt-atk-gtk-3349.so:
Requires -  libatk-1.0.so.0
             libgtk-x11-2.0.so.0

libswt-cairo-gtk-3349.so:
Requires -    libcairo.so.2

libswt-cde-gtk-3349.so:
Requires -       libXt.so.4
                  libX11.so.4
                  libDtSvc.so.1

libswt-gnome-gtk-3349.so:
Requires -              libgnomevfs-2.so.0
                         libgnome-2.so.0
                         libgnomeui-2.so.0

libswt-pi-gtk-3349.so:
Requires -           libgtk-x11-2.0.so.0
                      libgthread-2.0.so.0
                      libXtst.so.1

rest of the .so files don't show any dependencies.

PS: sorry for all the trouble, I am very new to this work.

--Harshal

Reply via email to