Firebird sql port

julien Touche jul_bsd at yahoo.fr
Sat Feb 8 13:42:27 PST 2014


Hello,

I'm trying to make a port for Firebird SQL database and the corresponding perl bindings but I got a problem.
While I can manage to compile it outside of macports, it doesn't work though macports architecture
See https://trac.macports.org/ticket/42128

I had a discussion with the binary package maintainer of Firebird for MacOS X and he doesn't understand either.

I get the following errors
>>>
gmake[3]: warning: -jN forced in submake: disabling jobserver mode.
../gen/firebird/bin/gpre_current -n -z -gds_cxx -raw -ids ../src/jrd/dpm.epp ../temp/boot/jrd/dpm.cpp
gpre version UI-V2.5.2.26540 Firebird 2.5
Undefined symbols for architecture x86_64:
  "_icudt30_dat", referenced from:
      _openCommonData.part.0 in udata.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
gmake[4]: *** [../lib/libicuuc.dylib.30.0] Error 1
[...]

gmake[3]: warning: -jN forced in submake: disabling jobserver mode.
/opt/local/bin/g++-mp-4.9 -DBOOT_BUILD -I../src/include/gen -I../src/include -I../src/vulcan -DNAMESPACE=Vulcan -I../extern/icu/source/common -I../extern/icu/source/i18n -O1 -DDARWIN -pipe -p -MMD -fPIC -fno-common -mmacosx-version-min=10.6 -D_THREAD_SAFE   -fvisibility-inlines-hidden -fvisibility=hidden -fno-weak  -c ../temp/boot/jrd/dpm.cpp -o ../temp/boot/jrd/dpm.o
/opt/local/bin/g++-mp-4.9    ../temp/boot/gpre/cmd.o ../temp/boot/gpre/cme.o ../temp/boot/gpre/cmp.o ../temp/boot/gpre/c_cxx.o ../temp/boot/gpre/exp.o ../temp/boot/gpre/gpre.o ../temp/boot/gpre/hsh.o ../temp/boot/gpre/int_cxx.o ../temp/boot/gpre/jrdmet.o ../temp/boot/gpre/movg.o ../temp/boot/gpre/msc.o ../temp/boot/gpre/par.o ../temp/boot/gpre/pat.o ../temp/boot/gpre/sqe.o ../temp/boot/gpre/sql.o ../temp/boot/gpre/gpre_meta.o ../temp/boot/common/classes/alloc.o ../temp/boot/common/classes/locks.o ../temp/boot/common/classes/semaphore.o ../temp/boot/common/classes/fb_string.o ../temp/boot/common/classes/timestamp.o ../temp/boot/common/classes/PublicHandle.o ../temp/boot/common/classes/TempFile.o ../temp/boot/common/classes/UserBlob.o ../temp/boot/common/classes/SafeArg.o ../temp/boot/common/classes/MsgPrint.o ../temp/boot/common/classes/BaseStream.o ../temp/boot/common/fb_exception.o ../temp/boot/common/thd.o ../temp/boot/common/classes/MetaName.o
 ../temp/boot/common/StatusHolder.o ../temp/boot/common/classes/init.o ../temp/boot/common/StatusArg.o ../temp/boot/common/utils.o ../temp/boot/config/AdminException.o ../temp/boot/config/Args.o ../temp/boot/config/ArgsException.o ../temp/boot/config/ConfObj.o ../temp/boot/config/ConfObject.o ../temp/boot/config/ConfigFile.o ../temp/boot/config/Configuration.o ../temp/boot/config/Element.o ../temp/boot/config/FileName.o ../temp/boot/config/InputFile.o ../temp/boot/config/InputStream.o ../temp/boot/config/Lex.o ../temp/boot/config/ScanDir.o ../temp/boot/config/Stream.o ../temp/boot/config/StreamSegment.o ../temp/boot/vulcan/PathName.o ../temp/boot/vulcan/RefObject.o ../gen/firebird/lib/libfbstatic.a -o ../gen/firebird/bin/gpre_static -L../gen/firebird/lib -lm  -framework CoreFoundation  -lcurses -licuuc -licudata -licui18n
Undefined symbols for architecture x86_64:
  "_u_countChar32_3_0", referenced from:
      Jrd::UnicodeUtil::utf16Length(unsigned int, unsigned short const*) in libfbstatic.a(unicode_util.o)
  "_u_strCompare_3_0", referenced from:
      Jrd::UnicodeUtil::utf16Compare(unsigned int, unsigned short const*, unsigned int, unsigned short const*, unsigned short*) in libfbstatic.a(unicode_util.o)
      Jrd::UnicodeUtil::Utf16Collation::stringToKey(unsigned short, unsigned short const*, unsigned short, unsigned char*, unsigned short) const in libfbstatic.a(unicode_util.o)
  "_u_tolower_3_0", referenced from:
      Jrd::UnicodeUtil::utf16LowerCase(unsigned int, unsigned short const*, unsigned int, unsigned short*, unsigned int const*) in libfbstatic.a(unicode_util.o)
  "_u_toupper_3_0", referenced from:
      Jrd::UnicodeUtil::utf16UpperCase(unsigned int, unsigned short const*, unsigned int, unsigned short*, unsigned int const*) in libfbstatic.a(unicode_util.o)
  "_ucnv_close_3_0", referenced from:
      Jrd::UnicodeUtil::utf16ToKey(unsigned short, unsigned short const*, unsigned short, unsigned char*) in libfbstatic.a(unicode_util.o)
  "_ucnv_fromUChars_3_0", referenced from:
      Jrd::UnicodeUtil::utf16ToKey(unsigned short, unsigned short const*, unsigned short, unsigned char*) in libfbstatic.a(unicode_util.o)
  "_ucnv_open_3_0", referenced from:
      Jrd::UnicodeUtil::utf16ToKey(unsigned short, unsigned short const*, unsigned short, unsigned char*) in libfbstatic.a(unicode_util.o)
  "_utf8_nextCharSafeBody_3_0", referenced from:
      Jrd::UnicodeUtil::utf8ToUtf16(unsigned int, unsigned char const*, unsigned int, unsigned short*, unsigned short*, unsigned int*) in libfbstatic.a(unicode_util.o)
      Jrd::UnicodeUtil::utf8WellFormed(unsigned int, unsigned char const*, unsigned int*) in libfbstatic.a(unicode_util.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
gmake[3]: *** [../gen/firebird/bin/gpre_static] Error 1
[...]

/opt/local/bin/ranlib: file: ../gen/firebird/lib/libfbstatic.a(dllinst.o) has no symbols
ranlib ../gen/firebird/lib/libfbstatic.a
ranlib: file: ../gen/firebird/lib/libfbstatic.a(dllinst.o) has no symbols
chmod 666 ../gen/firebird/lib/libfbstatic.a
[...]
<<<

It's the recommendation of the maintainer to use included icu and not the system one.

Any hints?

Thanks.
Cheers,

Julien



More information about the macports-users mailing list