Recent

Author Topic: error messages "fpc.cfg missing", "compiler does not support target i386-linux"  (Read 5653 times)

Martin V

  • Full Member
  • ***
  • Posts: 139
Hello,

I have updated to Lazarus 1.6 and fpc 3.0 and I get the same error messages:
- Configure Lazarus IDE window: fpc compiler: /usr/bin/fpc, Error: fpc.cfg is missing
- Error: Compiler /usr/bin/fpc does not support target i386-linux

I do not cross-compile. Simly from Linux gtk2 32 to the same.
All works fine, but this two error messages occur. I have checked the Tools-Options directory entries. I know there are a lot of threads about this subject, some of them were my own questions. But they do no help... I remember I had this problem already with former updates.

Thaddy

  • Hero Member
  • *****
  • Posts: 14210
  • Probably until I exterminate Putin.
Can you type fpc -i in a terminal and report back what targets the compiler says it supports? You probably have a wrong compiler.. 64bit?
In that case you need to build a crosscompiler for i386 or have a double installation for 32 bit and 64bit, which is possible, provided some additional measures. (multiarch)
Multiarch may or may not be already installed, but just in case : http://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit the answer specifies how to do that for Ubuntu, bu that also works for debian jessie..
« Last Edit: August 28, 2016, 12:11:06 pm by Thaddy »
Specialize a type, not a var.

Martin V

  • Full Member
  • ***
  • Posts: 139
Additional info: I have got an Ubuntu 32 bit version 12 installed.

fpc -i   says:
Free Pascal Compiler version 3.0.0

Compiler date      : 2015/12/05
Compiler CPU target: i386

Supported targets (targets marked with '{*}' are under development):
  Go32v2: GO32 V2 DOS extender
  Linux: Linux for i386
  OS2: OS/2
  Win32: Win32 for i386
  FreeBSD: FreeBSD/ELF for i386
and so on.

Seems all OK.

fpc.cfg files are here:
/home/martin/fpc.cfg
/etc/fpc.cfg
/usr/bin/fpc.cfg

Then I have also set the PPC_CONFIG_PATH variable.

My own apps work fine (besides the two error messages), but I cannot compile a lpk file: The target is WINCE is set (the last target in the target list). I can see this because it tries to compile these OS specific units.

I have tried to set the target in the project options, no effect.

Even in my own apps which I can compile, the compiler directives ar wrong in the editor: {$ifdef unix} is grayed. It seems that the editor also shows WINCE target.
« Last Edit: August 30, 2016, 09:13:35 am by Martin V »

Thaddy

  • Hero Member
  • *****
  • Posts: 14210
  • Probably until I exterminate Putin.
I am not sure WINCE for intel32 is supported. If that is what you are trying to do.
AFAIK it is still WINCE for ARM only, for which you need a cross-compiler.

If that is NOT the case, the fpc.cfg is corrupted or from a wince/arm.
You can remedy that by creating a new one: delete the old one and use fpcmkcfg >fpc.cfg to create a new default one.
It will set the correct values for your platform. Maybe you have to add some -Fu's and -Fi's  for Lazarus.
« Last Edit: August 30, 2016, 11:17:09 am by Thaddy »
Specialize a type, not a var.

Martin V

  • Full Member
  • ***
  • Posts: 139
I could fix the problem now. Even a sudo apt-get remove fpc, fpc-src, lazarus and a reinstal via deb packages had no effect.

It seems that the ~/.lazarus/environmentioptions.xml file was corrupted and forced the wrong target and the missing fpc.cfg file. The ./lazarus directory is not overwritten or deleted when reinstalling or uninstalling Lazarus.

 

TinyPortal © 2005-2018