Getting "F1027 Unit not found" compiling release mode for iosDevice

From Support
Jump to: navigation, search

There is a general issue with the XE4 Update 1 patch for customers building for iosDevice. This seems to happen only as a result of applying the patch. The error they get is when compiling for iosDevice for "Release" mode specifically.

[DCC Fatal Error] <projectName>: F1027 Unit not found: 'System.pas' or binary equivalents (.dcu/.o)

The problem is that the patch does not update the timestamps for files that do not change since RTM. The easy way to fix is to just "touch" the file timestamps for those that need it.

  1. Open an administrative command prompt with:
    1. Windows Key-R
    2. Type "cmd"
    3. Press Ctrl-Shift-Enter
      [Indicator is title of window says “Administrator:”]
  2. CD C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\lib\iosDevice\release
  3. touch.exe -rSysInit.dcu *.o
  4. CD ..\debug
  5. touch.exe -rSysInit.dcu *.o
Note: The system path should already be set to your RAD Studio "bin" directory. If it is not, you may specify the full path to touch with: C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\bin\touch.exe

ALTERNATIVE METHOD

If you do not see touch.exe delivered with your product for whatever reason, there is an alternative technique. Be sure to open an administrative command prompt as mentioned in step 1 above and run the following command in each of these directories:

C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\lib\iosDevice\release

C:\Program Files(x86)\Embarcadero\RAD Studio\11.0\lib\iosDevice\debug

"COPY /B *.O +,," <-- lose the quotes but do keep the plus sign and commas [untested on all OS versions/use at own risk]


Archive of https://support.embarcadero.com/article/43250 (published 6/25/2013)