0

since some days, something weird happened.

Problem:

I always get "Compile Error: F2051 Unit System.SysUtils was compiled with a different version of “”.GetMappedFileName" No precise code line to mention. Also the same problem if I make a simple project with only one call to a sysutils command.

Our situation: me and my collegueare developping on the same project. We use JEDI to exchange our sources and to keep track of changes.

LAst, I was downloading his changed sources. Everything went well and I was ready to go on.

I refreshed all my files and tried to compile, build and run the new sources on my computer.

Then it got weird. While compiling, I got this error:

F2051 Unit System.SysUtils was compiled with a different version of "".GetMappedFileName

I checked our versions of delphi standard lib's and also the versions of our other components installed and everything matches. Then I went on internet-tip-shopping. I found some similar problems, but non of the possible solutions worked for me...

This are some things I tried yet:

  • setup a smal simple project with only the beep-function from sysUtils
  • repair of delphi Seattle
  • Looked at my Library path, browsing path, ...
  • Cleared the dcu's of my project

I also tried a "dir /s" search to find different (wrong?) versions of System.SysUtils.*

Found .PAS

  • 1 for every installed version, 14, 15, 16, 17 (non of the 14, 15, or 16 in my paths
  • C:\ProgramData{0DE47792-19BD-4AF4-B9CF-6378FBA44825}\sourcefileswin32\E1F130EB\D08CA8BE
  • C:\Users\All
    Users{0DE47792-19BD-4AF4-B9CF-6378FBA44825}\sourcefileswin32\E1F130EB\D08CA8BE

Found .DCU

  • For all versions (14, 15, 16, 17)
  • For every export system (android, ios, ..)
  • Also in the ProgramData
  • Also in the All Users

You an find my library and browsing path at the end of this post.

Some of the internet sites I used to try to solve this:

Does anyone have an idea or a clue to get out off this. Cause I can't go on with any of my projects since this happened.


This is my Library path for Win32:

$(BDS)\Imports;
$(BDS)\LIB;
$(BDS)\Bin;
$(BDSCOMMONDIR)\Bpl;
$(BDSCOMMONDIR)\Dcp;
$(BDS)\include;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\Common\;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Lib\Win32\Release\Studio23\;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Source\Extras;
$(BDS)\RBuilder\Lib\Win32;
C:\sources\Utilities;
C:\Program Files (x86)\Embarcadero\synaps\source\lib;
C:\Program Files (x86)\Embarcadero\Components;
C:\Program Files (x86)\Embarcadero\EmbeddedWB\Source;
C:\Program Files (x86)\Embarcadero\Ruler;
C:\Program Files (x86)\Embarcadero\paxCompilerXE10\package;
C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\win;
C:\Program Files (x86)\Devart\UniDAC for RAD Studio 10\Lib\Win32;
c:\program files (x86)\embarcadero\tms pack for firemonkey\win32;
C:\Program Files (x86)\Embarcadero\fgx_XE8\Library;$(DXVCL)\Library\RS23;
C:\Program Files (x86)\Embarcadero\RTC;
C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\win32\release   

This is my browsing path:

$(BDS)\source\rtl;
$(BDS)\SOURCE\RTL\SYS;
$(BDS)\source\rtl\win;
$(BDS)\source\rtl\common;
$(BDS)\SOURCE\VCL;
$(BDS)\SOURCE\XML;
$(BDS)\source\ToolsAPI;
$(BDS)\SOURCE\PROPERTY EDITORS;
$(BDS)\source\Internet;
$(BDS)\SOURCE\VCL\AppAnalytics;
$(BDS)\SOURCE\IBX;
$(BDS)\source\soap;
$(BDS)\source\Indy10\Core;
$(BDS)\source\Indy10\System;
$(BDS)\source\Indy10\Protocols;
$(BDS)\source\fmx;
$(BDS)\source\databinding\components;
$(BDS)\source\databinding\engine;
$(BDS)\source\databinding\graph;
$(BDS)\source\data;
$(BDS)\source\data\ado;
$(BDS)\source\data\bde;
$(BDS)\source\data\cloud;
$(BDS)\source\data\datasnap;
$(BDS)\source\data\dbx;
$(BDS)\source\data\dsnap;
$(BDS)\source\data\Test;
$(BDS)\source\data\vclctrls;
$(BDS)\source\data\datasnap\connectors;
$(BDS)\source\data\datasnap\proxygen;
$(BDS)\source\DataExplorer;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\Common;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\Common\dunit;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\Common;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject;
$(BDS)\source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\dunit;
$(BDS)\source\DUnit\src;
$(BDS)\source\DUnit\tests;
$(BDS)\source\Experts;
$(BDS)\source\indy\abstraction;
$(BDS)\source\indy\implementation;
$(BDS)\source\indyimpl;
$(BDS)\source\LiveTile;
$(BDS)\source\Property Editors\Indy10;
$(BDS)\source\soap\wsdlimporter;
$(BDS)\source\Visualizers;
$(BDS)\source\xtab;
$(BDS)\source\DUnit\Contrib\XMLReporting;
$(BDS)\source\DUnit\Contrib\XPGen;
$(BDS)\source\data\rest;
$(BDS)\source\data\firedac;
$(BDS)\source\tethering;
$(BDS)\source\DUnitX;
$(BDS)\source\data\ems;
$(BDS)\source\rtl\net;
$(BDS)\source\FlatBox2D;
$(BDS)\OCX\Servers;
C:\Program Files (x86)\Neos Eureka S.r.l\EurekaLog 7\Source\;
$(DXVCL)\ExpressCore Library\Sources;
$(DXVCL)\XP Theme Manager\Sources;
$(DXVCL)\ExpressGDI+ Library\Sources;
$(DXVCL)\ExpressCommon Library\Sources;
$(DXVCL)\ExpressLibrary\Sources;
$(DXVCL)\ExpressPageControl\Sources;
$(DXVCL)\ExpressDataController\Sources;
$(DXVCL)\ExpressEditors Library\Sources;
$(DXVCL)\ExpressWizard Control\Sources;
$(DXVCL)\ExpressBars\Sources;
$(DXVCL)\ExpressDocking Library\Sources;
$(DXVCL)\ExpressLayout Control\Sources;
$(DXVCL)\ExpressSpreadSheet\Sources;
$(DXVCL)\ExpressExport Library\Sources;
$(DXVCL)\ExpressQuantumTreeList\Sources;
$(DXVCL)\ExpressQuantumGrid\Sources;
$(DXVCL)\ExpressVerticalGrid\Sources;
$(DXVCL)\ExpressMemData\Sources;
$(DXVCL)\ExpressSpellChecker\Sources;
$(DXVCL)\ExpressTile Control\Sources;
$(DXVCL)\ExpressNavBar\Sources;
$(DXVCL)\ExpressSkins Library\Sources;
$(DXVCL)\ExpressPrinting System\Sources;
$(DXVCL)\ExpressPivotGrid\Sources;
$(DXVCL)\ExpressDBTree Suite\Sources;
$(DXVCL)\ExpressOrgChart\Sources;
$(DXVCL)\ExpressFlowChart\Sources;
$(DXVCL)\ExpressMap Control\Sources;
$(DXVCL)\ExpressScheduler\Sources;
$(DXVCL)\ExpressRichEdit Control\Sources;
$(DXVCL)\ExpressGauge Control\Sources
Community
  • 1
  • 1
TimoGull
  • 39
  • 1
  • 9
  • No, I still cannot see what I want. I can see what the error says, but I cannot see the line of code or the unit that produces the error. Personally I'm freaked out by your library path, it's got far too much in it. Don't you want to know what you are including in your project? – David Heffernan Mar 30 '16 at 08:48
  • Problem is that it doesn't refer to a line of code. I get the message when it starts compiling a I don't find any way to link it to a line of code or to the unti where it's called from. Very strange for me too. – TimoGull Mar 30 '16 at 08:54
  • OK, well never mind then, I give up. – David Heffernan Mar 30 '16 at 08:55
  • fgx_XE8/Library sounds strange for Seattle – Sir Rufo Mar 30 '16 at 08:57
  • Now, i'm trying to get as much as possible out of the library path, but the problem is the my predecessor uses a lot of different 3th party tools – TimoGull Mar 30 '16 at 09:00
  • Try move `C:\Program Files (x86)\Embarcadero\Studio\17.0\lib\win32\release` up. This line must be first in Library path. But this is not right line - "standart path" is `$(BDSLIB)\$(Platform)\release` – kami Mar 30 '16 at 09:23
  • @SirRufo This is a strange name from the directory, don't know why this is done so previously... – TimoGull Mar 30 '16 at 09:29
  • If you would only work out which file was responsible for the error, as I have been trying to get you to do, then you'd make progress. Don't be helpless. Isolate the problem. – David Heffernan Mar 30 '16 at 09:32
  • Thx to all, problems looks found: when I disable "C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\win;" everything works again. Don't know how to suddently get in, or this suddently gave errors. But big problem solved. Now I can look why this is in and if there are some "changed" pas/dcu files in it. – TimoGull Mar 30 '16 at 09:33
  • My library path has one entry on it........... – David Heffernan Mar 30 '16 at 09:46
  • Note: Bob Swart got this error message in XE8, cause not yet determined, may have to do with an incomplete update and/or DST: http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:7333 – Jan Doggen Mar 30 '16 at 12:35

1 Answers1

0

Problem solved, There was one instance in the library path that was responsible for the problem.

I disabled "C:\Program Files (x86)\Embarcadero\Studio\17.0\source\rtl\win;" from the library and all seems to work now.

My job now is to look why this file was in my library from my predecessor and try to look if there are any "strange" pas/dcu files in that directory so it should be needed in the path. But that is now my job, Thx to all who helped me with sending some clues to get it solved.

So, it looks that I lost a lot of time by searching at other things first instead of disabling 1 by 1 of the instances in my Library path. This is the tip for today :-)

TimoGull
  • 39
  • 1
  • 9