Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2013-03

Randomly project fails to link under FreeBSD

2 messages · 1 person · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

I'm using FPC 2.7.1 under 64-bit FreeBSD 9.1. I have to use 2.7.1 (updated about a week ago), so I could get the fixes for threading and memory corruption under FreeBSD (disussed a while back on mailing list).

Anyway, every now and again my projects (a few of them) fail to link as follows

----8<-------------8<-------------8<-------------8<-------------8<---- Hint: Start of reading config file /home/graemeg/.fpc.cfg Hint: End of reading config file /home/graemeg/.fpc.cfg Free Pascal Compiler version 2.7.1 [2013/03/04] for x86_64 Copyright (c) 1993-2013 by Florian Klaempfl and others Target OS: FreeBSD for x86-64
Compiling m2compiler.lpr
Compiling frm_options.pas
...snip...
Linking /data/devel/MasterMaths/m2_system/Bin/x86_64-freebsd/m2compiler /data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.fpc+0xa70): undefined reference to `DEBUGSTART_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.fpc+0xa78): undefined reference to `DEBUGEND_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.data+0x3d0): undefined reference to `FINALIZE$_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/frm_options.o: In function `FORMSHOW':
/data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:40: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:41: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/frm_options.o: In function `BTNOKCLICKED':
/data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:47: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:48: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' m2compiler.lpr(71,1) Error: Error while linking
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.fpc+0xa70): undefined reference to `DEBUGSTART_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.fpc+0xa78): undefined reference to `DEBUGEND_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/m2compiler.o:(.data+0x3d0): undefined reference to `FINALIZE$_$M2COMPILER'
/data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/frm_options.o: In function `FORMSHOW':
/data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:40: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:41: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler/units/x86_64-freebsd/frm_options.o: In function `BTNOKCLICKED':
/data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:47: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' /data/devel/MasterMaths/m2_system/Source/compiler//frm_options.pas:48: undefined reference to `M2COMPILER_$$_GM2COMPILER$$TM2COMPILER' m2compiler.lpr(71,1) Error: Error while linking
m2compiler.lpr(71,1) Fatal: There were 1 errors compiling module, stopping

----8<-------------8<-------------8<-------------8<-------------8<----

I have cleared out every single *.o, *.a, *.ppu etc. file I could find. I have even created a extrafpc.cfg file to bypass the usage of Lazarus packages, then use the compiler from the command line, and make sure everything gets compiled into a single unit output directory. Usage is as follows

fpc @extrafpc.cfg m2compiler.lpr

As I said, this linking failure happens randomly with different projects. I then just keep clearing the unit output directories, try and rebuild everything, and then magically it will start linking successfully again???

Any idea why?

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/
Graeme Geldenhuys
to Graeme Geldenhuys
Graeme Geldenhuys wrote
Anyway, every now and again my projects (a few of them) fail to link as follows

Problem solved!

I had a program unit named m2compiler.lpr, and in another directory I had a unit named M2Compiler.pas. This caused the changing the program unit name solved the problem.

The issue with other projects was caused by Lazarus IDE injecting extra search paths I did not tell it to, which then found old *.ppu files.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/