Archived
Facing various issues while building IceTouch - 3.6
Hi, I'm unable to build Ice Touch on my machine, not sure what exactly the issue is. I'm facing this error at the moment.
making COMPILE_FOR_IPHONE=yes all in src
making all in translators
make[2]: *** No rule to make target /opt/Ice-3.7.3/cpp/src/slice2cpp/Main.cpp', needed by
macosx/slice2cpp/Main_slice2cpp_cpp.o'. Stop.
make[1]: *** [all] Error 1
make: *** [all] Error 1
Cloned from this link - https://github.com/zeroc-ice/icetouch
Comments
-
Hi,
Seems that you have set
ICE_HOME
to/op/Ice-3.7.3
you must not setICE_HOME
when building Ice Touch from sources.Ice Touch was based on Ice 3.6, and later integrated on Ice 3.7, If you are starting a new iOS project you might consider using Ice for Swift instead. Ice for Swift is part of the upcoming 3.7.3 released.
0 -
You should also make sure to update the submodule:
cd icetouch git submodule update
This will pull the ice submodule in the
icetouch/ice
directory.As José mentioned, I strongly recommend to use Ice 3.7 instead. Ice Touch 3.6 doesn't support latest Xcode and iOS versions, you will need to use Ice 3.7 if you want to support these.
See Using the macOS distribution from the Ice 3.7 documentation for information on installing Ice and using the Xcode SDKs to develop iOS applications.
Note that we now also provide an Ice for Swift mapping which allows developing iOS applications with Swift.
0 -
Here is the Output after disabling ICE_HOME environmental variable as pasted below. Also, /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:62:
It seems that Mac OSX toolchain is chosen even after COMPILE_FOR_IPHONE = yes is chosen.
GC02Z2DM0LVCFE:icetouch-3.6 deepanshusingh$ make
if [ ! -d lib ] || [ ! -d lib/IceTouch ]; \
then \
mkdir lib ; chmod a+rx lib ; \
mkdir lib/IceTouch ; chmod a+rx lib/IceTouch ; \
for sdk in lib/IceTouch/Cpp lib/IceTouch/ObjC; \
do \
mkdir $sdk ; chmod a+rx $sdk ;\
mkdir $sdk/bin ; chmod a+rx $sdk/bin ;\
mkdir $sdk/slice ; chmod a+rx $sdk/slice ;\
for platform in macosx iphoneos iphonesimulator ; \
do \
platform_sdk=$sdk/$platform.sdk ;\
mkdir $platform_sdk ; chmod a+rx $platform_sdk ;\
mkdir $platform_sdk/usr ; chmod a+rx $platform_sdk/usr ;\
mkdir $platform_sdk/usr/local ; chmod a+rx $platform_sdk/usr/local ;\
mkdir $platform_sdk/usr/local/include ; chmod a+rx $platform_sdk/usr/local/include ;\
mkdir $platform_sdk/usr/local/include/IceUtil ; chmod a+rx $platform_sdk/usr/local/include/IceUtil ;\
mkdir $platform_sdk/usr/local/include/Ice ; chmod a+rx $platform_sdk/usr/local/include/Ice ;\
mkdir $platform_sdk/usr/local/include/IceSSL ; chmod a+rx $platform_sdk/usr/local/include/IceSSL ;\
mkdir $platform_sdk/usr/local/include/Glacier2 ; chmod a+rx $platform_sdk/usr/local/include/Glacier2 ;\
mkdir $platform_sdk/usr/local/include/IceGrid ; chmod a+rx $platform_sdk/usr/local/include/IceGrid ;\
mkdir $platform_sdk/usr/local/include/IceStorm ; chmod a+rx $platform_sdk/usr/local/include/IceStorm ;\
mkdir $platform_sdk/usr/local/lib ; chmod a+rx $platform_sdk/usr/local/lib ;\
cp -fp ./config/$platform-SDKSettings.plist $platform_sdk/SDKSettings.plist ;\
chmod a+r $platform_sdk/SDKSettings.plist ;\
done ;\
for subdir in ./ice/slice/* ; \
do \
echo "Copying $subdir to $sdk/slice..." ; \
cp -fpr $subdir $sdk/slice ; \
done ;\
done; \
else \
touch lib/IceTouch; \
fi
making COMPILE_FOR_IPHONE=yes all in src
making all in translators
xcrun clang++ -Imacosx/include -I../../ice/cpp/src -I../../ice/cpp/include -mmacosx-version-min=10.14.1 -pthread -fvisibility=hidden -g -Wall -arch armv7 -arch armv7s -arch arm64 -c ../../ice/cpp/src/slice2cpp/Main.cpp -o macosx/slice2cpp/Main_slice2cpp_cpp.o
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:62:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/cdefs.h:784:2: error: Unsupported architectureerror Unsupported architecture
^
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:64:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/_types.h:27:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:33:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/machine/_types.h:34:2: error: architecture not supportederror architecture not supported
^
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:64:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/_types.h:27:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
typedef __int64_t __darwin_blkcnt_t; /* total blocks */
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'
typedef __uint64_t __darwin_ino64_t; /* [???] Used for 64 bit inodes */
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
typedef __uint32_t __darwin_uid_t; /* [???] user IDs */
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
typedef __uint32_t __darwin_useconds_t; /* [???] microseconds */
^
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:66:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:109:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/signal.h:82:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/machine/signal.h:34:2: error: architecture not supportederror architecture not supported
^
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:66:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:109:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/signal.h:146:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/machine/_mcontext.h:31:2: error: architecture not supportederror architecture not supported
^
In file included from ../../ice/cpp/src/slice2cpp/Main.cpp:10:
In file included from ../../ice/cpp/include/IceUtil/Options.h:13:
In file included from ../../ice/cpp/include/IceUtil/Config.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/stdlib.h:94:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/stdlib.h:66:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/wait.h:109:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/signal.h:150:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/_types/_sigaltstack.h:40:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/machine/types.h:37:2: error: architecture not supportederror architecture not supported
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [macosx/slice2cpp/Main_slice2cpp_cpp.o] Error 1
make[1]: *** [all] Error 1make: *** [all] Error 1
0 -
Here's the modified config/Make.rules file that I used : # ********************************************************************** # # Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved. # # This copy of Ice Touch is licensed to you under the terms described # in the ICE_LICENSE file included in this distribution. # # ********************************************************************** # # Select an installation base directory. The directory will be created # if it does not exist. # prefix ?= /opt/IceTouch-$(VERSION) # # Xcode root directory. If you have several Xcode versions installed, # choose the version you want to use to build Ice Touch. The default # is the one returned by "xcode-select -print-path". # XCODE_PATH = /Applications/Xcode.app # # If MCPP is not installed in a standard location where the compiler # can find it, set MCPP_HOME to the Mcpp installation directory. # MCPP_HOME = /usr/local/Cellar/mcpp # # Define OPTIMIZE_SIZE as yes if you want to build with minimal size. # Define OPTIMIZE_SPEED as yes if you want to build with maximum speed. # # These options are mutually exclusive. If neither is set, Ice Touch # is built with debug information. # #OPTIMIZE_SIZE = yes #OPTIMIZE_SPEED = yes # # If you don't define COMPILE_FOR_IPHONE, COMPILE_FOR_IPHONE_SIMULATOR or # COMPILE_FOR_OSX below, the default is to build for all the platforms. # # # Compile the Xcode SDK for the iPhone platform # COMPILE_FOR_IPHONE = yes # # Compile the Xcode SDK for the iPhone simulator platform # #COMPILE_FOR_IPHONE_SIMULATOR = yes # # Compile the Xcode SDK for OS X platform # #COMPILE_FOR_OSX = yes # # The minimum SDK version supported by targets, the default is 7.1 for iOS and # 10.9 for OS X. # OSX_TARGET_MIN_SDK_VERSION = 10.14.1 IOS_TARGET_MIN_SDK_VERSION = 12.1 # # The build architectures. The default is to build fat binaries with all # supported architectures for release builds, and single arch binaries # for debug builds. The list of supported architecturs depends of the # target platform. # # OS X: #
0 -
Here's the Makefile : (Only one line has been shifted from it's original order from the original Makefile and it is highlighted here, rest remains same as the original file).
**********************************************************************
#
Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
#
This copy of Ice Touch is licensed to you under the terms described
in the ICE_LICENSE file included in this distribution.
#
**********************************************************************
top_srcdir = .
**include $(top_srcdir)/config/Make.rules ** #ONLY THIS LINE HAS BEEN SHIFTED FROM BELOW NEXT
#LINE TO HERE, REST REMAINS SAME.#
Figure out the platforms to build, if empty we'll build all the platforms.
#
PLATFORMS := $(strip $(foreach f,IPHONE IPHONE_SIMULATOR OSX,$(if $(findstring yes,$(COMPILE_FOR_$f)),$f)))include $(top_srcdir)/config/Make.rules
ifeq ($(USE_BIN_DIST),yes)
SUBDIRS = test
else
SUBDIRS = src test
endifINSTALL_SUBDIRS =
install::
@for subdir in $(INSTALL_SUBDIRS); \
do \
if test ! -d $$subdir ; \
then \
echo "Creating $$subdir..." ; \
mkdir -p $$subdir ; \
chmod a+rx $$subdir ; \
fi ; \
done
ifeq ($(create_runpath_symlink),yes)
@if test -h $(embedded_runpath_prefix) ; \
then \
if\rm -f $(embedded_runpath_prefix) 2>/dev/null
; \
then echo "Removed symbolic link $(embedded_runpath_prefix)"; fi \
fi
@if ! test -d $(embedded_runpath_prefix) ; \
then \
ifln -s $(prefix) $(embedded_runpath_prefix) 2>/dev/null
; \
then echo "Created symbolic link $(embedded_runpath_prefix) --> $(prefix)"; fi \
fi
endififneq ($(USE_BIN_DIST),yes)
install all:: sdks
endifsdks:
if [ ! -d lib ] || [ ! -d lib/IceTouch ]; \
then \
$(call mkdir,lib) ; \
$(call mkdir,lib/IceTouch) ; \
for sdk in lib/IceTouch/Cpp lib/IceTouch/ObjC; \
do \
$(call mkdir,$$sdk) ;\
$(call mkdir,$$sdk/bin) ;\
$(call mkdir,$$sdk/slice) ;\
for platform in macosx iphoneos iphonesimulator ; \
do \
platform_sdk=$$sdk/$$platform.sdk ;\
$(call mkdir,$$platform_sdk) ;\
$(call mkdir,$$platform_sdk/usr) ;\
$(call mkdir,$$platform_sdk/usr/local) ;\
$(call mkdir,$$platform_sdk/usr/local/include) ;\
$(call mkdir,$$platform_sdk/usr/local/include/IceUtil) ;\
$(call mkdir,$$platform_sdk/usr/local/include/Ice) ;\
$(call mkdir,$$platform_sdk/usr/local/include/IceSSL) ;\
$(call mkdir,$$platform_sdk/usr/local/include/Glacier2) ;\
$(call mkdir,$$platform_sdk/usr/local/include/IceGrid) ;\
$(call mkdir,$$platform_sdk/usr/local/include/IceStorm) ;\
$(call mkdir,$$platform_sdk/usr/local/lib) ;\
$(INSTALL_DATA) $(top_srcdir)/config/$$platform-SDKSettings.plist $$platform_sdk/SDKSettings.plist ;\
chmod a+r $$platform_sdk/SDKSettings.plist ;\
done ;\
for subdir in $(ice_dir)/slice/* ; \
do \
echo "Copying $$subdir to $$sdk/slice..." ; \
cp -fpr $$subdir $$sdk/slice ; \
done ;\
done; \
else \
touch lib/IceTouch; \
fiifeq ($(PLATFORMS),)
clean::
rm -rf lib
endif$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
do \
for platform in $(if $(PLATFORMS),$(PLATFORMS),OSX IPHONE IPHONE_SIMULATOR); \
do \
echo "making COMPILE_FOR_$$platform=yes $@ in $$subdir"; \
( cd $$subdir && $(MAKE) -f Makefile $@ COMPILE_FOR_$$platform=yes ) || exit 1; \
done; \
donetests:
for platform in $(if $(PLATFORMS),$(PLATFORMS),OSX IPHONE IPHONE_SIMULATOR); \
do \
echo "making COMPILE_FOR_$$platform=yes"; \
( cd test && $(MAKE) -f Makefile COMPILE_FOR_$$platform=yes ) || exit 1; \
done; \ifeq ($(COMPILE_FOR_OSX),yes)
test::
@python $(top_srcdir)/allTests.py
endifinstall::
@if test ! -d $(prefix) ; \
then \
echo "Creating $(prefix)..." ; \
$(call mkdir,$(prefix)) ; \
fi
@if test ! -f $(prefix)/ICE_LICENSE ; \
then \
$(call installdata,$(top_srcdir)/ICE_LICENSE,$(prefix)) ; \
fi
@if test ! -f $(prefix)/ICE_LICENSE ; \
then \
$(call installdata,$(ice_dir)/ICE_LICENSE,$(prefix)) ; \
fi
@if test ! -f $(prefix)/LICENSE ; \
then \
$(call installdata,$(ice_dir)/LICENSE,$(prefix)) ; \
fi
@if test ! -d $(prefix)/lib ; \
then \
$(call mkdir,$(prefix)/lib); \
fi
@if test ! -d $(prefix)/lib/IceTouch ; \
then \
$(call mkdir,$(prefix)/lib/IceTouch); \
fi
if [ -d $(prefix)/lib/IceTouch/Cpp ]; \
then \
rm -rf $(prefix)/lib/IceTouch/Cpp; \
fi
cp -fpr $(top_srcdir)/lib/IceTouch/Cpp $(prefix)/lib/IceTouch/Cpp
if [ -d $(prefix)/lib/IceTouch/ObjC ]; \
then \
rm -rf $(prefix)/lib/IceTouch/ObjC; \
fi
cp -fpr $(top_srcdir)/lib/IceTouch/ObjC $(prefix)/lib/IceTouch/ObjC``
0 -
@benoit tried what you said "git submodule update" still facing kind of same issue.
0 -
Also, here's the original makefile. I see some conditions whether you want to compile for everything(IPHONE, IPHONE_SIMULATOR as well as Mac OS) or for Mac OS but I don't see anything that says if you want to compile only for IPHONE.
Any comments on this?
GC02Z2DM0LVCFE:icetouch deepanshusingh$ vi Makefile
for subdir in $(ice_dir)/slice/* ; \ do \ echo "Copying $$subdir to $$sdk/slice..." ; \ cp -fpr $$subdir $$sdk/slice ; \ done ;\ done; \ else \ touch lib/IceTouch; \ fi
ifeq ($(PLATFORMS),)
clean::
rm -rf lib
endif$(EVERYTHING)::
@for subdir in $(SUBDIRS); \
do \
for platform in $(if $(PLATFORMS),$(PLATFORMS),OSX IPHONE IPHONE_SIMULATOR); \
do \
echo "making COMPILE_FOR_$$platform=yes $@ in $$subdir"; \
( cd $$subdir && $(MAKE) -f Makefile $@ COMPILE_FOR_$$platform=yes ) || exit 1; \
done; \
donetests:
for platform in $(if $(PLATFORMS),$(PLATFORMS),OSX IPHONE IPHONE_SIMULATOR); \
do \
echo "making COMPILE_FOR_$$platform=yes"; \
( cd test && $(MAKE) -f Makefile COMPILE_FOR_$$platform=yes ) || exit 1; \
done; \ifeq ($(COMPILE_FOR_OSX),yes)
test::
@python $(top_srcdir)/allTests.py
endifinstall::
@if test ! -d $(prefix) ; \
then \
echo "Creating $(prefix)..." ; \
$(call mkdir,$(prefix)) ; \
fi
@if test ! -f $(prefix)/ICE_LICENSE ; \
then \
$(call installdata,$(top_srcdir)/ICE_LICENSE,$(prefix)) ; \
fi
@if test ! -f $(prefix)/ICE_LICENSE ; \
then \
$(call installdata,$(ice_dir)/ICE_LICENSE,$(prefix)) ; \
fi
@if test ! -f $(prefix)/LICENSE ; \
then \
$(call installdata,$(ice_dir)/LICENSE,$(prefix)) ; \
fi
@if test ! -d $(prefix)/lib ; \
then \
$(call mkdir,$(prefix)/lib); \
fi
@if test ! -d $(prefix)/lib/IceTouch ; \
then \
$(call mkdir,$(prefix)/lib/IceTouch); \
fi
if [ -d $(prefix)/lib/IceTouch/Cpp ]; \
then \
rm -rf $(prefix)/lib/IceTouch/Cpp; \
fi
cp -fpr $(top_srcdir)/lib/IceTouch/Cpp $(prefix)/lib/IceTouch/Cpp
if [ -d $(prefix)/lib/IceTouch/ObjC ]; \
then \
rm -rf $(prefix)/lib/IceTouch/ObjC; \
fi
cp -fpr $(top_srcdir)/lib/IceTouch/ObjC $(prefix)/lib/IceTouch/ObjC0 -
This error is most likely caused because you've uncommented
ARCHFLAGS
inMake.rules
. I see that you are trying to target macOS 10.14 or iOS 12 with Ice Touch. However these platforms aren't support with Ice Touch. Furthermore it only supports Xcode 6 which is probably not what you are using. See https://zeroc.com/downloads/archive/icetouch/1.3.3/platformsCan you switch to Ice 3.7 instead which provides support for iOS development with C++, Objective-C and Swift? Or is there a specific reason why want to continue using Ice Touch instead?
0 -
We're using Ice 3.7.3 with cpp98 for MacOS.
Now we want to run this on iOS, so if we just change the software kit to iOS it'll work, is this what you're saying?0 -
If you already have a pre-built IOS C++ static libraries and dependencies for ice 3.7.3 which we can link to “bidirectional” project present in the ice-demos and run on IOS devices, can you please share?
Also, I'm building Ice 3.7.3 from here - https://github.com/zeroc-ice/ice/blob/3.7/cpp/README.md
While running "make CONFIGS=all PLATFORMS=all -j8" under "build configuration & platforms", I'm stuck with this issue, any alternative to bypass this :** BUILD FAILED **
make: *** [test/ios/controller[iphoneos-cpp11-xcodesdk]] Error 65
make: *** Waiting for unfinished jobs....
error: No profiles for 'com.zeroc.Cpp98-Test-Controller' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.zeroc.Cpp98-Test-Controller'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'C++98 Test Controller')
note: Using new build systemnote: Planning buildnote: Constructing build description
** BUILD FAILED **0 -
We will release Ice 3.7.3 very soon, but it's not released yet. The current version is Ice 3.7.2, and when you install it (with
brew install ice
), you get the static libraries for iOS, and many other files.These static libraries are in
/usr/local/opt/ice/sdk/<platform>.sdk
, for example:/usr/local/opt/ice/sdk/iphoneos.sdk/usr/lib/libIce.a
You can also build Ice C++98 from sources if you like with:
make CONFIGS=xcodesdk PLATFORMS=iphoneos -j8 srcs
"srcs" means you're building only the sources. If you want to build the test suite as well, I suggest to first open the C++ Test Controller project in Xcode and adjust Signing (in
Signing & Capabilities
).Then, build all:
make CONFIGS=xcodesdk PLATFORMS=iphoneos -j8
Best regards,
Bernard0 -
Thank you, I'm able to build Ice version 3.7 for iOS. I built it with this command - "make CONFIGS=xcodesdk PLATFORMS=iphoneos -j8 srcs"
After successfully built I got these ".a" library files :
IceLocatorDiscovery, Glacier2, Glacier2ObjC, Ice, IceDiscovery, IceGrid, IceGridObjC, IceIAP, IceIAPObjC, IceStormObjC, IceStorm, IceSSLObjC, IceSSL, IceObjC
And these are the folders generated in the include folder:
Glacier2, IceGrid, IceSSL, IceUtil, Ice, IceIAP, IceStorm, objc
Now upon building a project using QT with c++, I'm facing this linker error :
Undefined symbols for architecture arm64:
"_kCFGetAddrInfoFailureKey", referenced from:
IceObjC::StreamTransceiver::checkErrorStatus(__CFWriteStream*, __CFReadStream*, char const*, int) in libIce.a(StreamTransceiver.o)
"_CFHostCreateWithName", referenced from:
IceObjC::StreamConnector::connect() in libIce.a(StreamConnector.o)
"_CFStreamCreatePairWithSocketToCFHost", referenced from:
IceObjC::StreamConnector::connect() in libIce.a(StreamConnector.o)
"_kCFStreamNetworkServiceType", referenced from:
IceObjC::Instance::setupStreams(__CFReadStream*, __CFWriteStream*, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) const in libIce.a(StreamEndpointI.o)
"_kCFStreamNetworkServiceTypeVoIP", referenced from:
IceObjC::Instance::setupStreams(__CFReadStream*, __CFWriteStream*, bool, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&) const in libIce.a(StreamEndpointI.o)
"_BZ2_bzBuffToBuffDecompress", referenced from:
Ice::ConnectionI::doUncompress(Ice::InputStream&, Ice::InputStream&) in libIce.a(ConnectionI.o)
"_BZ2_bzBuffToBuffCompress", referenced from:
Ice::ConnectionI::doCompress(Ice::OutputStream&, Ice::OutputStream&) in libIce.a(ConnectionI.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)** BUILD FAILED **
The following build commands failed:
Ld Debug-iphoneos/client.app/client normal arm64
(1 failure)
make: *** [xcodebuild-debug-device] Error 65
18:41:34: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project Bi_directional (kit: Qt 5.12.4 for iOS)
When executing step "Make"0 -
You need to make sure to link your application with the CFNetwork.framework framework and add
-lbz2
to the linker options.0