[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