php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #3733 Linking error when including DBase support
Submitted: 2000-03-05 12:12 UTC Modified: 2001-03-11 21:48 UTC
From: gt at 4js dot com Assigned:
Status: Closed Package: dBase related
PHP Version: 4.0 OS: OpenBSD 2.6 (SPARC)
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: gt at 4js dot com
New email:
PHP Version: OS:

 

 [2000-03-05 12:12 UTC] gt at 4js dot com
I'm trying to compile PHP 3.0.15 (happen also with 3.0.14) on a Sun SPARC box running OpenBSD 2.6. I'd like to load PHP as an Apache 1.3.9 DSO module, and when I try to add the DBase support (--with-dbase), this is what I get (it works fine without that option):

$ ./configure --with-dbase --with-apxs=/usr/sbin/apxs --with-config-file-path=/var/www/conf --without-pcre-regex --with-xml --enable-track-vars --with-imap=/usr/src/local/imap-4.7a/c-client

[... some stuff removed ...]

(cd dbase; gmake libdbf.a)
gmake[1]: Entering directory `/usr/src/local/php-3.0.15/dbase'
gcc -I. -I. -g -O2 -DDEV_RANDOM=/dev/arandom -DMOD_SSL=204105 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -O2   -c dbf_head.c -o dbf_head.o
gcc -I. -I. -g -O2 -DDEV_RANDOM=/dev/arandom -DMOD_SSL=204105 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -O2   -c dbf_rec.c -o dbf_rec.o
gcc -I. -I. -g -O2 -DDEV_RANDOM=/dev/arandom -DMOD_SSL=204105 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -O2   -c dbf_misc.c -o dbf_misc.o
gcc -I. -I. -g -O2 -DDEV_RANDOM=/dev/arandom -DMOD_SSL=204105 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -O2   -c dbf_ndx.c -o dbf_ndx.o
rm -f libdbf.a
ar crv libdbf.a dbf_head.o dbf_rec.o dbf_misc.o dbf_ndx.o
a - dbf_head.o
a - dbf_rec.o
a - dbf_misc.o
a - dbf_ndx.o
ranlib libdbf.a
gmake[1]: Leaving directory `/usr/src/local/php-3.0.15/dbase'
ar rc libmodphp3-so.a language-parser.tab.o language-scanner.o main.o php3_hash.o operators.o variables.o token_cache.o stack.o internal_functions.o snprintf.o php3_sprintf.o alloc.o list.o highlight.o debugger.o configuration-parser.tab.o configuration-scanner.o request_info.o safe_mode.o fopen-wrappers.o constants.o php3_realpath.o alloca.o php_compat.o  functions/adabasd.o functions/aspell.o functions/apache.o functions/fhttpd.o functions/basic_functions.o functions/crypt.o functions/datetime.o functions/db.o functions/dbase.o functions/dir.o functions/dl.o functions/dns.o functions/exec.o functions/file.o functions/filepro.o functions/filestat.o functions/formatted_print.o functions/fsock.o functions/gd.o functions/head.o functions/html.o functions/image.o functions/imap.o functions/php3_mcal.o functions/php_ftp.o functions/ftp.o functions/imsp.o functions/link.o functions/mail.o functions/math.o functions/iptc.o functions/md5.o functions/microtime.o functions/mime.o functions/msql.o functions/mysql.o functions/oracle.o functions/oci8.o functions/pack.o functions/pageinfo.o functions/pgsql.o functions/magick.o functions/post.o functions/rand.o functions/reg.o functions/solid.o functions/soundex.o functions/string.o functions/syslog.o functions/type.o functions/uniqid.o functions/sybase.o functions/sybase-ct.o functions/url.o functions/base64.o functions/info.o functions/bcmath.o functions/number.o functions/xml.o functions/unified_odbc.o functions/ldap.o functions/browscap.o functions/velocis.o functions/gdttf.o functions/gdcache.o functions/zlib.o functions/COM.o functions/ifx.o functions/pdf.o functions/cpdf.o functions/hw.o functions/hg_comm.o functions/dlist.o functions/fdf.o functions/wddx.o functions/wddx_a.o functions/snmp.o functions/var.o functions/interbase.o functions/quot_print.o functions/cyr_convert.o functions/sysvsem.o functions/dav.o functions/sysvshm.o functions/gettext.o functions/php3_mckcrypt.o functions/yp.o functions/dba.o functions/dba_gdbm.o functions/dba_dbm.o functions/dba_ndbm.o functions/dba_cdb.o functions/mcrypt.o functions/dba_db2.o functions/mhash.o functions/pcre.o functions/posix.o functions/parsedate.o functions/lcg.o functions/recode.o  dbase/dbf_head.o dbase/dbf_rec.o dbase/dbf_misc.o dbase/dbf_ndx.o
ranlib libmodphp3-so.a
/usr/sbin/apxs -c -o libphp3.so  -I. -I.  ./mod_php3.c libmodphp3-so.a -L/usr/local/lib  /usr/src/local/imap-4.7a/c-client/lib/c-client.a                              -L./dbase -ldbf  -lm  -lresolv  
gcc -DDEV_RANDOM=/dev/arandom -DMOD_SSL=204105 -DEAPI -DUSE_EXPAT -I../lib/expat-lite -fPIC -DSHARED_MODULE -I/usr/lib/apache/include -I. -I.  -c ./mod_php3.c
ld -Bforcearchive -Bshareable -o libphp3.so ./mod_php3.o libmodphp3-so.a -L/usr/local/lib /usr/src/local/imap-4.7a/c-client/lib/c-client.a -L./dbase -ldbf -lm -lresolv 
dbf_head.c:20: Definition of symbol `_get_dbf_head' (multiply defined)
dbf_head.c:68: Definition of symbol `_free_dbf_head' (multiply defined)
dbf_head.c:118: Definition of symbol `_get_dbf_field' (multiply defined)
dbf_head.c:88: Definition of symbol `_put_dbf_head' (multiply defined)
dbf_head.c:202: Definition of symbol `_get_dbf_f_fmt' (multiply defined)
dbf_head.c:150: Definition of symbol `_put_dbf_field' (multiply defined)
dbf_head.c:185: Definition of symbol `_put_dbf_info' (multiply defined)
dbf_head.c:223: Definition of symbol `_dbf_open' (multiply defined)
dbf_head.c:249: Definition of symbol `_dbf_head_info' (multiply defined)
dbf_rec.c:19: Definition of symbol `_get_dbf_record' (multiply defined)
dbf_rec.c:43: Definition of symbol `_get_piece' (multiply defined)
dbf_rec.c:57: Definition of symbol `_put_dbf_record' (multiply defined)
dbf_rec.c:75: Definition of symbol `_put_piece' (multiply defined)
dbf_rec.c:86: Definition of symbol `_del_dbf_record' (multiply defined)
dbf_rec.c:101: Definition of symbol `_pack_dbf' (multiply defined)
dbf_rec.c:134: Definition of symbol `_get_field_val' (multiply defined)
dbf_rec.c:147: Definition of symbol `_put_field_val' (multiply defined)
dbf_rec.c:155: Definition of symbol `_out_rec' (multiply defined)
dbf_rec.c:172: Definition of symbol `_is_valid_rec' (multiply defined)
dbf_rec.c:180: Definition of symbol `_dbf_get_next' (multiply defined)
dbf_misc.c:21: Definition of symbol `_get_long' (multiply defined)
dbf_misc.c:30: Definition of symbol `_put_long' (multiply defined)
dbf_misc.c:45: Definition of symbol `_get_short' (multiply defined)
dbf_misc.c:53: Definition of symbol `_put_short' (multiply defined)
dbf_misc.c:57: Definition of symbol `_get_double' (multiply defined)
dbf_misc.c:74: Definition of symbol `_put_double' (multiply defined)
dbf_misc.c:89: Definition of symbol `_copy_fill' (multiply defined)
dbf_misc.c:99: Definition of symbol `_copy_crimp' (multiply defined)
dbf_misc.c:110: Definition of symbol `_db_set_date' (multiply defined)
dbf_misc.c:124: Definition of symbol `_db_date_year' (multiply defined)
dbf_misc.c:133: Definition of symbol `_db_date_month' (multiply defined)
dbf_misc.c:142: Definition of symbol `_db_date_day' (multiply defined)
dbf_misc.c:153: Definition of symbol `_db_cur_date' (multiply defined)
dbf_ndx.c:17: Definition of symbol `_ndx_get_header' (multiply defined)
dbf_ndx.c:157: Definition of symbol `_ndx_get_first_rec' (multiply defined)
dbf_ndx.c:170: Definition of symbol `_ndx_get_next_rec' (multiply defined)
dbf_head.c:20: Definition of symbol `_get_dbf_head' (multiply defined)
dbf_head.c:68: Definition of symbol `_free_dbf_head' (multiply defined)
dbf_head.c:118: Definition of symbol `_get_dbf_field' (multiply defined)
dbf_head.c:88: Definition of symbol `_put_dbf_head' (multiply defined)
dbf_head.c:202: Definition of symbol `_get_dbf_f_fmt' (multiply defined)
dbf_head.c:150: Definition of symbol `_put_dbf_field' (multiply defined)
dbf_head.c:185: Definition of symbol `_put_dbf_info' (multiply defined)
dbf_head.c:223: Definition of symbol `_dbf_open' (multiply defined)
dbf_head.c:249: Definition of symbol `_dbf_head_info' (multiply defined)
dbf_rec.c:19: Definition of symbol `_get_dbf_record' (multiply defined)
dbf_rec.c:43: Definition of symbol `_get_piece' (multiply defined)
dbf_rec.c:57: Definition of symbol `_put_dbf_record' (multiply defined)
dbf_rec.c:75: Definition of symbol `_put_piece' (multiply defined)
dbf_rec.c:86: Definition of symbol `_del_dbf_record' (multiply defined)
dbf_rec.c:101: Definition of symbol `_pack_dbf' (multiply defined)
dbf_rec.c:134: Definition of symbol `_get_field_val' (multiply defined)
dbf_rec.c:147: Definition of symbol `_put_field_val' (multiply defined)
dbf_rec.c:155: Definition of symbol `_out_rec' (multiply defined)
dbf_rec.c:172: Definition of symbol `_is_valid_rec' (multiply defined)
dbf_rec.c:180: Definition of symbol `_dbf_get_next' (multiply defined)
dbf_misc.c:21: Definition of symbol `_get_long' (multiply defined)
dbf_misc.c:30: Definition of symbol `_put_long' (multiply defined)
dbf_misc.c:45: Definition of symbol `_get_short' (multiply defined)
dbf_misc.c:53: Definition of symbol `_put_short' (multiply defined)
dbf_misc.c:57: Definition of symbol `_get_double' (multiply defined)
dbf_misc.c:74: Definition of symbol `_put_double' (multiply defined)
dbf_misc.c:89: Definition of symbol `_copy_fill' (multiply defined)
dbf_misc.c:99: Definition of symbol `_copy_crimp' (multiply defined)
dbf_misc.c:110: Definition of symbol `_db_set_date' (multiply defined)
dbf_misc.c:124: Definition of symbol `_db_date_year' (multiply defined)
dbf_misc.c:133: Definition of symbol `_db_date_month' (multiply defined)
dbf_misc.c:142: Definition of symbol `_db_date_day' (multiply defined)
dbf_misc.c:153: Definition of symbol `_db_cur_date' (multiply defined)
dbf_ndx.c:17: Definition of symbol `_ndx_get_header' (multiply defined)
dbf_ndx.c:157: Definition of symbol `_ndx_get_first_rec' (multiply defined)
dbf_ndx.c:170: Definition of symbol `_ndx_get_next_rec' (multiply defined)
apxs:Break: Command failed with rc=65536
gmake: *** [libphp3.so] Error 1
$

Note that I had a problem quite similar on that platform with the Perl regex support, and it was cleared by simply adding the flag "--without-pcre-regex".

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-03-27 13:33 UTC] sas at cvs dot php dot net
OpenBSD has too much in its C library. 

Making this a feature request.

Possible solutions:

1.)  Allow to use system library
2.)  Prefix symbol names, so that PHP always uses its internal copy
 [2001-02-10 14:11 UTC] jimw@php.net
refiling as bug against 4.0.
 [2001-03-11 21:48 UTC] avsm@php.net
This bug no longer exists in PHP4/OpenBSD.  Look in /usr/ports/www/php4 and use the 'dbase' flavor to compile it, under OpenBSD 2.8+
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Feb 05 11:01:31 2025 UTC