php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #1298 need to use -taso with Netscape LDAP libs
Submitted: 1999-04-06 13:51 UTC Modified: 2003-07-09 18:26 UTC
Votes:3
Avg. Score:2.3 ± 0.9
Reproduced:0 of 0 (0.0%)
From: long at kestrel dot cc dot ukans dot edu Assigned:
Status: Wont fix Package: LDAP related
PHP Version: 4.3.2-dev OS: Compaq Tru64 4.0F PK3
Private report: No CVE-ID: None
 [1999-04-06 13:51 UTC] long at kestrel dot cc dot ukans dot edu
When using the Netscape LDAP libraries on Digital Unix the -taso flag needs to be added to the LDAP_LFLAGS variable set in 'configure.in'.

Not sure exactly how to do this as I don't have autoconf available to me on this platform.

To allow PHP to compile I modifed 'configure' line 6723 which was originally:

    	LDAP_LFLAGS="-L$LDAP_LIBDIR ${ld_runpath_switch}$LDAP_LIBDIR"

to be:

    	LDAP_LFLAGS="-L$LDAP_LIBDIR -taso ${ld_runpath_switch}$LDAP_LIBDIR"

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-06-16 08:30 UTC] sander@php.net
Thank you for taking the time to report a problem with PHP.
Unfortunately, PHP 3 is no longer supported. Please download
the latest version of PHP 4 from http://www.php.net/downloads.php

If you are able to reproduce the bug with one of the latest
versions of PHP, please change the PHP version on this bug report
to the version you tested and change the status back to "Open".
Again, thank you for your continued support of PHP.
 [2002-06-17 17:30 UTC] long at kestrel dot cc dot ukans dot edu
reopened for latest version.
 [2002-06-17 17:41 UTC] sniper@php.net
Does  this work:

LDFLAGS="-taso" ./configure <and your options here>

(with fresh sources!) I would think this option needs
to be on for all of the build?

(What is it anyway? Any URL explaining it?)

--Jani

 [2002-06-17 17:48 UTC] long at kestrel dot cc dot ukans dot edu
LDFLAGS does not work and I cannot remember the exact reason why.  Perhaps because LDFLAGS do not get used when cc is used to perform the linking or when ld is used to build shared objects?

At any rate, for the last several PHP versions I've been using:

LD='/usr/bin/ld -taso' CFLAGS='-taso' CXXFLAGS='-taso' CC='cc' CXX='cxx' CXXCPP='cxx -E' ./configure ....

to work around this problem.

Here is the description of the -taso option from the cc man page:

  -taso
      Directs the linker to load the executable file in the lower 31-bit addressable virtual address range. The -T and -D options to the ld command can also be used, respectively, to ensure that the text and data segments addresses are loaded into low memory.

      The -taso option, however, in addition to setting default addresses for text and data segments, also causes shared libraries linked outside the 31-bit address space to be appropriately relocated by the loader.  If you specify -taso and also specify text and data segment addresses with -T and -D, those addresses override the -taso default addresses. The -taso option can be helpful when porting programs that assume address values can be stored in 32-bit variables (that is, programs that assume that pointers are the same length as int variables).

And the reason this is required is because the particular version of the Netscape LDAP SDK that we downloaded and installed was built using the -taso option.  Thus anything linking to it also has to use -taso.
 [2002-07-07 21:20 UTC] sniper@php.net
Most of the compile problems with Tru64 have been fixed
in CVS: 

http://snaps.php.net/php4-latest.tar.gz

This '-taso' thing is not fixed though.

Exactly what version of Netscape LDAP libs does this happen
with? And wouldn't it be better to get ones which are NOT
compiled with -taso flag??

 [2002-08-15 18:09 UTC] long at kestrel dot cc dot ukans dot edu
We are using version 3.0 of the Netscape Directory SDK for C with SSL support.  I believe that at the time we installed it that it only came in the '-taso' version.  If I were upgrading the LDAP SDK then I would of course try and obtain a non '-taso' version.
 [2003-03-11 15:48 UTC] long at kestrel dot cc dot ukans dot edu
I didn't realize you had been waiting for feedback from me.  Ok, so php 4.3.1 doesn't even compile just using a straight ./configure.  I got php4-STABLE-200303101830 to build with the following configure: 

env CC=cc CXX=cxx CFLAGS="-O2 -taso -ifo" CXXFLAGS="-O2 -taso -ifo" ./configure --with-openssl --enable-bcmath --with-ndbm --with-dbm --enable-dbase --enable-filepro --enable-ftp --with-ttf --with-java=/usr/opt/java130 --with-mysql --enable-shmop --enable-sockets --enable-sysvsem --enable-sysvshm --enable-wddx --enable-dba=shared --enable-calendar --enable-exif --enable-discard-path --enable-dbx --enable-ctype --with-hyperwave --enable-mailparse --enable-memory-limit --with-ldap=/usr/local/ldap

and having /usr/local/ldap/lib in my LD_LIBRARY_PATH.  Couldn't build OCI this time due to bugginess in our oracle.  The -taso option is still required in our particular environment.  Happily the snprintf issue appears to be gone.
 [2003-07-09 18:26 UTC] sniper@php.net
I'm making this "wont fix" since you can easily workaround this problem by setting the correct flags by 'hand'.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 13:01:31 2024 UTC