Subject: pkg/20306: php4-session package has unresolved symbols
To: None <gnats-bugs@gnats.netbsd.org>
From: Mark Davies <mark@mcs.vuw.ac.nz>
List: netbsd-bugs
Date: 02/12/2003 14:12:17
>Number:         20306
>Category:       pkg
>Synopsis:       php4-session package has unresolved symbols
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 11 17:13:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Mark Davies
>Release:        NetBSD 1.6L
>Organization:
Dept. of Comp. Sci., Victoria Uni. of Wellington, New Zealand.
>Environment:
	
	
System: NetBSD city-art.mcs.vuw.ac.nz 1.6L NetBSD 1.6L (MCS_WORKSTATION) #0: Fri Jan 17 15:03:28 NZDT 2003 mark@turakirae.mcs.vuw.ac.nz:/src/work/src/sys/arch/i386/compile/MCS_WORKSTATION i386
Architecture: i386
Machine: i386
>Description:

The php4-session package fails (to run) for me with unresolved symbols
when loaded into php

Those symbols are:
 	php_url_scanner_activate
 	php_url_scanner_deactivate
 
from ext/standard/url_scanner.c and they are not in the php binary, presumably 
because when php is linked nothing references these to cause url_scanner.o to
be pulled out of libphp.a.

	
>How-To-Repeat:
	Add "extension=session.so" to a php.ini file and run

	php test.php

	where test.php looks something like:

=  <?php
=  session_start();
=  if (isset($HTTP_SESSION_VARS['count'])) {
=     $HTTP_SESSION_VARS['count']++;
=  }
=  else {
=     $HTTP_SESSION_VARS['count'] = 0;
=  }
=  ?>
=  
=  Hello visitor, you have seen this page
=   <?php echo $HTTP_SESSION_VARS['count']; ?> times.<p>;

Note the following error:

/usr/pkg/lib/php/20020429/session.so: Undefined PLT symbol "php_url_scanner_activate" (reloc type = 7, symnum = 62)


	
>Fix:
	
	Certainly explicitly adding url_scanner.o to the php link fixes the
	problem but there should be a better way and there may be other files
	that suffer the same problem for other php dynamically loaded modules.

cheers
mark
>Release-Note:
>Audit-Trail:
>Unformatted: