|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[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"
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 12:00:01 2025 UTC |
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.