PDA

View Full Version : Screen Saver Warning


Jake McArthur
2003.01.03, 10:14 PM
I have been consistently getting a warning from the linker when trying to compile screen savers. Even when I make a completely new screen saver project and compile without making any changes to it whatsoever, I get this warning:

ld: warning dynamic shared library: /usr/lib/libSystem.dylib not made a weak library in output with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1

Here is my complete build log. I realize I could have just shown the linker section, but I figured it'd be better to post everything now than have to later if I realize that I didn't put enough here in the first place.

/Developer/Private/jam -d1 -j1 JAMBASE=/Developer/Makefiles/pbx_jamfiles/ProjectBuilderJambase JAMFILE=- build ACTION=build _DEFAULT_GCC_VERSION=3.1 BUILD_STYLE=Development CPP_HEADERMAP_FILE=/Users/jake/test/build/test.build/test.build/test.hmap SRCROOT=/Users/jake/test OBJROOT=/Users/jake/test/build SYMROOT=/Users/jake/test/build DSTROOT=/tmp/test.dst

Mkdir /Users/jake/test/build/test.saver
/bin/mkdir -p /Users/jake/test/build/test.saver

Mkdir /Users/jake/test/build/test.build/test.build/PrefixHeaders
/bin/mkdir -p /Users/jake/test/build/test.build/test.build/PrefixHeaders

MakePFEFile /Users/jake/test/build/test.build/test.build/PrefixHeaders/test_Prefix-ppc.pfe
for _c_dialect in objective-c ; do if [ ${_c_dialect} == c -o ${_c_dialect} == objective-c ] ; then dummy_file=`mktemp /tmp/.null-XXXXXXXX`; /usr/bin/gcc3 -c -x ${_c_dialect} -F/Users/jake/test/build -I/Users/jake/test/build/include -arch ppc -fno-common -fpascal-strings -O0 -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -pipe "-fmessage-length=0" -g -Wp,-header-mapfile,/Users/jake/test/build/test.build/test.build/test.hmap -I/Users/jake/test /Users/jake/test/test_Prefix.h -o ${dummy_file} --dump-pch /Users/jake/test/build/test.build/test.build/PrefixHeaders/test_Prefix-ppc.pfe ; exit_code=$? ; rm ${dummy_file} ; if [ ${exit_code} != 0 ] ; then rm -r /Users/jake/test/build/test.build/test.build/PrefixHeaders/test_Prefix-ppc.pfe ; exit ${exit_code} ; fi ; fi ; done

BuildPhase <CopyHeaders>test.saver

Mkdir /Users/jake/test/build/test.saver/Contents/Resources
/bin/mkdir -p /Users/jake/test/build/test.saver/Contents/Resources

Mkdir /Users/jake/test/build/test.saver/Contents/Resources/English.lproj
/bin/mkdir -p /Users/jake/test/build/test.saver/Contents/Resources/English.lproj

PBXCp /Users/jake/test/build/test.saver/Contents/Resources/English.lproj/InfoPlist.strings
/Developer/Tools/pbxcp -exclude .DS_Store -exclude CVS -resolve-src-symlinks English.lproj/InfoPlist.strings /Users/jake/test/build/test.saver/Contents/Resources/English.lproj

Mkdir /Users/jake/test/build/test.saver/Contents
/bin/mkdir -p /Users/jake/test/build/test.saver/Contents

PBXCp /Users/jake/test/build/test.saver/Contents/Info.plist
/Developer/Tools/pbxcp -exclude .DS_Store -exclude CVS -resolve-src-symlinks /Users/jake/test/build/test.build/test.build/Info.plist /Users/jake/test/build/test.saver/Contents

PBXCp /Users/jake/test/build/test.saver/Contents/pbdevelopment.plist
/Developer/Tools/pbxcp -exclude .DS_Store -exclude CVS -resolve-src-symlinks /Users/jake/test/build/test.build/test.build/pbdevelopment.plist /Users/jake/test/build/test.saver/Contents

BuildPhase <CopyResources>test.saver

Mkdir /Users/jake/test/build/test.build/test.build/Objects-normal/ppc
/bin/mkdir -p /Users/jake/test/build/test.build/test.build/Objects-normal/ppc

CompileC /Users/jake/test/build/test.build/test.build/Objects-normal/ppc/testView.o
/usr/bin/gcc3 -c -F/Users/jake/test/build -I/Users/jake/test/build/include -arch ppc -fno-common -fpascal-strings -O0 -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -pipe "-fmessage-length=0" -g -Wp,-header-mapfile,/Users/jake/test/build/test.build/test.build/test.hmap --load-pch /Users/jake/test/build/test.build/test.build/PrefixHeaders/test_Prefix-ppc.pfe testView.m -o /Users/jake/test/build/test.build/test.build/Objects-normal/ppc/testView.o

BuildPhase <DeriveAndCompileSources>test.saver

Mkdir /Users/jake/test/build/test.saver/Contents/MacOS
/bin/mkdir -p /Users/jake/test/build/test.saver/Contents/MacOS

ClearFileList /Users/jake/test/build/test.build/test.build/Objects-normal/LinkFileList

AppendToFileList /Users/jake/test/build/test.build/test.build/Objects-normal/LinkFileList

DynamicLibrary /Users/jake/test/build/test.saver/Contents/MacOS/test

DynamicLibrary.LinkUsingFileList /Users/jake/test/build/test.saver/Contents/MacOS/test
/usr/bin/gcc3 -o /Users/jake/test/build/test.saver/Contents/MacOS/test "-L/Users/jake/test/build" "-F/Users/jake/test/build" -filelist /Users/jake/test/build/test.build/test.build/Objects-normal/LinkFileList "-framework" "Cocoa" "-framework" "ScreenSaver" "-arch" "ppc" "-bundle"
ld: warning dynamic shared library: /usr/lib/libSystem.dylib not made a weak library in output with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1

BuildPhase <LinkWithFrameworksAndLibraries>test.saver

BuildPhase <RezResourceManagerFiles>test.saver

Touch /Users/jake/test/build/test.saver

Mkdir /Users/jake/test/build/test.build/test.build/Objects-normal
/bin/mkdir -p /Users/jake/test/build/test.build/test.build/Objects-normal

Mkdir /Users/jake/test/build/test.build/test.build/JavaClasses
/bin/mkdir -p /Users/jake/test/build/test.build/test.build/JavaClasses

Mkdir /Users/jake/test/build/test.build/test.build/DerivedSources
/bin/mkdir -p /Users/jake/test/build/test.build/test.build/DerivedSources

I'm using OS X 10.2.3 and the December 2002 dev tools.

edit: took off code tags to allow word wrap, added bold tags to show where the error is stated in the log, and added my dev tools and system versions

blb
2003.01.03, 10:46 PM
Depending on your target OS needs, this may not be anything to worry about. Best (and a bit lengthy) explanation can be found in TechNote 2064 (http://developer.apple.com/technotes/tn2002/tn2064.html).

Jake McArthur
2003.01.03, 11:04 PM
So, in what case do I worry about it? If I am going 10.2 only or if I want to run on 10.1 and 10.2?

blb
2003.01.04, 04:25 PM
Actually, weak linking was introduced in 10.2 for future backwards compatibility (that sounds weird). If you want 10.1 compatibility, you basically leave it as is, without weak linking. Not sure if there's a way to shut up the warning.

Jake McArthur
2003.01.04, 04:39 PM
Okay, thanks. Now it's just annoying.:bored: