Date: Wed, 3 May 2006 21:49:21 +0200 From: mark <mark.rowlands@mypost.se> To: freebsd-questions@freebsd.org Subject: "Inappropriate file type or format" error when accessing berkely DB file via perl Message-ID: <200605032149.24248.mark.rowlands@mypost.se>
next in thread | raw e-mail | index | archive | help
I am trying to access my squidguard berkely db files via perl and DB_File (as per the SquidGuard docs) When I run the following perl snippet #!/usr/bin/perl use DB_File; my (%url,%domain); $DB_BTREE->{compare} = \&domainmatch; my $domain_db = tie(%domain, "DB_File", "/var/db/squidGuard/warez/domains.db", O_CREAT| O_RDWR, 0664, $DB_BTREE) || die("domains.db: $!\n"); $domain_db->put(".six.com","") unless(exists($domain{"six.com"})); $domain_db->sync; # Seems to only sync the last change. undef($domain_db); # Destroy the object untie(%domain); # Sync and close the file and undef the hash The following is returned domains.db: Inappropriate file type or format When I do a file /var/db/squidGuard/warez/domains.db the following is displayed /var/db/squidGuard/warez/domains.db: Berkeley DB (Btree, version 8, native byte-order) When I create a db with perl #!/usr/bin/perl -w use strict; use DB_File; my %database; tie %database, 'DB_File', "createdb.dat" or die "Can't initialize database: $!\n"; untie %database; exit; then file createdb.dat reveals :- createdb.dat: Berkeley DB 1.85 (Hash, version 2, native byte-order) I suspect the version 2 / version 8 is the srouce of my innappropriate file type or format error! So ...... I tried reinstalling DB_file guessing that it had some kind of dependency on DB3.. Thsi had no effect. I tried reinstalling Perl itself. Also no effect. So I am a bit stuck, How do I get DB_File to play nice with DB3 or should I be trying some other method to access these files. Relevant Ports installed db3-3.3.11_2,1 bsdpan-DB_File-1.814 p5-DBD-mysql41-3.0002 squid-2.5.13 squidGuard-1.2.0_1 perl-5.8.8 possible related ports dbh-1.0.24_1 gdbm-1.8.3_2 p5-DBI-1.50 FreeBSD pcmarpxy.mwrwin2k.se 6.0-STABLE FreeBSD 6.0-STABLE #1: Fri Dec 23 11:58:53 CET 2005 root@pcmarpxy.mwrwin2k.se:/usr/obj/usr/src/sys/MARK i386
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200605032149.24248.mark.rowlands>