Did you ever figured?

On Saturday, May 16, 2020 at 1:38:33 AM UTC-4 Victor Stewart wrote:

> Hey having an absolutely miserable time trying to cross compile 
> libphonenumber, which depends on protobuf, into a static library.
>
> Everything compiles. But fails with undefined symbols at linking time.
>
> this is how I'm building protobuf, on x86 with an x86 protoc that I built 
> first.
>
> file libraries/protoc 
>
> libraries/protoc: Mach-O 64-bit executable x86_64
>
>
> ///////////////////////////////////////////////////////////////////
>
>
> export build_dir=`pwd`/cpp-build
>
> export darwin=darwin`uname -r`
>
> export protoc=/usr/local/bin/protoc
>
> export isysroot=`xcrun --sdk iphoneos --show-sdk-path`
>
> export cflags="-Wno-unused-local-typedef -Wno-unused-function -DNDEBUG -g 
> -O3 -pipe -fPIC -fcxx-exceptions"
>
> export cxxflags="$cflags -std=c++17 -stdlib=libc++"
>
>
> mkdir -p $build_dir/arch
>
> mkdir -p $build_dir/lib
>
>
> ./configure \
>
> --build=x86_64-apple-$darwin \
>
> --host=arm \
>
> --with-protoc=$protoc \
>
> --disable-shared \
>
> --prefix=/usr/local \
>
> "CC=clang" \
>
> "CFLAGS=$cflags -miphoneos-version-min=12.0 -arch arm64 -isysroot 
> $isysroot" \
>
> "CXX=clang" \
>
> "CXXFLAGS=$cxxflags -miphoneos-version-min=12.0 -arch arm64 -isysroot 
> $isysroot" \
>
> LDFLAGS="-arch arm64 -miphoneos-version-min=12.0 -stdlib=libc++" \
>
> "LIBS=-lc++ -lc++abi"
>
>
> make -j8
>
> make install
>
>
> ///////////////////////////////////////////////////////////////////
>
>
> lipo -info libprotobuf.a
>
> Non-fat file: libprotobuf.a is architecture: arm64
>
>
> lipo -info Release-iphoneos/libphonenumber.a
>
> Non-fat file: Release-iphoneos/libphonenumber.a is architecture: arm64
>
>
> Undefined symbols for architecture arm64:
>
>   "google::protobuf::internal::LogMessage::operator<<(char const*)", 
> referenced from:
>
>       ____ZN13ContactReaper14gatherContactsEv_block_invoke in xxx_lto.o
>
>       
> google::protobuf::internal::ArenaStringPtr::CreateInstance(google::protobuf::Arena*,
>  
> std::__1::basic_string<char, std::__1::char_traits<char>, 
> std::__1::allocator<char> > const*) in xxx_lto.o
>
>   "google::protobuf::internal::LogMessage::~LogMessage()", referenced 
> from:
>
>       ____ZN13ContactReaper14gatherContactsEv_block_invoke in xxx_lto.o
>
>       
> google::protobuf::internal::ArenaStringPtr::CreateInstance(google::protobuf::Arena*,
>  
> std::__1::basic_string<char, std::__1::char_traits<char>, 
> std::__1::allocator<char> > const*) in xxx_lto.o
>
>   "google::protobuf::internal::ReadSizeFallback(char const*, unsigned 
> int)", referenced from:
>
>       i18n::phonenumbers::PhoneMetadata::_InternalParse(char const*, 
> google::protobuf::internal::ParseContext*) in 
> libphonenumber.a(phonemetadata.pb.o)
>
>       i18n::phonenumbers::PhoneMetadataCollection::_InternalParse(char 
> const*, google::protobuf::internal::ParseContext*) in 
> libphonenumber.a(phonemetadata.pb.o)
>
>
> etc... 41 of them.
>
>
> been at this for 2 days, and for the life of me can't figure out how to 
> fix it.
>
>
> has anyone else made it through this alive?
>

-- 
You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/c5ae7b99-189b-460f-8df6-5992cf57f6den%40googlegroups.com.

Reply via email to