[Unison-hackers] Help building OSX GUI
Benjamin Pierce
bcpierce at cis.upenn.edu
Thu Jun 4 09:13:15 EDT 2009
Hi again,
Has there been any progress on sorting out the makefiles, etc., for
Unison-with-GUI compilation on OSX? The new 3.11.1 release candidate
apparently fixes the critical bug that was preventing the Unison GUI
from working, I'm eager to see if this is really true...
At the moment, a simple "make" on my (10.5) system gives me this
(indicating that the 10.4 SDK is selected but not available)...
~/current/unison/trunk/src> make
UISTYLE = macnew
Building for Unix
NATIVE = true
THREADS = true
STATIC = false
OSTYPE =
OSARCH = osx
ocamlopt: uimacbridgenew.ml ---> uimacbridgenew.cmx
ocamlopt -I lwt -I ubase -I system -thread -I system/generic -c /
Users/bcpierce/current/unison/trunk/src/uimacbridgenew.ml
File "/Users/bcpierce/current/unison/trunk/src/uimacbridgenew.ml",
line 67, characters 4-26:
Warning S: this expression should have type unit.
File "/Users/bcpierce/current/unison/trunk/src/uimacbridgenew.ml",
line 67, characters 28-50:
Warning S: this expression should have type unit.
Linking unison-blob.o
ocamlopt -output-obj -verbose -I lwt -I ubase -I system -thread -I
system/generic -o u-b.o unix.cmxa str.cmxa bigarray.cmxa
threads.cmxa ubase/rx.cmx unicode_tables.cmx unicode.cmx
bytearray.cmx system/system_generic.cmx system/generic/
system_impl.cmx system.cmx ubase/projectInfo.cmx ubase/myMap.cmx ubase/
safelist.cmx ubase/uprintf.cmx ubase/util.cmx ubase/uarg.cmx ubase/
prefs.cmx ubase/trace.cmx lwt/pqueue.cmx lwt/lwt.cmx lwt/lwt_util.cmx
lwt/lwt_unix.cmx case.cmx pred.cmx uutil.cmx fileutil.cmx name.cmx
path.cmx fspath.cmx fs.cmx fingerprint.cmx abort.cmx osx.cmx
external.cmx props.cmx fileinfo.cmx os.cmx lock.cmx clroot.cmx
common.cmx tree.cmx checksum.cmx terminal.cmx transfer.cmx
xferhint.cmx remote.cmx globals.cmx copy.cmx stasher.cmx update.cmx
files.cmx sortri.cmx recon.cmx transport.cmx strings.cmx uicommon.cmx
uitext.cmx test.cmx main.cmx uimacbridgenew.cmx
+ as -o '/var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++++TI/-Tmp-/
camlstartup99d75a.o' '/var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++++TI/-
Tmp-/camlstartup1b1f55.s'
+ ld -r -o 'u-b.o' '/var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++++TI/-Tmp-/
camlstartup99d75a.o' 'uimacbridgenew.o' 'main.o' 'test.o' 'uitext.o'
'uicommon.o' 'strings.o' 'transport.o' 'recon.o' 'sortri.o' 'files.o'
'update.o' 'stasher.o' 'copy.o' 'globals.o' 'remote.o' 'xferhint.o'
'transfer.o' 'terminal.o' 'checksum.o' 'tree.o' 'common.o' 'clroot.o'
'lock.o' 'os.o' 'fileinfo.o' 'props.o' 'external.o' 'osx.o' 'abort.o'
'fingerprint.o' 'fs.o' 'fspath.o' 'path.o' 'name.o' 'fileutil.o'
'uutil.o' 'pred.o' 'case.o' 'lwt/lwt_unix.o' 'lwt/lwt_util.o' 'lwt/
lwt.o' 'lwt/pqueue.o' 'ubase/trace.o' 'ubase/prefs.o' 'ubase/uarg.o'
'ubase/util.o' 'ubase/uprintf.o' 'ubase/safelist.o' 'ubase/myMap.o'
'ubase/projectInfo.o' 'system.o' 'system/generic/system_impl.o'
'system/system_generic.o' 'bytearray.o' 'unicode.o' 'unicode_tables.o'
'ubase/rx.o' '/usr/local/lib/ocaml/threads/threads.a' '/usr/local/lib/
ocaml/bigarray.a' '/usr/local/lib/ocaml/str.a' '/usr/local/lib/ocaml/
unix.a' '/usr/local/lib/ocaml/stdlib.a'
ld -r -o unison-blob.o u-b.o osxsupport.o pty.o bytearray_stubs.o
rm -f u-b.o
(cd uimacnew; xcodebuild OCAMLLIBDIR="/usr/local/lib/ocaml"
SYMROOT=build)
=== BUILDING AGGREGATE TARGET Create ExternalSettings OF PROJECT
uimacnew WITH THE DEFAULT CONFIGURATION (Default) ===
Checking Dependencies...
The file âExternalSettings.xcconfigâ does not exist. (/Users/
bcpierce/current/unison/trunk/src/uimacnew/ExternalSettings.xcconfig)
PhaseScriptExecution "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
Script-2A124E7E0DE1C4BE00524237.sh"
cd /Users/bcpierce/current/unison/trunk/src/uimacnew
setenv ACTION build
setenv ALTERNATE_GROUP bcpierce
setenv ALTERNATE_MODE u+w,go-w,a+rX
setenv ALTERNATE_OWNER bcpierce
setenv ALWAYS_SEARCH_USER_PATHS YES
setenv APPLE_INTERNAL_DEVELOPER_DIR /AppleInternal/Developer
setenv APPLE_INTERNAL_DIR /AppleInternal
setenv APPLE_INTERNAL_DOCUMENTATION_DIR /AppleInternal/
Documentation
setenv APPLE_INTERNAL_LIBRARY_DIR /AppleInternal/Library
setenv APPLE_INTERNAL_TOOLS /AppleInternal/Developer/Tools
setenv APPLY_RULES_IN_COPY_FILES NO
setenv ARCHS i386
setenv ARCHS_STANDARD_32_64_BIT "i386 x86_64 ppc ppc64"
setenv ARCHS_STANDARD_32_BIT "i386 ppc"
setenv ARCHS_STANDARD_64_BIT "x86_64 ppc64"
setenv BUILD_COMPONENTS "headers build"
setenv BUILD_DIR /Users/bcpierce/current/unison/trunk/src/
uimacnew/build
setenv BUILD_ROOT /Users/bcpierce/current/unison/trunk/src/
uimacnew/build
setenv BUILD_STYLE Default
setenv BUILD_VARIANTS normal
setenv BUILT_PRODUCTS_DIR /Users/bcpierce/current/unison/trunk/
src/uimacnew/build/Default
setenv CACHE_ROOT /var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++++TI/-
Caches-/com.apple.Xcode.501
setenv CCHROOT /var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++++TI/-
Caches-/com.apple.Xcode.501
setenv CHMOD /bin/chmod
setenv CHOWN /usr/sbin/chown
setenv CLASS_FILE_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
JavaClasses"
setenv CLEAN_PRECOMPS YES
setenv CLONE_HEADERS NO
setenv COMMAND_MODE legacy
setenv COMPOSITE_SDK_DIRS /var/folders/W3/W3g-3A4aGOyR3RJpla6Ei+++
+TI/-Caches-/com.apple.Xcode.501/CompositeSDKs
setenv CONFIGURATION Default
setenv CONFIGURATION_BUILD_DIR /Users/bcpierce/current/unison/
trunk/src/uimacnew/build/Default
setenv CONFIGURATION_TEMP_DIR /Users/bcpierce/current/unison/
trunk/src/uimacnew/build/uimacnew.build/Default
setenv COPYING_PRESERVES_HFS_DATA NO
setenv COPY_PHASE_STRIP YES
setenv COPY_RESOURCES_FROM_STATIC_FRAMEWORKS YES
setenv CP /bin/cp
setenv CURRENT_ARCH i386
setenv CURRENT_VARIANT normal
setenv DEAD_CODE_STRIPPING NO
setenv DEBUGGING_SYMBOLS YES
setenv DEBUG_INFORMATION_FORMAT dwarf
setenv DEPLOYMENT_LOCATION NO
setenv DEPLOYMENT_POSTPROCESSING NO
setenv DERIVED_FILES_DIR "/Users/bcpierce/current/unison/trunk/
src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/DerivedSources"
setenv DERIVED_FILE_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
DerivedSources"
setenv DERIVED_SOURCES_DIR "/Users/bcpierce/current/unison/trunk/
src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/DerivedSources"
setenv DEVELOPER_APPLICATIONS_DIR /Developer/Applications
setenv DEVELOPER_BIN_DIR /Developer/usr/bin
setenv DEVELOPER_DIR /Developer
setenv DEVELOPER_FRAMEWORKS_DIR /Developer/Library/Frameworks
setenv DEVELOPER_FRAMEWORKS_DIR_QUOTED "\"/Developer/Library/
Frameworks\""
setenv DEVELOPER_LIBRARY_DIR /Developer/Library
setenv DEVELOPER_SDK_DIR /Developer/SDKs
setenv DEVELOPER_TOOLS_DIR /Developer/Tools
setenv DEVELOPER_USR_DIR /Developer/usr
setenv DEVELOPMENT_LANGUAGE English
setenv DO_HEADER_SCANNING_IN_JAM NO
setenv DSTROOT /tmp/uimacnew.dst
setenv DWARF_DSYM_FILE_NAME .dSYM
setenv DWARF_DSYM_FOLDER_PATH /Users/bcpierce/current/unison/
trunk/src/uimacnew/build/Default
setenv ENABLE_HEADER_DEPENDENCIES YES
setenv ENABLE_OPENMP_SUPPORT NO
setenv EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES "*.nib
*.lproj *.framework *.gch (*) CVS .svn *.xcodeproj *.xcode *.pbproj
*.pbxproj"
setenv FILE_LIST "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
Objects/LinkFileList"
setenv FIXED_FILES_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
FixedFiles"
setenv FRAMEWORK_VERSION A
setenv GCC3_VERSION 3.3
setenv GCC_PFE_FILE_C_DIALECTS "c objective-c c++ objective-c++"
setenv GCC_TREAT_WARNINGS_AS_ERRORS NO
setenv GCC_VERSION 4.0
setenv GENERATE_MASTER_OBJECT_FILE NO
setenv GENERATE_PKGINFO_FILE NO
setenv GENERATE_PROFILING_CODE NO
setenv GID 501
setenv GROUP bcpierce
setenv HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT YES
setenv HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES
YES
setenv HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS YES
setenv HEADERMAP_INCLUDES_PROJECT_HEADERS YES
setenv ICONV /usr/bin/iconv
setenv INFOPLIST_EXPAND_BUILD_SETTINGS YES
setenv INFOPLIST_OUTPUT_FORMAT same-as-input
setenv INFOPLIST_PREPROCESS NO
setenv INSTALL_DIR /tmp/uimacnew.dst
setenv INSTALL_GROUP bcpierce
setenv INSTALL_MODE_FLAG u+w,go-w,a+rX
setenv INSTALL_OWNER bcpierce
setenv INSTALL_ROOT /tmp/uimacnew.dst
setenv JAVAC_DEFAULT_FLAGS "-J-Xms64m -J-XX:NewSize=4M -J-
Dfile.encoding=UTF8"
setenv JAVA_APP_STUB /System/Library/Frameworks/JavaVM.framework/
Resources/MacOS/JavaApplicationStub
setenv JAVA_ARCHIVE_CLASSES YES
setenv JAVA_ARCHIVE_TYPE JAR
setenv JAVA_COMPILER /usr/bin/javac
setenv JAVA_FRAMEWORK_RESOURCES_DIRS Resources
setenv JAVA_JAR_FLAGS cv
setenv JAVA_SOURCE_SUBDIR .
setenv JAVA_USE_DEPENDENCIES YES
setenv JAVA_ZIP_FLAGS -urg
setenv JIKES_DEFAULT_FLAGS "+E +OLDCSO"
setenv KEEP_PRIVATE_EXTERNS NO
setenv LD_GENERATE_MAP_FILE NO
setenv LD_MAP_FILE_PATH "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
Create ExternalSettings-LinkMap-normal-i386.txt"
setenv LD_OPENMP_FLAGS -fopenmp
setenv LEX /Developer/usr/bin/lex
setenv LINKER_DISPLAYS_MANGLED_NAMES NO
setenv LINK_FILE_LIST_normal_i386
setenv LINK_WITH_STANDARD_LIBRARIES YES
setenv LOCAL_ADMIN_APPS_DIR /Applications/Utilities
setenv LOCAL_APPS_DIR /Applications
setenv LOCAL_DEVELOPER_DIR /Library/Developer
setenv LOCAL_LIBRARY_DIR /Library
setenv MAC_OS_X_VERSION_ACTUAL 1057
setenv MAC_OS_X_VERSION_MAJOR 1050
setenv MAC_OS_X_VERSION_MINOR 0500
setenv NATIVE_ARCH i386
setenv NATIVE_ARCH_32_BIT i386
setenv NATIVE_ARCH_64_BIT x86_64
setenv NATIVE_ARCH_ACTUAL x86_64
setenv NO_COMMON YES
setenv OBJECT_FILE_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
Objects"
setenv OBJECT_FILE_DIR_normal "/Users/bcpierce/current/unison/
trunk/src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/Objects-normal"
setenv OBJROOT /Users/bcpierce/current/unison/trunk/src/uimacnew/
build
setenv OCAMLLIBDIR /usr/local/lib/ocaml
setenv ONLY_ACTIVE_ARCH NO
setenv OPTIMIZATION_LEVEL 0
setenv OS MACOS
setenv OSAC /usr/bin/osacompile
setenv PASCAL_STRINGS YES
setenv PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES "/usr/
include /usr/local/include /System/Library/Frameworks /System/Library/
PrivateFrameworks /Developer/Headers"
setenv PKGINFO_FILE_PATH "/Users/bcpierce/current/unison/trunk/
src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/PkgInfo"
setenv PLATFORM_DEVELOPER_APPLICATIONS_DIR /Developer/Applications
setenv PLATFORM_DEVELOPER_BIN_DIR /Developer/usr/bin
setenv PLATFORM_DEVELOPER_LIBRARY_DIR /Developer/Library
setenv PLATFORM_DEVELOPER_SDK_DIR /Developer/SDKs
setenv PLATFORM_DEVELOPER_TOOLS_DIR /Developer/Tools
setenv PLATFORM_DEVELOPER_USR_DIR /Developer/usr
setenv PLATFORM_NAME macosx
setenv PLIST_FILE_OUTPUT_FORMAT same-as-input
setenv PREBINDING YES
setenv PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR YES
setenv PRECOMP_DESTINATION_DIR "/Users/bcpierce/current/unison/
trunk/src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/PrefixHeaders"
setenv PRESERVE_DEAD_CODE_INITS_AND_TERMS NO
setenv PRODUCT_NAME "Create ExternalSettings"
setenv PRODUCT_SETTINGS_PATH
setenv PROFILING_CODE NO
setenv PROJECT uimacnew
setenv PROJECT_DERIVED_FILE_DIR /Users/bcpierce/current/unison/
trunk/src/uimacnew/build/uimacnew.build/DerivedSources
setenv PROJECT_DIR /Users/bcpierce/current/unison/trunk/src/
uimacnew
setenv PROJECT_FILE_PATH /Users/bcpierce/current/unison/trunk/src/
uimacnew/uimacnew.xcodeproj
setenv PROJECT_NAME uimacnew
setenv PROJECT_TEMP_DIR /Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build
setenv RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS YES
setenv REMOVE_CVS_FROM_RESOURCES YES
setenv REMOVE_SVN_FROM_RESOURCES YES
setenv REZ_COLLECTOR_DIR "/Users/bcpierce/current/unison/trunk/
src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/ResourceManagerResources"
setenv REZ_OBJECTS_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build/
ResourceManagerResources/Objects"
setenv SCAN_ALL_SOURCE_FILES_FOR_INCLUDES NO
setenv SCRIPT_INPUT_FILE_COUNT 0
setenv SCRIPT_OUTPUT_FILE_COUNT 0
setenv SDKROOT /Developer/SDKs/MacOSX10.4u.sdk
setenv SED /usr/bin/sed
setenv SEPARATE_STRIP NO
setenv SEPARATE_SYMBOL_EDIT NO
setenv SET_DIR_MODE_OWNER_GROUP YES
setenv SET_FILE_MODE_OWNER_GROUP NO
setenv SHARED_DERIVED_FILE_DIR /Users/bcpierce/current/unison/
trunk/src/uimacnew/build/Default/DerivedSources
setenv SHARED_PRECOMPS_DIR /var/folders/W3/W3g-3A4aGOyR3RJpla6Ei++
++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders
setenv SKIP_INSTALL YES
setenv SOURCE_ROOT /Users/bcpierce/current/unison/trunk/src/
uimacnew
setenv SRCROOT /Users/bcpierce/current/unison/trunk/src/uimacnew
setenv STANDARD_C_PLUS_PLUS_LIBRARY_TYPE dynamic
setenv STRINGS_FILE_OUTPUT_ENCODING UTF-16
setenv STRIP_INSTALLED_PRODUCT YES
setenv STRIP_STYLE all
setenv SYMBOL_REPOSITORY_DIR "/Users/bcpierce/current/unison/
trunk/src/uimacnew/build/uimacnew.build/Default/Create
ExternalSettings.build/SymbolRepositories"
setenv SYMROOT /Users/bcpierce/current/unison/trunk/src/uimacnew/
build
setenv SYSTEM_ADMIN_APPS_DIR /Applications/Utilities
setenv SYSTEM_APPS_DIR /Applications
setenv SYSTEM_CORE_SERVICES_DIR /System/Library/CoreServices
setenv SYSTEM_DEMOS_DIR /Applications/Extras
setenv SYSTEM_DEVELOPER_APPS_DIR /Developer/Applications
setenv SYSTEM_DEVELOPER_BIN_DIR /Developer/usr/bin
setenv SYSTEM_DEVELOPER_DEMOS_DIR "/Developer/Applications/
Utilities/Built Examples"
setenv SYSTEM_DEVELOPER_DIR /Developer
setenv SYSTEM_DEVELOPER_DOC_DIR "/Developer/ADC Reference Library"
setenv SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR "/Developer/
Applications/Graphics Tools"
setenv SYSTEM_DEVELOPER_JAVA_TOOLS_DIR "/Developer/Applications/
Java Tools"
setenv SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR "/Developer/
Applications/Performance Tools"
setenv SYSTEM_DEVELOPER_RELEASENOTES_DIR "/Developer/ADC
Reference Library/releasenotes"
setenv SYSTEM_DEVELOPER_TOOLS /Developer/Tools
setenv SYSTEM_DEVELOPER_TOOLS_DOC_DIR "/Developer/ADC Reference
Library/documentation/DeveloperTools"
setenv SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR "/Developer/ADC
Reference Library/releasenotes/DeveloperTools"
setenv SYSTEM_DEVELOPER_USR_DIR /Developer/usr
setenv SYSTEM_DEVELOPER_UTILITIES_DIR /Developer/Applications/
Utilities
setenv SYSTEM_DOCUMENTATION_DIR /Library/Documentation
setenv SYSTEM_LIBRARY_DIR /System/Library
setenv TARGETNAME "Create ExternalSettings"
setenv TARGET_BUILD_DIR /Users/bcpierce/current/unison/trunk/src/
uimacnew/build/Default
setenv TARGET_NAME "Create ExternalSettings"
setenv TARGET_TEMP_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build"
setenv TEMP_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build"
setenv TEMP_FILES_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build"
setenv TEMP_FILE_DIR "/Users/bcpierce/current/unison/trunk/src/
uimacnew/build/uimacnew.build/Default/Create ExternalSettings.build"
setenv TEMP_ROOT /Users/bcpierce/current/unison/trunk/src/
uimacnew/build
setenv UID 501
setenv UNSTRIPPED_PRODUCT NO
setenv USER bcpierce
setenv USER_APPS_DIR /Users/bcpierce/Applications
setenv USER_HEADER_SEARCH_PATHS /usr/local/lib/ocaml
setenv USER_LIBRARY_DIR /Users/bcpierce/Library
setenv USE_DYNAMIC_NO_PIC YES
setenv USE_HEADERMAP YES
setenv USE_HEADER_SYMLINKS NO
setenv VALID_ARCHS "i386 ppc ppc64 ppc7400 ppc970 x86_64"
setenv VERBOSE_PBXCP NO
setenv VERSION_INFO_BUILDER bcpierce
setenv VERSION_INFO_FILE "Create ExternalSettings_vers.c"
setenv VERSION_INFO_STRING "\"@(#)PROGRAM:Create
ExternalSettings PROJECT:uimacnew-\""
setenv XCODE_APP_SUPPORT_DIR /Developer/Library/Xcode
setenv XCODE_VERSION_ACTUAL 0310
setenv XCODE_VERSION_MAJOR 0300
setenv YACC /Developer/usr/bin/yacc
/bin/sh -c "\"/Users/bcpierce/current/unison/trunk/src/uimacnew/
build/uimacnew.build/Default/Create ExternalSettings.build/
Script-2A124E7E0DE1C4BE00524237.sh\""
=== BUILDING NATIVE TARGET uimac OF PROJECT uimacnew WITH THE DEFAULT
CONFIGURATION (Default) ===
Checking Dependencies...
The file âExternalSettings.xcconfigâ does not exist. (/Users/
bcpierce/current/unison/trunk/src/uimacnew/ExternalSettings.xcconfig)
error: There is no SDK with specified name or path '/Developer/SDKs/
MacOSX10.4u.sdk'
** BUILD FAILED **
make: *** [macexecutable] Error 1
- Benjamin
On May 5, 2009, at 9:26 AM, Benjamin Pierce wrote:
> I'm not an expert on compiling on OSX, so I'll leave it to you and
> Alan to sort out what's the best way to fix the makefiles. I'll be
> glad to apply whatever patch you both agree on.
>
> - B
>
>
>
> On May 5, 2009, at 9:14 AM, Martin von Gagern wrote:
>
>> Hi!
>>
>> I'm on using ocaml as built with fink, and rebuilding ocaml just to
>> allow developing unison doesn't sound too attractive. Without
>> modifications, I get this error:
>>
>> Undefined symbols:
>> "_chmod$UNIX2003", referenced from:
>> _setFileInfos in unison-blob.o
>> _setFileInfos in unison-blob.o
>>
>> The reference to that symbol is present in osxsupport.o as well, so
>> it's
>> the C compiler invoked by ocamlopt that's introducing this reference.
>> The symbol is part of the OS X 10.5 SDK, but not the 10.4 SDK.
>>
>> Alan Schmitt wrote:
>>> Right now, everything is set to compile for both 10.4 and 10.5, but
>>> requires a specially built ocaml (which is simply a line to add in a
>>> configuration file in godi). The reason for this is that I don't
>>> have
>>> access to Tiger machines anymore and I want to provide a single
>>> binary
>>> for our users.
>>
>> You shouldn't have to rebuild ocaml just to get a certain command
>> line
>> argument passed on to the C compiler. The -ccopt flag does that. It
>> might be that code compiled from ocaml source files does introduce
>> additional dependencies if you don't rebuild ocaml, but as this
>> hasn't
>> been a problem for me, I'll not worry about it here.
>>
>>> We could try to do some tweaking to allow different compilation
>>> options,
>>> but I would first need to find out how to change the target SDK
>>> from the
>>> command line (right now I only know how to do it in XCode).
>>
>> On my system there is a -sdk command line flag to xcodebuild.
>> Specifying
>> a value like macos10.5 for it will select the corresponding SDK,
>> falling
>> back to the project configured SDK if the selected one isn't
>> available.
>>
>> The attached patch takes care of both these approaches: specifying
>> the
>> SDK to xcodebuild and passing -mmacosx-version-min to the C compiler.
>> Both are controlled using the single MINOSXVERSION variable in the
>> makefile. So in theory "make MINOSXVERSION=10.4" should give you a
>> binary ready to run anywhere, while "make MINOSXVERSION=10.5" will
>> give
>> you a version making use of all the latest features, or whatever.
>>
>> Both of these builds compile for me, while the unmodified build
>> failed
>> with the unresolved reference quoted in the beginning. I would like
>> to
>> see the patch included.
>>
>> Greetings,
>> Martin von Gagern
>> === modified file 'src/Makefile.OCaml'
>> --- src/Makefile.OCaml 2009-05-05 08:28:15 +0000
>> +++ src/Makefile.OCaml 2009-05-05 12:54:21 +0000
>> @@ -157,6 +157,10 @@
>> endif
>>
>> MINOSXVERSION=10.5
>> +XCODEFLAGS=-sdk macosx$(MINOSXVERSION)
>> +ifeq ($(OSARCH),osx)
>> + CAMLFLAGS+=-ccopt -mmacosx-version-min=$(MINOSXVERSION)
>> +endif
>>
>> # NOTE: the OCAMLLIBDIR is not getting passed correctly?
>> # The two cases for cltool are needed because Xcode 2.1+
>> @@ -164,7 +168,7 @@
>> .PHONY: macexecutable
>> macexecutable: $(NAME)-blob.o
>> # sed -e's/@@VERSION@@/$(VERSION)/' $(UIMACDIR)/Info.plist.template
>>> $(UIMACDIR)/Info.plist
>> - (cd $(UIMACDIR); xcodebuild OCAMLLIBDIR="$(OCAMLLIBDIR)"
>> SYMROOT=build)
>> + (cd $(UIMACDIR); xcodebuild $(XCODEFLAGS) OCAMLLIBDIR="$
>> (OCAMLLIBDIR)" SYMROOT=build)
>> if [ -e $(UIMACDIR)/build/Default ]; then \
>> gcc -mmacosx-version-min=$(MINOSXVERSION) $(UIMACDIR)/cltool.c -o
>> $(UIMACDIR)/build/Default/Unison.app/Contents/MacOS/cltool -
>> framework Carbon; \
>> else \
>>
>> _______________________________________________
>> Unison-hackers mailing list
>> Unison-hackers at lists.seas.upenn.edu
>> http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers
>
> _______________________________________________
> Unison-hackers mailing list
> Unison-hackers at lists.seas.upenn.edu
> http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers
More information about the Unison-hackers
mailing list