Please keep this thread on the newsgroup.
Ashwani Saxena wrote:
Rich,
You were correct, earlier the c-SDK was built using using -g but -O2
option using GNU GCC compiler. Today i build the same using both -g
and -O2 options, built my program referring updated c-SDK libraries
and tested SSL communictation.
As a result it failed again and created the core dump. While analyzing
core file like earlier it didnt give much info. GNU GDB backtrace same
as i sent earlier.
Here I have few points where I required bit clarification.
1. Can I remove the dependency of libatomic.so file from
"mozilla\directory\c-sdk\config\autoconfig.mk <http://autoconfig.mk>"
file?
I don't know. I'm not sure why it is there.
2. If I remove the dependency, does it affect in anyway?
I don't know.
BY default autoconf.mk <http://autoconf.mk> file has following line of
code:
/ULTRASPARC_FILTER_LIBRARY = libatomic.so
DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@) -f
$(ULTRASPARC_FILTER_LIBRARY)/
I made 2 changes it to below mentioned line to remove libatomic.so
dependency and facilitating to building all c-sdk ldap libraries.
a) Added -L in $(notdir $@ as it was not there earlier. Without it
caused error.
b) Removed "-f $(ULTRASPARC_FILTER_LIBRARY)" from line.
DSO_LDOPTS = -shared -Wl,-soname -Wl,-L$(notdir $@)
3. upgrage to Sun Forte comipler on Solaris.
a) Is Sun Forte compiler is freeware?
I'll let someone from Sun answer that question. It is free to use, I
don't know if there are any restrictions on use in commercial products,
or any restrictions on redistribution/sale of products built using it.
b) Which version of Sun Forte C/C++ compiler is recommended to build
Mozilla LDAP c-SDK (6.0.3)?
Whatever the latest version is.
c) Does Sun Forte compiler also provides ar, ld, ranlib and other
required dependencies required to build c-SDK.
Those either come with the operating system itself (/usr/bin/ccs?
/usr/lib/ccs? it's been a long time since I did anything with Solaris)
or are provided with the compiler.
4. If I build c-SDK on Solaris 8, would that also be supported on
further releases i.e. Solaris 9, Solaris 10, etc.
I don't know.
Regards,
Ashwani Saxena
On Tue, Feb 23, 2010 at 10:50 PM, Rich Megginson
<[email protected] <mailto:[email protected]>> wrote:
Ashwani Saxena wrote:
Rich,
Please find the comments below.
On Mon, Feb 22, 2010 at 9:54 PM, Rich Megginson
<[email protected] <mailto:[email protected]>> wrote:
Ashwani Saxena wrote:
Rich,
Thanks a lot for your quick response.
BTW I was able to build c-sdk on both SOLARIS (sparc)
9 and 10 finally :)
After a long research i found that It requires
libatomic.so to be
available in order to build c-sdk on SOLARIS.
As claimed on WEB
link?
[ASH]
http://www.mozilla.org/projects/nspr/release-notes/nspr35.html
wow - those instructions are dated 1999.
that libatomic.so file is part of NSPR but i dont
see such file after i compiler NSS as NSPR.
Fortunetely I had iplanet
server installed in the same machine and they provide
this file. I
placed the same file in required location and was able
to build c-LDAP
sdk.
Do you know which package provides libatomic.so? I
believe you can use
the
pkgchk command.
[ASH] I ran pkgchk but it didnt give any information about
this file. I have
copied this file from installation directory of iplant server.
How do I find out if package pkgname is installed?
pkginfo pkgname
or
pkginfo | grep pkgname
How do I list all of the files/directories provided by a package?
pkgchk -v pkgname e.g.
pkgchk -v SUNWfoo
How do I find out which package provides a file/directory?
pkgchk -l -p /path/to/fileordirectory e.g.
pkgchk -l -p /usr/lib/sparcv9/libfoo.so
I am using GUN GCC 3.4, Make 3.81 as per the
prerequisite mentioned in
http://www.mozilla.org/directory/csdk.html, not the
one provided by
Solaris.
That page has moved to https://wiki.mozilla.org/LDAP_C_SDK
[ASH] even in this page under "Obtaining Build Tools and
Setting Up Your
Environment" section for SOLARIS it says using GCC (instead of
the Sun/Forte
compiler).....
I guess it's not very clear that the section is "Solaris using GCC
(instead of the Sun/Forte compiler) "
I guess it should say "You are strongly encouraged to download and
use the free Forte compilers from Sun - however, if you are truly
committed to using GCC, you can if you are willing to jump through
several hoops"
GNU make is definitely a pre-requisite. GNU GCC is not.
I'm glad you got
it to work, but I'm curious as to where and how
libatomic.so is used, and
where it comes from.
[ASH] This library was required to build
c-SDK->ldap->libraries (e.g
libldif, libssldap, etc....).
Once i ran command "CC=gcc CCC=g++ ./configure --with-nss"
from c-sdk, it
created autoconf.mk <http://autoconf.mk> file under config
folder and other required Makefile.
After that i ran "make" command from c-sdk folder to create
c-SDK library
files.
Initilally it failed with following error:
ERROR:
/export/home/users/ashwani/mozldap-6.0.3/mozilla/directory/c-sdk/ldap/libraries/libldif
gcc -shared -Wl,-soname -Wl,libldif60.so -f libatomic.so
-o libldif60.so
./line64.o
ld: warning: option -o appears more than once, first setting taken
ld: fatal: file libldif60.so: unknown file type
ld: fatal: File processing errors. No output written to
libldif60.so
In order to fix this problem i made the following changes in
c-sdk->config->
autoconf.mk <http://autoconf.mk> file.
Change From :
DSO_LDOPTS = -shared -Wl,-soname -Wl,$(notdir $@) -f
$(ULTRASPARC_FILTER_LIBRARY)
Change To:
DSO_LDOPTS = -shared -Wl,-soname -Wl,-L$(notdir $@) -f
/usr/local/lib/$(ULTRASPARC_FILTER_LIBRARY)
Where "ULTRASPARC_FILTER_LIBRARY" set to "libatomic.so" by
default. I added
"-L" before "$(notdir $@) " to avoid other errors. (Not sure
whether thats
correct or not.)
BUT atfer making all these changes i was able to build c-SDK
libraries.
NOW while testing LDAP connections i am able to test NON SSL
connections
successfully whereas while testing SSL connections, i get core
dump created.
There is no issue in codebase.
While debugging using GDB, i got the
CORE DUMP ERROR:
Program terminated with signal 11, Segmentation fault.
[New process 90516 ]
#0 0xff24278c in ?? () from ./libssldap60.so
(gdb)
Ok. Did you compile with with -g and not -O2? This stack trace
is not very helpful.
And it may be a lost cause. Even though you have been successful
in compiling everything with gcc, there may still be runtime
problems such as this and others which can be avoided by using the
Sun Forte compilers.
Build Instruction for Solaris also same with minor
config changes
required to consider libatomic.so file. If every
dependency is in its
place then build instructions as same.
BUILD_ INSTRUCTIONS:
----------------------------
cd mozilla/security/nss
make nss_build_all
This (make nss_build_all) will also build nspr and
other dependent
modules.
cd mozilla/directory/c-sdk
./configure --with-nss [--enable-64bit]
make
Regards,
Ashwani Saxena
On Mon, Feb 22, 2010 at 9:17 PM, Rich Megginson
<[email protected]
<mailto:[email protected]>> wrote:
ashwani saxena wrote:
Hi Rich,
This is with reference to :
http://www.mail-archive.com/[email protected]/msg00325.html
I am trying building Mozilla LDAP c-sdk
(6.0.3) on Solaris 9.
I got the source code from following FTP
locations.
NSPR - 4.7.0.0 <http://4.7.0.0>:
ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v4.7/src/nspr-4.7.tar.gz
NSS – 3.12.0.0 <http://3.12.0.0>:
ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_RTM/src/nss
-3.12.tar.gz
C-SDK – 6.0.3:
ftp://ftp.mozilla.org/pub/mozilla.org/directory/c-sdk/releases/v6.0.3/src/mozlda
p-6.0.3.tar.gz
While building LDAP c-sdk, Initially I got the
error (ld: fatal:
Symbol referencing errors. No output written
to libldif60.so) that I
was able to resolve.
Now I got the following error: (gcc:
libatomic.so: No such file or
directory)
I goggled and found out the this library is
part of NSPR but even
though I was able to build NSPR, NSS
successfully but I didn’t find
this file.
Please let me know how to resolve this issue.
Please use the latest released versions of nspr,
nss, and mozldap.
You are using gcc? What version of gcc? What
build instructions are
you
following to build nspr and nss? I don't know how
to build on Solaris
using
gcc. Ever since Sun released their compilers for
free, I haven't even
tried
using gcc.
Regards,
Ashwani Saxena
--
Warm Regards,
Ashwani Saxena
+91 9886076920
_______________________________________________
dev-tech-ldap mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-ldap