Skip to content

macOS: ld: framework not found Firebird #51

Closed
@hakonhagland

Description

@hakonhagland

I am trying to build on macOS 12.0.1 (Monterey) with Apple M1 chip, Firebird DB version 3.0.7:

$ perl Makefile.PL
Configuring DBD::Firebird (on darwin)
Detected Firebird API version 30

FIREBIRD_HOME   : /Library/Frameworks/Firebird.framework/Resources
FIREBIRD_INCLUDE: /Library/Frameworks/Firebird.framework/Headers
FIREBIRD_LIB    : /Library/Frameworks/Firebird.framework/Libraries
Client library  : fbclient

Using DBI 1.643 (for perl 5.034000 on darwin-2level) installed in /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level/auto/DBI/
Found libfbembed, will build DBD::FirebirdEmbed too.
Configuring DBD::FirebirdEmbedded (on darwin)

FIREBIRD_HOME   : /Library/Frameworks/Firebird.framework/Resources
FIREBIRD_INCLUDE: /Library/Frameworks/Firebird.framework/Headers
FIREBIRD_LIB    : /Library/Frameworks/Firebird.framework/Libraries
Client library  : fbclient

Writing MYMETA.yml and MYMETA.json
Generating a Unix-style Makefile
Writing Makefile for DBD::Firebird
Writing MYMETA.yml and MYMETA.json

$ make
Skip blib/lib/DBD/Firebird/TableInfo.pm (unchanged)
Skip blib/lib/DBD/Firebird/TableInfo/Firebird21.pm (unchanged)
Skip blib/lib/DBD/Firebird.pm (unchanged)
Skip blib/lib/DBD/Firebird/TableInfo/Basic.pm (unchanged)
Skip blib/lib/DBD/Firebird/GetInfo.pm (unchanged)
Skip blib/lib/DBD/Firebird/TypeInfo.pm (unchanged)
Skip ../blib/lib/DBD/FirebirdEmbedded.pm (unchanged)
Running Mkbootstrap for FirebirdEmbedded ()
chmod 644 "FirebirdEmbedded.bs"
"/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- FirebirdEmbedded.bs ../blib/arch/auto/DBD/FirebirdEmbedded/FirebirdEmbedded.bs 644
"/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/bin/perl" "/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/ExtUtils/xsubpp" -noprototypes -typemap '/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/ExtUtils/typemap'  FirebirdEmbedded.xs > FirebirdEmbedded.xsc
mv FirebirdEmbedded.xsc FirebirdEmbedded.c
cc -c -I"/Library/Frameworks/Firebird.framework/Headers" -I"/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level/auto/DBI"  -I"/Library/Frameworks/Firebird.framework/Headers" -I"/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level/auto/DBI" -fno-common -DPERL_DARWIN -mmacosx-version-min=11.4 -fno-strict-aliasing -pipe -fstack-protector-strong -DPERL_USE_SAFE_PUTENV -Wno-error=implicit-function-declaration -O3   -DVERSION=\"1.32\" -DXS_VERSION=\"1.32\"  "-I/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE"  -DEMBEDDED FirebirdEmbedded.c
In file included from FirebirdEmbedded.xs:20:
In file included from ./FirebirdEmbedded.h:18:
In file included from ./dbdimp.h:19:
In file included from /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level/auto/DBI/DBIXS.h:23:
In file included from /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/perl.h:4085:
In file included from /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/hv.h:659:
In file included from /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/hv_func.h:34:
In file included from /Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/sbox32_hash.h:4:
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/perl.h:737:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~

[...]

dbdimp.c:1530:25: note: ')' token is here
                        SvCUR_set(sv, len/bpc);
                        ^~~~~~~~~~~~~~~~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level/CORE/sv.h:1376:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
/Users/hakonhaegland/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level/auto/DBI/dbipport.h:4186:25: note: expanded from macro 'STMT_END'
#  define STMT_END      )
                        ^
84 warnings generated.
rm -f ../blib/arch/auto/DBD/FirebirdEmbedded/FirebirdEmbedded.bundle
cc  -mmacosx-version-min=11.4 -bundle -undefined dynamic_lookup -fstack-protector-strong -framework Firebird   FirebirdEmbedded.o dbdimp.o  -o ../blib/arch/auto/DBD/FirebirdEmbedded/FirebirdEmbedded.bundle  \
	      \

ld: framework not found Firebird
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [../blib/arch/auto/DBD/FirebirdEmbedded/FirebirdEmbedded.bundle] Error 1
make: *** [subdirs] Error 2

This seems to be a problem on macOS 10.15 also, see this comment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions