Linker warning: 32-bit absolute address out of range

Hi all,

I’m building the standard fontsExample project from OF0.7 and I get an Apple Mach-O Linker Warning:

ld: warning: 32-bit absolute address out of range (0x10024DA8C max is 4GB): from _inflate_table + 0x00000674 (0x00105524) to 0x10024DA8C
ld: warning: 32-bit absolute address out of range (0x10024DACA max is 4GB): from _inflate_table + 0x00000670 (0x00105524) to 0x10024DACA

Target is an iPad 1 running iOS 5.0.1

Xcode 4.2 is running on OS X 10.6.8

First off, I assume that these warnings are to do with the linked libraries that OF uses, but I can’t find any more information in Xcode’s issue navigator window… any ideas on how to narrow down the source of this warning?

Secondly, just some random thoughts after some beers: have the linked libraries been built on a 64-bit system and I’m getting these warnings as I’m running on a 32-bit system (System profiler says “64-bit Kernel and Extensions: No”)…?

Thanks for any advice!

Bump… anyone?

bump. same here.

ios distrib profile under xcode4 gives validation error of missing armv6. (32-bit out of range, etc…) btw, are the libs under of007 correctly labeled in the folders?? guess so, but please, could someone confirm? remove i386 from of+iphone, + all related i386 libs and just keep cairo headers for safe compile. yeah, organize these!

same profile, under xcode3, which is able to compile both arm6 & arm7, can’t copy dwarf symbolics, even though it’s selected. (how nice apple, to ask us to provide easy disassemble, who cares?)

hey, really looking forward to hearing a solution to this. i wonder if apple, of, covers self-inflicted damages (wall-head-banging)? (just kidding) #!

this is when you really know how header/library dependent you are. you get to know the system. which so nice. but come on… this must be easy peasy (at least looks like that in the videos,…)

ok, some facts. osx 10.7.3. xcode 4.3.2. xcode 3.2.6.

xcode 4 ios distrib compile:
ld: warning: 32-bit absolute address out of range (0x1001A6560 max is 4GB): from _inflate_table + 0x00000674 (0x000CF8D0) to 0x1001A6560
ld: warning: 32-bit absolute address out of range (0x1001A659E max is 4GB): from _inflate_table + 0x00000670 (0x000CF8D0) to 0x1001A659E
// xcode distrib profile complains about missing arm6

full config xcode4: (btw, this says using llvm compiler, the same happens with gcc-4.2; yeah, i changed a lot CoreOF.xcconfig to put the right stuff into place)

Ld /Users/andresier/Library/Developer/Xcode/DerivedData/emptyHoleDEPLOY-dibdirkrbrbpnrbirfnpdbdfslsj/Build/Intermediates/ArchiveIntermediates/theresAHoleInThePanDISTRIB/InstallationBuildProductsLocation/Applications/theresAHoleInThePan.app/theresAHoleInThePan normal armv7
cd /Users/andresier/Documents/_code/of_preRelease_v007_iphone/apps/iphoneLaunchBay/emptyHoleDeploy
setenv IPHONEOS_DEPLOYMENT_TARGET 3.1
setenv PATH “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin”
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-g+±4.2 -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -L/Users/andresier/Library/Developer/Xcode/DerivedData/emptyHoleDEPLOY-dibdirkrbrbpnrbirfnpdbdfslsj/Build/Intermediates/ArchiveIntermediates/theresAHoleInThePanDISTRIB/BuildProductsPath/Release-iphoneos -F/Users/andresier/Library/Developer/Xcode/DerivedData/emptyHoleDEPLOY-dibdirkrbrbpnrbirfnpdbdfslsj/Build/Intermediates/ArchiveIntermediates/theresAHoleInThePanDISTRIB/BuildProductsPath/Release-iphoneos -filelist /Users/andresier/Library/Developer/Xcode/DerivedData/emptyHoleDEPLOY-dibdirkrbrbpnrbirfnpdbdfslsj/Build/Intermediates/ArchiveIntermediates/theresAHoleInThePanDISTRIB/IntermediateBuildFilesPath/emptyHoleDEPLOY.build/Release-iphoneos/theresAHoleInThePan.build/Objects-normal/armv7/theresAHoleInThePan.LinkFileList -dead_strip -ObjC …/…/…/libs/FreeImage/lib/iphone/freeimage.a …/…/…/libs/freetype/lib/iphone/freetype.a …/…/…/libs/glu/lib/iphone/glu-iphone.a …/…/…/libs/poco/lib/iphone/armv6armv7/PocoFoundation.a …/…/…/libs/poco/lib/iphone/armv6armv7/PocoNet.a …/…/…/libs/poco/lib/iphone/armv6armv7/PocoUtil.a …/…/…/libs/poco/lib/iphone/armv6armv7/PocoXML.a …/…/…/libs/tess2/lib/iphone/tess2.a -miphoneos-version-min=3.1 /Users/andresier/Documents/_code/of_preRelease_v007_iphone/libs/openFrameworksCompiled/lib/iphone/libofxiPhone_iphoneos_Release.a -framework Foundation -framework UIKit -framework CoreGraphics -framework OpenGLES -framework QuartzCore -framework AudioToolbox -framework OpenAL -framework CoreLocation -framework CoreGraphics -framework AVFoundation -framework CoreMedia -framework CoreVideo -framework MapKit -o /Users/andresier/Library/Developer/Xcode/DerivedData/emptyHoleDEPLOY-dibdirkrbrbpnrbirfnpdbdfslsj/Build/Intermediates/ArchiveIntermediates/theresAHoleInThePanDISTRIB/InstallationBuildProductsLocation/Applications/theresAHoleInThePan.app/theresAHoleInThePan

under xcode3, also build+archive option:
P[sup]lease make sure that your application has set the “Debug Information Format” build setting to “DWARF with dSYM File”.[/sup]

which is set, btw…

so, yeah, bump, this is related to https://twitter.com/#!/as1er/status/198594626020573187

any hints gladly taken. thanks for reading this. hope you are enjoying.

actually, this works, almost out of the box, no fiddling whatsoever is required.
the linking warnings are mostly harmless

this also helps
http://stackoverflow.com/questions/6393701/iphone-ipod-touch-application-executable-is-missing-a-required-architecture

The missing architecture warning is not related to the 32-bit absolute address out of range warning, is it?

Think even after fixing the armv6, armv7 architectures, the linked libs warning is still there, right?

hi Gwydion.

i *think* the missing architecture is related to the of project settings having *i386* and some libs which are 32-bit only. i think because because i shredded one of007iphone and changed the coreof config so that all that was i386 was removed and nothing but arm versions remained (the errors, warnings, were gone).

i was able to complete my app, validate my archive and distribute it using a fresh new of007 (coulb be 0071 as well) without touching at all the of project. so the warnings are still there, but they are harmless. also make sure of lib does not install, in the project settings.

hth,

a

Thanks. Will take another look at the project settings this week…

Still get the same warnings on a completely different (now 64-bit) system:

OSX 10.7.4, 64-bit, Xcode 4.3.1, iOS5.1.1 on iPad1 and running OF0.71

Hi guys,

Still get these warnings on box-fresh OF0073 example apps.

Is it just my set-up, or does everyone see these?

the same warnings here… :frowning:

Hi again, just to note that still get the same warnings in OF0.7.4.

Here’s the log from building the out of the box iPhoneGuiExample project…

Building to simulator:

ld: warning: ignoring file …/…/…/libs/FreeImage/lib/ios/freeimage.a, missing required architecture i386 in file …/…/…/libs/FreeImage/lib/ios/freeimage.a (2 slices)
ld: warning: ignoring file …/…/…/libs/glu/lib/ios/glu-ios.a, missing required architecture i386 in file …/…/…/libs/glu/lib/ios/glu-ios.a (2 slices)
ld: warning: direct access in std::string ofToString(float const&, int) to global weak symbol std::fixed(std::ios_base&) means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.

Building to hardware:

ld: warning: ignoring file …/…/…/libs/FreeImage/lib/osx/freeimage.a, missing required architecture armv7 in file …/…/…/libs/FreeImage/lib/osx/freeimage.a (1 slices)
ld: warning: ignoring file …/…/…/libs/glew/lib/osx/glew.a, file was built for archive which is not the architecture being linked (armv7): …/…/…/libs/glew/lib/osx/glew.a
ld: warning: ignoring file …/…/…/libs/glu/lib/ios/glu.a, file was built for archive which is not the architecture being linked (armv7): …/…/…/libs/glu/lib/ios/glu.a
ld: warning: direct access in std::string ofToString(float const&, int) to global weak symbol std::fixed(std::ios_base&) means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: direct access in std::string ofToString(float const&, int) to global weak symbol std::fixed(std::ios_base&) means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
ld: warning: 32-bit absolute address out of range (0x10024515C max is 4GB): from _inflate_table + 0x00000674 (0x000CDBBC) to 0x10024515C
ld: warning: 32-bit absolute address out of range (0x10024519A max is 4GB): from _inflate_table + 0x00000670 (0x000CDBBC) to 0x10024519A

Similar issue here with OF074 and XCode 4.6.2. I got these ‘out-of-range’ warnings debugging in the device and archiving for release. During iPhone Simulator execution the warnings weren’t simply there, although the project settings were the same. Googling a bit i found these warnings are mostly harmless and since my app was running with no issues I didn’t pay too much attention to them, although I admit they can be scaring. Finally my app was approved with no complains at all from the AppleStore.

www.tonoamusic.com

ld: warning: 32-bit absolute address out of range (0x10026F93C max is 4GB): from _inflate_table + 0x00000674 (0x0014659C) to 0x10026F93C
ld: warning: 32-bit absolute address out of range (0x10026F97A max is 4GB): from _inflate_table + 0x00000670 (0x0014659C) to 0x10026F97A