Closed
Bug 1721
Opened 26 years ago
Closed 12 years ago
Can't compile/link with dynamic libs on AIX
Categories
(Directory :: PerLDAP, defect, P5)
Tracking
(Not tracked)
RESOLVED
INCOMPLETE
People
(Reporter: leif, Assigned: leif)
Details
I have downloaded the Netscape LDAP development libs from Netscape's
site that are specific to my version of AIX... I ran the 'perl
Makefile.PL' script per the
instructions in the README file and then ran a make. What I got:
me@mybox$ make
LD_RUN_PATH="" ld -o ./blib/arch/auto/Mozilla/LDAP/API/API.so
-H512 -T5
12 -bhalt:4 -bM:SRE
-bI:/usr/local/products/perl/lib/aix/5.00404/CORE/perl.exp -
bE:API.exp -b noentry -lc -L/usr/local/lib API.o
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free_len
[and about 70 more of these]
I've reinstalled at least 3 times and have checked and rechecked all the
relevant
binaries and include headers and so forth: no go.
Has anyone else had similar problems?
--
Patrick Lewis
College of William & Mary, IT Engineering
ptlew1@mail.wm.edu
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 1•26 years ago
|
||
More from Patrick:
Hi,
Yeah, I thought it was odd that it didn't add those parameters
in there. I did run perl Makefile.PL as instructed,
and I am running PERL 5.004_04.
One definite problem with AIX is that it doesn't seem to like
dynamically-linked libraries. The LDAP libraries
make extensive use of these.
The log you requested:
Script started on Thu Dec 3 09:02:22 1998
web@warthog$ perl Makefile.PL
PerLDAP - Perl 5 Module for LDAP
================================
Directory containing 'include' and 'lib' directory of the Netscape
LDAP Software Developer Kit (default: /usr): /usr/local/products/ldapsdk
Using LDAPv3 Developer Kit (default: yes)? yes
Include SSL Support (default: yes)? yes
Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lldapssl30
Writing Makefile for Mozilla::LDAP::API
web@warthog$ ls /usr/local/products/ldapsdk/lib
libldapssl30.so*
web@warthog$ make
mkdir ./blib
mkdir ./blib/lib
mkdir ./blib/lib/Mozilla
mkdir ./blib/lib/Mozilla/LDAP
cp Conn.pm ./blib/lib/Mozilla/LDAP/Conn.pm
cp LDIF.pm ./blib/lib/Mozilla/LDAP/LDIF.pm
cp Utils.pm ./blib/lib/Mozilla/LDAP/Utils.pm
cp API.pm ./blib/lib/Mozilla/LDAP/API.pm
AutoSplitting Mozilla::LDAP::API (./blib/lib/auto/Mozilla/LDAP/API)
cp Entry.pm ./blib/lib/Mozilla/LDAP/Entry.pm
/usr/bin/perl "-I/usr/local/products/perl/lib/aix/5.00404"
"-I/usr/local/products/perl/lib" -e 'use ExtUtils::Mksymlists;
Mksymlists("NAME" => "Mozilla::
LDAP::API", "DL_FUNCS" => { }, "DL_VARS" => []);'
/usr/bin/perl -I/usr/local/products/perl/lib/aix/5.00404
-I/usr/local/products/perl/lib
/usr/local/products/perl/lib/ExtUtils/xsubpp -typemap
/usr/local/products/perl/lib/ExtUtils/typemap -typemap typemap API.xs >API.tc &&
mv API.tc API.c
gcc -c -I/usr/local/products/ldapsdk/include -qmaxmem=8192 -D_ALL_SOURCE
-D_ANSI_C_SOURCE
-D_POSIX_SOURCE -I/usr/local/include -O -DVERSION=\"1.00\"
-DXS_VERSION=\"1.00\" -fpic
-I/usr/local/products/perl/lib/aix/5.00404/CORE -DUSE_SSL API.c
gcc: unrecognized option `-qmaxmem=8192'
mkdir ./blib/arch
mkdir ./blib/arch/auto
mkdir ./blib/arch/auto/Mozilla
mkdir ./blib/arch/auto/Mozilla/LDAP
mkdir ./blib/arch/auto/Mozilla/LDAP/API
Running Mkbootstrap for Mozilla::LDAP::API ()
chmod 644 API.bs
LD_RUN_PATH="" ld -o ./blib/arch/auto/Mozilla/LDAP/API/API.so -H512
-T512 -bhalt:4
-bM:SRE -bI:/usr/local/products/perl/lib/aix/5.00404/CORE/perl.exp -bE:API.exp
-b noentry -lc
-L/usr/local/lib API.o
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_abandon
ld: 0711-317 ERROR: Undefined symbol: .ldap_add
ld: 0711-317 ERROR: Undefined symbol: .ldap_mods_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_add_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_ber_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_count_entries
ld: 0711-317 ERROR: Undefined symbol: .ldap_create_filter
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_dn2ufn
ld: 0711-317 ERROR: Undefined symbol: .ldap_err2string
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_dn
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_rdn
ld: 0711-317 ERROR: Undefined symbol: .ldap_first_attribute
ld: 0711-317 ERROR: Undefined symbol: .ldap_memfree
ld: 0711-317 ERROR: Undefined symbol: .ldap_first_entry
ld: 0711-317 ERROR: Undefined symbol: .ldap_free_friendlymap
ld: 0711-317 ERROR: Undefined symbol: .ldap_free_urldesc
ld: 0711-317 ERROR: Undefined symbol: .ldap_friendly_name
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_dn
ld: 0711-317 ERROR: Undefined symbol: .ldap_getfilter_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_getfirstfilter
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_lderrno
ld: 0711-317 ERROR: Undefined symbol: .ldap_getnextfilter
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_option
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_values
ld: 0711-317 ERROR: Undefined symbol: .ldap_get_values_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_init
ld: 0711-317 ERROR: Undefined symbol: .ldap_init_getfilter
ld: 0711-317 ERROR: Undefined symbol: .ldap_init_getfilter_buf
ld: 0711-317 ERROR: Undefined symbol: .ldap_is_ldap_url
ld: 0711-317 ERROR: Undefined symbol: .ldap_modify
ld: 0711-317 ERROR: Undefined symbol: .ldap_modify_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_modrdn
ld: 0711-317 ERROR: Undefined symbol: .ldap_modrdn_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_modrdn2
ld: 0711-317 ERROR: Undefined symbol: .ldap_modrdn2_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_msgfree
ld: 0711-317 ERROR: Undefined symbol: .ldap_msgid
ld: 0711-317 ERROR: Undefined symbol: .ldap_msgtype
ld: 0711-317 ERROR: Undefined symbol: .ldap_multisort_entries
ld: 0711-317 ERROR: Undefined symbol: .ldap_next_attribute
ld: 0711-317 ERROR: Undefined symbol: .ldap_next_entry
ld: 0711-317 ERROR: Undefined symbol: .ldap_perror
ld: 0711-317 ERROR: Undefined symbol: .ldap_result
ld: 0711-317 ERROR: Undefined symbol: .ldap_result2error
ld: 0711-317 ERROR: Undefined symbol: .ldap_search
ld: 0711-317 ERROR: Undefined symbol: .ldap_search_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_search_st
ld: 0711-317 ERROR: Undefined symbol: .ldap_set_filter_additions
ld: 0711-317 ERROR: Undefined symbol: .ldap_set_lderrno
ld: 0711-317 ERROR: Undefined symbol: .ldap_set_option
ld: 0711-317 ERROR: Undefined symbol: .ldap_set_rebind_proc
ld: 0711-317 ERROR: Undefined symbol: .ldap_simple_bind
ld: 0711-317 ERROR: Undefined symbol: .ldap_simple_bind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_sort_entries
ld: 0711-317 ERROR: Undefined symbol: .ldap_unbind
ld: 0711-317 ERROR: Undefined symbol: .ldap_unbind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_url_parse
ld: 0711-317 ERROR: Undefined symbol: .ldap_url_search
ld: 0711-317 ERROR: Undefined symbol: .ldap_url_search_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_url_search_st
ld: 0711-317 ERROR: Undefined symbol: .ldap_version
ld: 0711-317 ERROR: Undefined symbol: .ldapssl_client_init
ld: 0711-317 ERROR: Undefined symbol: .ldapssl_init
ld: 0711-317 ERROR: Undefined symbol: .ldapssl_install_routines
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: The error code from the last command is 8.
Stop.
web@warthog$ exit
script done on Thu Dec 3 09:03:58 1998
Assignee | ||
Updated•26 years ago
|
Priority: P2 → P3
Clearing "M" field since Directory product is not used for 5.0 specific project
bug metrics and will mess up our queries on milestones.
Assignee | ||
Comment 4•26 years ago
|
||
From: matts@us.ibm.com
Leif,
I was working on getting Perldap installed on aix 4.3.2 and was having
difficulty with the make. When checking on the bugs for Perldap someone else
had the same problem back in december and opened a bug report on Perldap, which
in turn shows that it has be reassigned to you. Basically the problem is that
the ldapssl30.so library seems to not be loaded so when linking against it you
get a bunch of messages like:
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_abandon
ld: 0711-317 ERROR: Undefined symbol: .ldap_add
ld: 0711-317 ERROR: Undefined symbol: .ldap_mods_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_add_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_ber_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_count_entries
ld: 0711-317 ERROR: Undefined symbol: .ldap_create_filter
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_dn2ufn
ld: 0711-317 ERROR: Undefined symbol: .ldap_err2string
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_dn
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_rdn
Has there been any progress on this bug. We are really interested in using the
LDAP SDK but need to get passed this problem quickly.
Thanks,
Matt Stokes
Software Engineer
CLPD, MCP
Assignee | ||
Comment 5•26 years ago
|
||
From: matts@us.ibm.com
Leif,
I was working on getting Perldap installed on aix 4.3.2 and was having
difficulty with the make. When checking on the bugs for Perldap someone else
had the same problem back in december and opened a bug report on Perldap, which
in turn shows that it has be reassigned to you. Basically the problem is that
the ldapssl30.so library seems to not be loaded so when linking against it you
get a bunch of messages like:
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_value_free_len
ld: 0711-317 ERROR: Undefined symbol: .ldap_abandon
ld: 0711-317 ERROR: Undefined symbol: .ldap_add
ld: 0711-317 ERROR: Undefined symbol: .ldap_mods_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_add_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_ber_free
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind
ld: 0711-317 ERROR: Undefined symbol: .ldap_bind_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare
ld: 0711-317 ERROR: Undefined symbol: .ldap_compare_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_count_entries
ld: 0711-317 ERROR: Undefined symbol: .ldap_create_filter
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete
ld: 0711-317 ERROR: Undefined symbol: .ldap_delete_s
ld: 0711-317 ERROR: Undefined symbol: .ldap_dn2ufn
ld: 0711-317 ERROR: Undefined symbol: .ldap_err2string
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_dn
ld: 0711-317 ERROR: Undefined symbol: .ldap_explode_rdn
Has there been any progress on this bug. We are really interested in using the
LDAP SDK but need to get passed this problem quickly.
Thanks,
Matt Stokes
Software Engineer
CLPD, MCP
Assignee | ||
Updated•26 years ago
|
Severity: normal → major
Priority: P3 → P2
Comment 6•26 years ago
|
||
I don't know if this will help, but this was posted in newsgroup:
Well - for some reason I couldn't get the AIX 4.3.2 to understand how to
find /usr/local/ldapsdk/lib/libldapssl30.so and the default Makefile created
by "perl makefile.PL" failed.
I "fixed" this adding the absolute path to lib-file:
LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) -o $@ $(LDDLFLAGS) $(LDFROM)
$(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(EXPORT_LIST)
/usr/local/ldapsdk/lib/libldapssl30.so
Seems to work.
Jari
Jari.Pirhonen@atbusiness.com
Assignee | ||
Comment 7•26 years ago
|
||
From: Matt Stokes <matts@us.ibm.com>
Actually, we were finally able to get it compiled. We were using gcc to compile
and had to edit the make file as follows:
1) Changed:
CC=gcc
2) Appended to LDDLFLAGS =
-L/usr/local/lib -lldapssl30 -brtl
That was it. Everything compiled fine from there out and we are running it
now.
Assignee | ||
Comment 8•26 years ago
|
||
Yep, AIX.
|--------+----------------------->
| | Leif Hedstrom|
| | <leif@netscap|
| | e.com> |
| | |
| | 04/08/99 |
| | 06:50 PM |
| | |
|--------+----------------------->
>---------------------------------------------------------------------------|
| |
| To: Matthew Stokes/Somers/IBM |
| cc: |
| Subject: Re: Perldap Bug #1721 |
>---------------------------------------------------------------------------|
matts@us.ibm.com wrote:
> Actually, we were finally able to get it compiled. We were using gcc to
compile
> and had to edit the make file as follows:
>
> 1) Changed:
> CC=gcc
> 2) Appended to LDDLFLAGS =
> -L/usr/local/lib -lldapssl30 -brtl
>
> That was it. Everything compiled fine from there out and we are running
it
> now.
Great, I'll see if I can (easily...) add that into the Makefile.PL file. Is this
option needed/available for all AIX versions, or just the one you're running on?
I need to make some sort of "#ifdef" in the Makefile.PL, for AIX.
Btw, what does $Config{"osname"} say on your Perl installation? Is it AIX? It's
in
the module named Config.pm, part of the normal Perl5 installation.
Thanks!
-- leif
Assignee | ||
Comment 9•26 years ago
|
||
Well - for some reason I couldn't get the AIX 4.3.2 to understand how to
find /usr/local/ldapsdk/lib/libldapssl30.so and the default Makefile created
by "perl makefile.PL" failed.
I "fixed" this adding the absolute path to lib-file:
LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) -o $@ $(LDDLFLAGS) $(LDFROM)
$(OTHERLDFLAGS) $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(EXPORT_LIST)
/usr/local/ldapsdk/lib/libldapssl30.so
Seems to work.
Jari
Jari.Pirhonen@atbusiness.com
Assignee | ||
Updated•26 years ago
|
Priority: P2 → P1
Comment 10•24 years ago
|
||
This bug has not been touched for more than nine months. In most cases, that
means it has "slipped through the net". Please could the owner take a moment to
add a comment to the bug with current status, and/or close it.
Thank you :-)
Gerv
Assignee | ||
Comment 11•20 years ago
|
||
There doesn't seem to be any listeners to this, so close as INVALID. If anyone
can provide a test system for AIX, I'd be happy to make sure we fix this for
PerLDAP v1.5.
Priority: P1 → P5
Comment 12•19 years ago
|
||
(In reply to comment #11)
> There doesn't seem to be any listeners to this, so close as INVALID. If anyone
> can provide a test system for AIX, I'd be happy to make sure we fix this for
> PerLDAP v1.5.
The problem is that some perl versions are built where the '-brtl' option to the linker is not passed, so libraries which end with the '.so' extension are not found during a search. This seems to be fixed in more recent versions of Perl for AIX.
For me, the following change fixes the issue with Perl 5.6 (which ships with AIX 5.1):
Index: Makefile.PL
===================================================================
RCS file: /cvsroot/mozilla/directory/perldap/Makefile.PL,v
retrieving revision 1.16
diff -u -u -r1.16 Makefile.PL
--- Makefile.PL 5 Oct 2000 19:47:28 -0000 1.16
+++ Makefile.PL 28 Nov 2005 18:03:35 -0000
@@ -167,6 +167,10 @@
#
push(@extras, POLLUTE => 1) if ($] >= 5.006);
+if ($osname =~ /aix/i) {
+ push(@extras, LDDLFLAGS => $Config{'lddlflags'} . " -brtl $lib_line");
+}
+
#
# Ok, let's do it!
#
Comment 13•12 years ago
|
||
This is not being actively tracked, and probably nobody cares about it.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•