Subject | Re: [ib-support] FB Mac OS X |
---|---|
Author | Naoto Gohko |
Post date | 2002-10-24T07:56:48Z |
Thank you.
I has tried.
As follows, Makefile.PL of DBD-InterBase was rewritten.
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% diff Makefile.PL
Makefile.darwin.PL
75a76,87
However, it becomes an error by the test sequence.
========== test example log start
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% make
/usr/bin/perl -Iblib/arch -Iblib/lib -I/System/Library/Perl/darwin
-I/System/Library/Perl Makefile.darwin.PL Makefile.darwin
InterBase bin directory :
[/Library/Frameworks/Firebird.framework/Resources/bin]
InterBase include directory :
[/Library/Frameworks/Firebird.framework/Headers] InterBase lib
directory : [/Library/Frameworks/Firebird.framework]
Reading cached test configuration...
Full path to your test database : [/home/gdb/test.gdb]
Username : [SYSDBA]
Password : [masterkey]
Using DBI 1.30 installed in /Users/chroum/Library/Perl/darwin/auto/DBI
Writing Makefile for DBD::InterBase
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% make test
cc -c -I"/Library/Frameworks/Firebird.framework/Headers"
-I"/Users/chroum/Library/Perl/darwin/auto/DBI" -framework Firebird -Os
-DVERSION=\"0.40\" -DXS_VERSION=\"0.40\"
-I/System/Library/Perl/darwin/CORE InterBase.c
cc -c -I"/Library/Frameworks/Firebird.framework/Headers"
-I"/Users/chroum/Library/Perl/darwin/auto/DBI" -framework Firebird -Os
-DVERSION=\"0.40\" -DXS_VERSION=\"0.40\"
-I/System/Library/Perl/darwin/CORE dbdimp.c
dbdimp.c: In function `ib_st_fetch':
dbdimp.c:1311: warning: use of `long double' type; its size may change
in a future release
dbdimp.c:1311: warning: (Long double usage is reported only once for
each file.
dbdimp.c:1311: warning: To disable this warning, use -Wno-long-double.)
Running Mkbootstrap for DBD::InterBase ()
chmod 644 InterBase.bs
LD_RUN_PATH="" cc -o blib/arch/auto/DBD/InterBase/InterBase.bundle
-bundle -flat_namespace -undefined suppress InterBase.o dbdimp.o
chmod 755 blib/arch/auto/DBD/InterBase/InterBase.bundle
cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs
chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/00base...........dyld: /usr/bin/perl Undefined symbols:
_isc_attach_database
_isc_blob_info
_isc_cancel_blob
_isc_cancel_events
_isc_close_blob
_isc_commit_retaining
_isc_commit_transaction
_isc_create_blob2
_isc_database_info
_isc_decode_sql_date
_isc_decode_sql_time
_isc_decode_timestamp
_isc_detach_database
_isc_dsql_alloc_statement2
_isc_dsql_describe
_isc_dsql_describe_bind
_isc_dsql_execute
_isc_dsql_execute2
_isc_dsql_execute_immediate
_isc_dsql_fetch
_isc_dsql_free_statement
_isc_dsql_prepare
_isc_dsql_set_cursor_name
_isc_dsql_sql_info
_isc_encode_sql_date
_isc_encode_sql_time
_isc_encode_timestamp
_isc_event_block
_isc_event_counts
_isc_free
_isc_get_segment
_isc_interprete
_isc_open_blob2
_isc_put_segment
_isc_que_events
_isc_rollback_retaining
_isc_rollback_transaction
_isc_sql_interprete
_isc_sqlcode
_isc_start_transaction
_isc_vax_integer
_isc_wait_for_event
t/00base...........dubious
Test returned status 0 (wstat 5, 0x5)
========== and so on ..... test example log end
Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------------------
-------
t/00base.t 0 5 ?? ?? % ??
t/10dsnlist.t 0 5 ?? ?? % ??
t/20createdrop.t 0 5 ?? ?? % ??
t/30insertfetch.t 0 5 ?? ?? % ??
t/40alltypes.t 0 5 ?? ?? % ??
t/40bindparam.t 0 5 ?? ?? % ??
t/40blobs.t 0 5 ?? ?? % ??
t/40cursor.t 0 5 ?? ?? % ??
t/40cursoron.t 0 5 ?? ?? % ??
t/40datetime.t 0 5 ?? ?? % ??
t/40doparam.t 0 5 ?? ?? % ??
t/40listfields.t 0 5 ?? ?? % ??
t/40nulls.t 0 5 ?? ?? % ??
t/40numrows.t 0 5 ?? ?? % ??
t/41numeric.t 0 5 ?? ?? % ??
t/50chopblanks.t 0 5 ?? ?? % ??
t/50commit.t 0 5 ?? ?? % ??
t/61settx.t 0 5 ?? ?? % ??
t/70nestedoff.t 0 5 ?? ?? % ??
t/70nestedon.t 0 5 ?? ?? % ??
t/ak-dbd.t 0 5 48 48 100.00% 1-48
t/dbdadmin.t 0 5 3 3 100.00% 1-3
2 tests skipped.
Failed 22/24 test scripts, 8.33% okay. 51/51 subtests failed, 0.00%
okay.
make: *** [test_dynamic] Error 2
I has tried.
As follows, Makefile.PL of DBD-InterBase was rewritten.
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% diff Makefile.PL
Makefile.darwin.PL
75a76,87
> elsif ($Config::Config{osname} eq 'darwin')/Library/Frameworks/Firebird.framework/Resources/bin));
> {
> $isql_name = 'isql';
>
> # try to find InterBase installation via the registry
> my $ib_bin_dir = '';
>
> $ib_lib_dir .= '\\' unless ($ib_lib_dir =~ m|^.*\\$|gi);
>
> @ib_bin_dirs = (qw(/opt/interbase/bin
> @ib_inc_dirs = (qw(/opt/interbase/include/Library/Frameworks/Firebird.framework/Headers));
> }431a444,451
> }/opt/interbase/lib)],
> elsif ($os eq 'darwin')
> {
> my $ib_lib = dir_choice("InterBase lib directory",
> [qw(/Library/Frameworks/Firebird.framework
> [qw(Firebird libgds.dylib)]);test program is also OK? I don't know.
> $MakeParams{'CCFLAGS'} = "-framework Firebird";
> $MakeParams{'LIBS'} = "-L$ib_lib";
However, it becomes an error by the test sequence.
========== test example log start
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% make
/usr/bin/perl -Iblib/arch -Iblib/lib -I/System/Library/Perl/darwin
-I/System/Library/Perl Makefile.darwin.PL Makefile.darwin
InterBase bin directory :
[/Library/Frameworks/Firebird.framework/Resources/bin]
InterBase include directory :
[/Library/Frameworks/Firebird.framework/Headers] InterBase lib
directory : [/Library/Frameworks/Firebird.framework]
Reading cached test configuration...
Full path to your test database : [/home/gdb/test.gdb]
Username : [SYSDBA]
Password : [masterkey]
Using DBI 1.30 installed in /Users/chroum/Library/Perl/darwin/auto/DBI
Writing Makefile for DBD::InterBase
[geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% make test
cc -c -I"/Library/Frameworks/Firebird.framework/Headers"
-I"/Users/chroum/Library/Perl/darwin/auto/DBI" -framework Firebird -Os
-DVERSION=\"0.40\" -DXS_VERSION=\"0.40\"
-I/System/Library/Perl/darwin/CORE InterBase.c
cc -c -I"/Library/Frameworks/Firebird.framework/Headers"
-I"/Users/chroum/Library/Perl/darwin/auto/DBI" -framework Firebird -Os
-DVERSION=\"0.40\" -DXS_VERSION=\"0.40\"
-I/System/Library/Perl/darwin/CORE dbdimp.c
dbdimp.c: In function `ib_st_fetch':
dbdimp.c:1311: warning: use of `long double' type; its size may change
in a future release
dbdimp.c:1311: warning: (Long double usage is reported only once for
each file.
dbdimp.c:1311: warning: To disable this warning, use -Wno-long-double.)
Running Mkbootstrap for DBD::InterBase ()
chmod 644 InterBase.bs
LD_RUN_PATH="" cc -o blib/arch/auto/DBD/InterBase/InterBase.bundle
-bundle -flat_namespace -undefined suppress InterBase.o dbdimp.o
chmod 755 blib/arch/auto/DBD/InterBase/InterBase.bundle
cp InterBase.bs blib/arch/auto/DBD/InterBase/InterBase.bs
chmod 644 blib/arch/auto/DBD/InterBase/InterBase.bs
PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib
-I/System/Library/Perl/darwin -I/System/Library/Perl -e 'use
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/00base...........dyld: /usr/bin/perl Undefined symbols:
_isc_attach_database
_isc_blob_info
_isc_cancel_blob
_isc_cancel_events
_isc_close_blob
_isc_commit_retaining
_isc_commit_transaction
_isc_create_blob2
_isc_database_info
_isc_decode_sql_date
_isc_decode_sql_time
_isc_decode_timestamp
_isc_detach_database
_isc_dsql_alloc_statement2
_isc_dsql_describe
_isc_dsql_describe_bind
_isc_dsql_execute
_isc_dsql_execute2
_isc_dsql_execute_immediate
_isc_dsql_fetch
_isc_dsql_free_statement
_isc_dsql_prepare
_isc_dsql_set_cursor_name
_isc_dsql_sql_info
_isc_encode_sql_date
_isc_encode_sql_time
_isc_encode_timestamp
_isc_event_block
_isc_event_counts
_isc_free
_isc_get_segment
_isc_interprete
_isc_open_blob2
_isc_put_segment
_isc_que_events
_isc_rollback_retaining
_isc_rollback_transaction
_isc_sql_interprete
_isc_sqlcode
_isc_start_transaction
_isc_vax_integer
_isc_wait_for_event
t/00base...........dubious
Test returned status 0 (wstat 5, 0x5)
========== and so on ..... test example log end
Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------------------
-------
t/00base.t 0 5 ?? ?? % ??
t/10dsnlist.t 0 5 ?? ?? % ??
t/20createdrop.t 0 5 ?? ?? % ??
t/30insertfetch.t 0 5 ?? ?? % ??
t/40alltypes.t 0 5 ?? ?? % ??
t/40bindparam.t 0 5 ?? ?? % ??
t/40blobs.t 0 5 ?? ?? % ??
t/40cursor.t 0 5 ?? ?? % ??
t/40cursoron.t 0 5 ?? ?? % ??
t/40datetime.t 0 5 ?? ?? % ??
t/40doparam.t 0 5 ?? ?? % ??
t/40listfields.t 0 5 ?? ?? % ??
t/40nulls.t 0 5 ?? ?? % ??
t/40numrows.t 0 5 ?? ?? % ??
t/41numeric.t 0 5 ?? ?? % ??
t/50chopblanks.t 0 5 ?? ?? % ??
t/50commit.t 0 5 ?? ?? % ??
t/61settx.t 0 5 ?? ?? % ??
t/70nestedoff.t 0 5 ?? ?? % ??
t/70nestedon.t 0 5 ?? ?? % ??
t/ak-dbd.t 0 5 48 48 100.00% 1-48
t/dbdadmin.t 0 5 3 3 100.00% 1-3
2 tests skipped.
Failed 22/24 test scripts, 8.33% okay. 51/51 subtests failed, 0.00%
okay.
make: *** [test_dynamic] Error 2
On 2002.10.24, at 15:04 Asia/Tokyo, John Bellardo wrote:
> Naoto,
>
> On Wednesday, October 23, 2002, at 10:39 PM, Naoto Gohko wrote:
>
>> Hi,
>> It contributes for the first time.
>>
>> [...]
>
>> The portions in which I changed Makefile.PL of DBD-InterBase are the
>> following portions.
>>
>> [geen:bsd_ufs/cvsdbi-interbase/dbi-interbase] chroum% diff Makefile.PL
>> Makefile.darwin.PL
>> 75a76,87
>>> elsif ($Config::Config{osname} eq 'darwin')
>>> {
>>> $isql_name = 'isql';
>>>
>>> # try to find InterBase installation via the registry
>>> my $ib_bin_dir = '';
>>>
>>> $ib_lib_dir .= '\\' unless ($ib_lib_dir =~ m|^.*\\$|gi);
>>>
>>> @ib_bin_dirs = (qw(/opt/interbase/bin
>> /Library/Frameworks/Firebird.framework/Resources/bin));
>>> @ib_inc_dirs = (qw(/opt/interbase/include
>> /Library/Frameworks/Firebird.framework/Headers));
>>> }
>> [...]
>
> I've never used DBD-InterBase (although I probably should soon), so I
> can't give you any direct experience. But, it can't see where in your
> changes you are linking against the framework. You need a "-framework
> Firebird" in the link line for your module, or else the dynamic loader
> won't load the FB framework when your module is loaded, and you will
> get unresolved symbols.
>
> -John
>
=================================================
| Naoto Gohko
| <mailto:n-gohko@...>
| Jicoo Co. <http://www.jicoo.co.jp/>
=================================================