Mailing List Archive

[BUGS & (some) WORKROUND(s)] libspf2 1.2.5 on OSX 10.4.1
hi all,

referring to & expanding on:

<http://www.gossamer-threads.com/lists/spf/devel/19991>


i'm building libspf2 v125 on OSX 10.4.1

to run "./bootstrap" usig my recent build tools:

% glibtool --version
ltmain.sh (GNU libtool) 1.5.18 (1.1220.2.245 2005/05/16 08:55:27)
% autoconf --version
autoconf (GNU Autoconf) 2.59
% automake --version
automake (GNU automake) 1.9.5
% gcc --version
powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 20041026 (Apple Computer, Inc.
build 4061)

need to update use of deprecated AC_PROG_RANLIB:

% perl -pi -e 's/AC_PROG_RANLIB/AC_PROG_LIBTOOL/g' configure.ac

then, after ensurig that:

% setenv LIBTOOLIZE glibtoolize

updating bootstrap to _invoke_ glibtool when exec'ing autoreconf ...

% perl -pi -e 's/autoreconf -v/autoreconf --install --force -v/g'
/usr/ports/exim/libspf2-$SPF_VER/bootstrap

then:

% ./bootstrap

linking agains an _external_ build of bind931:

% unsetenv CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS LDDLFLAGS LD_PREBIND LC_ALL
LANG LINGUAS
% setenv LDFLAGS "-bind_at_load -L/usr/local/bind9/lib"
% setenv CPPFLAGS "-I/usr/local/bind9/bind/include"

to avoid a 'make' failure of:
spf_dns_rr.c: In function 'SPF_dns_rr_new_nxdomain':
spf_dns_rr.c:48: error: 'NXDOMAIN' undeclared (first use in this function)
spf_dns_rr.c:48: error: (Each undeclared identifier is reported only once
spf_dns_rr.c:48: error: for each function it appears in.)
make[4]: *** [spf_dns_rr.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

noting that both in 'external' bind9:

% grep -rln "define NXDOMAIN" /usr/local/bind9
./bind/include/arpa/nameser_compat.h

and in Apple's Tiger-bundled bind9:

% grep -rln "define NXDOMAIN" /usr/include
./arpa/nameser8_compat.h
./arpa/nameser_compat.h
./nameser8_compat.h

then, in addition to ./configure's '--with-bind=/usr/local/bind9', also (as
above)

% setenv CPPFLAGS "-I/usr/local/bind9/bind/include"

and:

=========================================
(EDITOR) /usr/ports/exim/libspf2-1.2.5/src/libspf2/spf_dns_rr.c
@20
+++ #include <arpa/nameser_compat.h>
#ifdef STDC_HEADERS
=========================================

then:

% ./configure \
--prefix=/usr/local/libspf2 \
--with-bind=/usr/local/bind9

next, in order to avoid a 'make' failure, as per eariler post, of:

make all-recursive
Making all in src
Making all in include
make[4]: Nothing to be done for `all-am'.
Making all in libreplace
/bin/sh ../../libtool --tag=CC --mode=link gcc -g -O2 -Wall
-I/usr/local/bind9/include -L/usr/local/bind9/lib -Wl,-L/usr/local/bind9/lib
-o libreplace.la -lpthread -lintl -lbind
ar cru .libs/libreplace.a
ar: no archive members specified
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv] archive [file ...]
ar -q [-cTLsv] archive file ...
ar -r [-cuTLsv] archive file ...
ar -r [-abciuTLsv] position archive file ...
ar -t [-TLsv] archive [file ...]
ar -x [-ouTLsv] archive [file ...]
make[4]: *** [libreplace.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

simply 'fake' the missing (unnecessary?) but 'looked for' librelace.la:

% touch src/libreplace/libreplace.la

and remove dependency references to it:

=========================================
(EDITOR) /usr/ports/exim/libspf2-1.2.5/src/libreplace/Makefile
@183
--- noinst_LTLIBRARIES = libreplace.la
+++ noinst_LTLIBRARIES = libreplace.la
=========================================

=========================================
(EDITOR) /usr/ports/exim/libspf2-1.2.5/src/libspf2/Makefile
@61
--- libspf2_la_DEPENDENCIES = \
--- $(top_builddir)/src/libreplace/libreplace.la

@230
--- libspf2_la_LIBADD = $(top_builddir)/src/libreplace/libreplace.la
=========================================

now:

% make

completes successfully, and:

% make install

results in:

% ls -alR /usr/local/libspf2
.:
total 0
drwxr-xr-x 3 root admin 102 Jun 5 09:48 .
drwxr-xr-x 24 blakers admin 816 Jun 5 09:48 ..
drwxr-xr-x 7 root admin 238 Jun 5 09:48 lib

./lib:
total 596
drwxr-xr-x 7 root admin 238 Jun 5 09:48 .
drwxr-xr-x 3 root admin 102 Jun 5 09:48 ..
lrwxr-xr-x 1 root admin 13 Jun 5 09:48 libspf2 -> libspf2.2.0.0
lrwxr-xr-x 1 root admin 13 Jun 5 09:48 libspf2.2 -> libspf2.2.0.0
-rwxr-xr-x 1 root admin 263936 Jun 5 09:48 libspf2.2.0.0
-rw-r--r-- 1 root admin 330520 Jun 5 09:48 libspf2.a
-rwxr-xr-x 1 root admin 902 Jun 5 09:48 libspf2.la

% otool -L /usr/local/libspf2/lib/libspf2.2.0.0
/usr/local/libspf2/lib/libspf2.2.0.0:
/usr/local/libspf2/lib/libspf2.2 (compatibility version 3.0.0, current
version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
88.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/local/lib/libintl.3.dylib (compatibility version 8.0.0, current version
8.3.0)
/usr/local/bind9/lib/libbind.3.dylib (compatibility version 4.0.0, current
version 4.8.0)
/usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 92.0.0)


which structurally looks ok, EXCEPT for the fact that the expected dynamic lib
suffixes, i.e. ".dylib" are missing from the built libs' names ...
grep libreplace.la


#################
## QUESTION
#

so, b4 i poke around further abt the ".dylib", can anyone verify that the
built libs -- regardless of suffix -- look to be the right size/content etc?

just fyi, output of:

% nm /usr/local/libspf2/lib/libspf2.2.0.0

/usr/local/libspf2/lib/libspf2.2.0.0(dylib1.o):
0000094c t ___initialize_Cplusplus
0000092c t __dyld_func_lookup
u __mh_dylib_header
00000924 t cfm_stub_binding_helper
00010000 d dyld__mh_dylib_header
00010020 s dyld_func_lookup_pointer
0001001c s dyld_lazy_symbol_binding_entry_point
000008f4 t dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_compile.o):
00000a30 t _SPF_c_ensure_capacity
00000b44 t _SPF_c_parse_cidr_ip4
00000a90 t _SPF_c_parse_cidr_ip6
00001400 t _SPF_c_parse_domainspec
00000bf8 t _SPF_c_parse_macro
U _SPF_debugx
U _SPF_error_code
U _SPF_error_errorp
U _SPF_errorx
000009c4 t _SPF_mechtype_find
00001720 T _SPF_record_compile
00001354 T _SPF_record_compile_macro
U _SPF_record_new
U _SPF_response_add_error
U _SPF_response_add_error_ptr
U _SPF_response_add_warn
U _SPF_response_errors
U _SPF_response_message
U _SPF_response_messages
U __DefaultRuneLocale
U ___inet_pton
U ___maskrune
U ___tolower
U _malloc
U _memcpy
U _memset
U _realloc
0000fb48 s _spf_mechtypes
U _strcspn
U _strlen
U _strncasecmp
U _strncmp
U _strtoul
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_config.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns.o):
U _SPF_debugx
00002718 T _SPF_dns_free
00002b98 T _SPF_dns_get_client_dom
000027d4 T _SPF_dns_lookup
00002a74 T _SPF_dns_rlookup
00002ae8 T _SPF_dns_rlookup6
U _SPF_dns_rr_free
U _SPF_errorx
U _memcmp
U _snprintf$LDBL128
U _strdup
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_cache.o):
00002e78 t _SPF_dns_cache_free
00002f78 t _SPF_dns_cache_lookup
0000332c T _SPF_dns_cache_new
000034d4 T _SPF_dns_cache_set_ttl
U _SPF_dns_lookup
U _SPF_dns_rr_dup
U _SPF_dns_rr_free
U _SPF_dns_rr_new_nxdomain
00002e14 T _SPF_dns_set_conserve_cache
U _SPF_errorx
U _calloc
0000fbc0 S _crc_32_tab
U _free
U _malloc
U _memset
U _pthread_mutex_destroy
U _pthread_mutex_init
U _pthread_mutex_lock
U _pthread_mutex_unlock
U _realloc
U _strcmp
U _strcpy
U _strlen
U _strstr
U _time
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_null.o):
U _SPF_dns_lookup
00003590 t _SPF_dns_null_free
00003578 t _SPF_dns_null_lookup
000035e4 T _SPF_dns_null_new
U _SPF_dns_rr_new_nxdomain
U _SPF_errorx
U _free
U _malloc
U _memset
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_resolv.o):
0000ffc0 s _C.16.4516
000101d8 s _C.17.4517
U _SPF_debugx
U _SPF_dns_lookup
000043b0 t _SPF_dns_resolv_free
000036b0 t _SPF_dns_resolv_init_key
000036d4 t _SPF_dns_resolv_lookup
00004404 T _SPF_dns_resolv_new
00003680 t _SPF_dns_resolv_thread_term
U _SPF_dns_rr_buf_realloc
U _SPF_dns_rr_new_init
U _SPF_errorx
U ___error
U ___inet_ntop
U ___ns_get16
U ___ns_initparse
U ___ns_msg_getflag
U ___ns_name_uncompress
U ___ns_parserr
U ___res_nclose
U ___res_ninit
U ___res_nquery
U _free
U _hstrerror
U _malloc
U _memcpy
U _memmove
U _memset
U _pthread_getspecific
U _pthread_key_create
U _pthread_once
U _pthread_setspecific
00010004 d _res_state_control
00010cd8 b _res_state_key
U _strcpy
U _strerror
U _strlen
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_rr.o):
0000468c T _SPF_dns_rr_buf_realloc
000047a4 T _SPF_dns_rr_dup
0000451c T _SPF_dns_rr_free
000044b4 T _SPF_dns_rr_new
000045cc T _SPF_dns_rr_new_init
0000467c T _SPF_dns_rr_new_nxdomain
U _SPF_errorx
U _free
U _malloc
U _memset
U _realloc
U _strcpy
U _strdup
U _strlen
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_test.o):
000101e8 s _SPF_dns_db
00004a20 T _SPF_dns_test_new
U _SPF_dns_zone_add_str
U _SPF_dns_zone_new
U _SPF_errorx
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_windns.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_dns_zone.o):
00004ca8 t _SPF_dns_find_zone
U _SPF_dns_lookup
U _SPF_dns_rr_buf_realloc
U _SPF_dns_rr_dup
U _SPF_dns_rr_free
U _SPF_dns_rr_new_init
00004e0c T _SPF_dns_zone_add_str
00004bd8 t _SPF_dns_zone_free
00005120 t _SPF_dns_zone_lookup
00004ac0 T _SPF_dns_zone_new
U _SPF_errorx
U ___inet_pton
U _calloc
U _free
U _malloc
U _memset
U _realloc
U _strcmp
U _strcpy
U _strlen
U _strncmp
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_expand.o):
U _SPF_errorx
000051ac T _SPF_record_expand_data
U _SPF_request_get_client_dom
U _SPF_request_get_rec_dom
U __DefaultRuneLocale
U ___inet_ntop
U ___maskrune
0000e9dc s _client_ver_ipv4
0000c300 s _client_ver_ipv6
U _free
U _malloc
U _memcpy
U _memmove
U _memset
U _realloc
U _snprintf$LDBL128
U _sprintf$LDBL128
U _strlen
U _time
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_find_mod.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_get_exp.o):
U _SPF_dns_lookup
U _SPF_errorx
U _SPF_macro_free
U _SPF_record_compile_macro
U _SPF_record_expand_data
U _SPF_record_find_mod_value
00005a60 T _SPF_request_get_exp
U _SPF_response_add_warn
000059c4 t _SPF_server_get_default_explanation
U _SPF_warningx
U _memcpy
U _realloc
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_get_spf.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_id2str.o):
U _SPF_debugx
U _SPF_errorx
000062d8 T _SPF_record_stringify
00005da8 t _SPF_record_stringify_data
U ___inet_ntop
U ___toupper
U _memset
U _realloc
U _snprintf$LDBL128
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_interpret.o):
U _SPF_debugx
U _SPF_dns_lookup
U _SPF_dns_rlookup
U _SPF_dns_rlookup6
U _SPF_dns_rr_free
U _SPF_errorx
00006960 T _SPF_i_done
0000708c t _SPF_i_match_domain
00007238 t _SPF_i_match_ip4
000073c0 t _SPF_i_match_ip6
00007150 t _SPF_i_mech_cidr
U _SPF_record_expand_data
U _SPF_record_free
0000756c T _SPF_record_interpret
U _SPF_request_get_exp
U _SPF_request_get_rec_dom
U _SPF_response_errcode
U _SPF_response_free
U _SPF_response_new
U _SPF_response_result
U _SPF_sanitize
U _SPF_server_get_record
U _SPF_strerror
U _SPF_strreason
U _SPF_strresult
U ___inet_ntop
U _free
U _malloc
U _memcmp
U _memset
U _realloc
U _snprintf$LDBL128
U _strcasecmp
U _strcmp
U _strdup
U _strlen
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_log.o):
U _SPF_debug_handler
00008b38 T _SPF_debugv
00008964 T _SPF_debugx
00008c94 T _SPF_debugx2
U _SPF_error_handler
000089f8 T _SPF_errorv
000087b8 T _SPF_errorx
00008ba8 T _SPF_errorx2
U _SPF_info_handler
00008ac8 T _SPF_infov
000088d0 T _SPF_infox
00008c40 T _SPF_infox2
U _SPF_warning_handler
00008a58 T _SPF_warningv
0000883c T _SPF_warningx
00008bec T _SPF_warningx2
U _abort
U _vsnprintf$LDBL128
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_log_default.o):
0001000c D _SPF_debug_handler
U _SPF_debug_stdio
00010018 D _SPF_error_handler
U _SPF_error_stdio
00010010 D _SPF_info_handler
U _SPF_info_stdio
00010014 D _SPF_warning_handler
U _SPF_warning_stdio

/usr/local/libspf2/lib/libspf2.2.0.0(spf_log_stdio.o):
00008e6c T _SPF_debug_stdio
00008ce8 T _SPF_error_stdio
00008e48 T _SPF_info_stdio
00008d90 T _SPF_warning_stdio
U ___sF
U _abort
U _fprintf$LDBL128
U _memset
U _puts
U _snprintf$LDBL128
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_log_syslog.o):
00009084 T _SPF_debug_syslog
00008f24 T _SPF_error_syslog
00009064 T _SPF_info_syslog
00008fbc T _SPF_warning_syslog
U _abort
U _memset
U _snprintf$LDBL128
U _syslog$LDBL128
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_optimize.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_print.o):
U _SPF_infox
00009280 T _SPF_print_sizeof
0000912c T _SPF_record_print
U _SPF_record_stringify
U _SPF_strerror
U _free
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_record.o):
U _SPF_errorx
00009398 T _SPF_macro_free
U _SPF_record_expand_data
0000939c T _SPF_record_find_mod_value
0000934c T _SPF_record_free
000092f8 T _SPF_record_new
U _free
U _malloc
U _strlen
U _strncasecmp
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_request.o):
U _SPF_dns_get_client_dom
U _SPF_errorx
U _SPF_i_done
U _SPF_infox
U _SPF_record_compile
U _SPF_record_free
U _SPF_record_interpret
000095d4 T _SPF_request_free
00009a10 T _SPF_request_get_client_dom
00009840 T _SPF_request_get_rec_dom
00009aac T _SPF_request_is_loopback
00009550 T _SPF_request_new
00009b24 t _SPF_request_prepare
00009cdc T _SPF_request_query_fallback
00009bf4 T _SPF_request_query_mailfrom
00009dc8 T _SPF_request_query_rcptto
00009b4c t _SPF_request_query_record
0000984c T _SPF_request_set_env_from
00009978 T _SPF_request_set_helo_dom
00009694 T _SPF_request_set_ipv4
00009764 T _SPF_request_set_ipv4_str
000096e8 T _SPF_request_set_ipv6
000097cc T _SPF_request_set_ipv6_str
U _SPF_response_errors
U _SPF_response_new
U _SPF_server_get_record
U ___inet_pton
U _free
U _in6addr_any
U _malloc
U _memset
U _snprintf$LDBL128
U _sprintf$LDBL128
U _strchr
U _strdup
U _strlen
U _strrchr
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_response.o):
0000a4f4 T _SPF_error_code
0000a504 T _SPF_error_errorp
0000a4fc T _SPF_error_message
0000a328 T _SPF_response_add_error
0000a2b8 T _SPF_response_add_error_idx
0000a238 T _SPF_response_add_error_ptr
0000a11c t _SPF_response_add_error_v
0000a464 T _SPF_response_add_warn
0000a404 T _SPF_response_add_warn_idx
0000a398 T _SPF_response_add_warn_ptr
0000a00c t _SPF_response_choose
0000a048 T _SPF_response_combine
0000a0ec T _SPF_response_errcode
0000a4cc T _SPF_response_errors
00009f50 T _SPF_response_free
0000a114 T _SPF_response_get_explanation
0000a104 T _SPF_response_get_header_comment
0000a0f4 T _SPF_response_get_received_spf
0000a0fc T _SPF_response_get_received_spf_value
0000a10c T _SPF_response_get_smtp_comment
0000a4e4 T _SPF_response_message
0000a4c4 T _SPF_response_messages
00009f00 T _SPF_response_new
0000a0e4 T _SPF_response_reason
0000a040 T _SPF_response_result
0000a4d4 T _SPF_response_warnings
U _SPF_strerror
U _free
U _malloc
U _memset
U _realloc
U _snprintf$LDBL128
U _strdup
U _vsnprintf$LDBL128
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_result.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_server.o):
U _SPF_debugx
U _SPF_dns_cache_new
U _SPF_dns_free
U _SPF_dns_lookup
U _SPF_dns_resolv_new
U _SPF_dns_rr_free
U _SPF_errorx
U _SPF_macro_free
U _SPF_record_compile
U _SPF_record_compile_macro
U _SPF_record_free
U _SPF_response_add_error
U _SPF_response_free
U _SPF_response_messages
U _SPF_response_new
0000a560 T _SPF_server_free
0000ae4c T _SPF_server_get_max_dns_mech
0000ae74 T _SPF_server_get_max_dns_mx
0000ae60 T _SPF_server_get_max_dns_ptr
0000aacc T _SPF_server_get_record
0000a878 T _SPF_server_new
0000a63c T _SPF_server_set_explanation
0000a718 T _SPF_server_set_localpolicy
0000ae40 T _SPF_server_set_max_dns_mech
0000ae68 T _SPF_server_set_max_dns_mx
0000ae54 T _SPF_server_set_max_dns_ptr
0000a5c4 T _SPF_server_set_rec_dom
0000a510 t _SPF_server_set_rec_dom_ghbn
0000a630 T _SPF_server_set_sanitize
U _free
U _gethostname
U _malloc
U _memset
U _snprintf$LDBL128
U _strdup
U _strlen
U _strncmp
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_strerror.o):
0000ae7c T _SPF_strerror

/usr/local/libspf2/lib/libspf2.2.0.0(spf_utils.o):
U _SPF_errorx
0000b0bc T _SPF_get_lib_version
0000b0d4 T _SPF_sanitize
0000b27c T _SPF_strreason
0000b1bc T _SPF_strresult
U __DefaultRuneLocale
U ___maskrune
u dyld_stub_binding_helper

/usr/local/libspf2/lib/libspf2.2.0.0(spf_verify.o):

/usr/local/libspf2/lib/libspf2.2.0.0(spf_win32.o):

/usr/local/libspf2/lib/libspf2.2.0.0(link editor):
00000000 t __mh_dylib_header


cheers,

richard

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?listname=spf-devel@v2.listbox.com
Re: [BUGS & (some) WORKROUND(s)] libspf2 1.2.5 on OSX 10.4.1 [ In reply to ]
OpenMacNews wrote:

> referring to & expanding on:
>
> <http://www.gossamer-threads.com/lists/spf/devel/19991>
>
> i'm building libspf2 v125 on OSX 10.4.1

Regarding the build against external bind libraries: bundled configure
has provisions for that, "--with-bind=/path/to/bind9", but it does not
work for me for the following reasons:

- include directory is in installed bind9 is
"${bind9prefix}/bind/include", ./configure looks for
"${bind9prefix}/include/bind". This looks like bind9 discrepancy; I
"fixed" it by creating ${bind9prefix}/include/bind and moving there all
files from ${bind9prefix}/bind/include.

- AC_CHECK_LIB([bind], [res_query], [LIBS="$LIBS -lbind"] fails because
res_query is a #define, the function name in my case was __res_query. I
"fixed" that by checking for __res_query, but the proper fix would be to
change AC_CHECK_LIB to AC_TRY_LINK (? don't remember exact name of the
macro, sorry)

- AC_CHECK_LIB([bind], [res_query], [LIBS="$LIBS -lbind"] fails anyway
because there are undefined references to pthread library. I added
"-lpthread" to the check, but it would be more appropriate to use
ACX_PTHREAD macro.

After that, I was able to compile the thing on an oldish redhat, and it
seems to work now. One more thing that I had to fix was an extra
semicolon in src/spfquery/spfquery.c line 264 that made gcc 2.95.3 unhappy.

Anybody knows what's up with wayne? Is anybody working on libspf2 these
days?

Eugene

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?listname=spf-devel@v2.listbox.com
Re: [BUGS & (some) WORKROUND(s)] libspf2 1.2.5 on OSX 10.4.1 [ In reply to ]
In <42A3FCBF.2060301@rol.ru> Eugene Crosser <crosser@rol.ru> writes:

> Anybody knows what's up with wayne? Is anybody working on libspf2 these
> days?

Hi.

Sorry for not getting back to you much earlier.

What is up with me is that I've been working very hard on getting the
SPF specification finalized. Yeah, I know, the specs that were
released last winter/spring were good enough to write SPF
implemenations, but they aren't anywhere near good enough to be
accepted by the IETF for publication as an RFC.

Now that the final draft has been submitted to the IETF, I am
planning on update the test suite to make sure it conforms to the
specification and covers all the cases that I can think of. After
that, I intend to make sure that libspf2 passes the test suite.


-wayne

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?listname=spf-devel@v2.listbox.com
Re: [BUGS & (some) WORKROUND(s)] libspf2 1.2.5 on OSX 10.4.1 [ In reply to ]
hi all,

fwiw, i finally got libspf2 to behave on OSX 10.4.1 ...

for ref, my "successful" notes:

% setenv SPF_VER "1.2.5"
% wget http://www.libspf2.org/spf/libspf2-$SPF_VER.tar.gz
% gnutar zxf libspf2-$SPF_VER.tar.gz
% cd libspf2-$SPF_VER

DO NOT RUN "./bootstrap" ...

make any EXTERNAL BIND9 binaries are REMOVED from your executable path ...
we're gonna use Apple's bundled resolver to avoid symbol conflicts ...

% unsetenv CFLAGS CPPFLAGS CXX CXXFLAGS LDFLAGS LDDLFLAGS LD_PREBIND LC_ALL
LANG LINGUAS
% setenv LDFLAGS "-bind_at_load -lresolv"

=========================================
(EDITOR) libspf2-1.2.5/src/libspf2/spf_dns_rr.c
@19
+++ # include <arpa/nameser_compat.h>
#ifdef STDC_HEADERS
=========================================

% ./configure --prefix=/usr/local/libspf2

% touch src/libreplace/libreplace.la

=========================================
(EDITOR) libspf2-1.2.5src/libreplace/Makefile
--- noinst_LTLIBRARIES = libreplace.la
+++ noinst_LTLIBRARIES =
=========================================

=========================================
(EDITOR) libspf2-1.2.5/src/libspf2/Makefile
@54
--- libspf2_la_DEPENDENCIES = \
--- $(top_builddir)/src/libreplace/libreplace.la
+++ libspf2_la_DEPENDENCIES =

@250
--- libspf2_la_LIBADD = $(top_builddir)/src/libreplace/libreplace.la
+++ libspf2_la_LIBADD =
=========================================

% make
% make install


results in:

% otool -L /usr/local/libspf2/lib/libspf2.dylib
/usr/local/libspf2/lib/libspf2.dylib:
/usr/local/libspf2/lib/libspf2.2.dylib (compatibility version 3.0.0, current
version 3.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version
88.0.0)
/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libresolv.9.dylib (compatibility version 1.0.0, current version
365.0.0)
/usr/local/lib/libintl.3.dylib (compatibility version 8.0.0, current version
8.3.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 92.0.0)


as expected. cool.

richard

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?listname=spf-devel@v2.listbox.com
Re: [BUGS & (some) WORKROUND(s)] libspf2 1.2.5 on OSX 10.4.1 [ In reply to ]
wayne wrote:

> What is up with me is that I've been working very hard on getting the
> SPF specification finalized. Yeah, I know, the specs that were
> released last winter/spring were good enough to write SPF
> implemenations, but they aren't anywhere near good enough to be
> accepted by the IETF for publication as an RFC.

That's certainly an important thing!

> Now that the final draft has been submitted to the IETF, I am
> planning on update the test suite to make sure it conforms to the
> specification and covers all the cases that I can think of. After
> that, I intend to make sure that libspf2 passes the test suite.

Good. For now, I made libspf2 work compiled against separately built
bind9. Otherwise, my notes are in the ticket on your RT system.

Eugene

-------
To unsubscribe, change your address, or temporarily deactivate your subscription,
please go to http://v2.listbox.com/member/?listname=spf-devel@v2.listbox.com