[fpc-pascal] Error compile library on Linux.

Fabio Luis Girardi fluisgirardi at gmail.com
Wed Mar 26 18:42:21 CET 2014


No problem... what's your fpc version? I'll compare with the right version
of FPC here.


2014-03-26 14:17 GMT-03:00 fredvs <fiens at hotmail.com>:

> @ Fabio Luis Girardi :
>
> Here my working *fpc.cfg*
> _________________________________________________________
> #
> # Config file generated by fpcmkcfg on 5-3-14 - 21:58:27
> # Example fpc.cfg for Free Pascal Compiler
> #
>
> # ----------------------
> # Defines (preprocessor)
> # ----------------------
>
> #
> # nested #IFNDEF, #IFDEF, #ENDIF, #ELSE, #DEFINE, #UNDEF are allowed
> #
> # -d is the same as #DEFINE
> # -u is the same as #UNDEF
> #
>
> #
> # Some examples (for switches see below, and the -? helppages)
> #
> # Try compiling with the -dRELEASE or -dDEBUG on the commandline
> #
>
> # For a release compile with optimizes and strip debuginfo
> #IFDEF RELEASE
>   -O2
>   -Xs
>   #WRITE Compiling Release Version
> #ENDIF
>
> # For a debug version compile with debuginfo and all codegeneration checks
> on
> #IFDEF DEBUG
>   -gl
>   -Crtoi
>   #WRITE Compiling Debug Version
> #ENDIF
>
> # assembling
> #ifdef darwin
> # use pipes instead of temporary files for assembling
> -ap
> # path to Xcode 4.3+ utilities (no problem if it doesn't exist)
> -FD/Applications/Xcode.app/Contents/Developer/usr/bin
> #endif
>
> # ----------------
> # Parsing switches
> # ----------------
>
> # Pascal language mode
> #      -Mfpc      free pascal dialect (default)
> #      -Mobjfpc   switch some Delphi 2 extensions on
> #      -Mdelphi   tries to be Delphi compatible
> #      -Mtp       tries to be TP/BP 7.0 compatible
> #      -Mgpc      tries to be gpc compatible
> #      -Mmacpas   tries to be compatible to the macintosh pascal dialects
> #
> # Turn on Object Pascal extensions by default
> #-Mobjfpc
>
> # Assembler reader mode
> #      -Rdefault  use default assembler
> #      -Ratt      read AT&T style assembler
> #      -Rintel    read Intel style assembler
> #
> # All assembler blocks are AT&T styled by default
> #-Ratt
>
> # Semantic checking
> #      -S2        same as -Mobjfpc
> #      -Sc        supports operators like C (*=,+=,/= and -=)
> #      -Sa        include assertion code.
> #      -Sd        same as -Mdelphi
> #      -Se<x>     error options. <x> is a combination of the following:
> #         <n> : compiler stops after <n> errors (default is 1)
> #         w   : compiler stops also after warnings
> #         n   : compiler stops also after notes
> #         h   : compiler stops also after hints
> #      -Sg        allow LABEL and GOTO
> #      -Sh        Use ansistrings
> #      -Si        support C++ styled INLINE
> #      -Sk        load fpcylix unit
> #      -SI<x>     set interface style to <x>
> #         -SIcom    COM compatible interface (default)
> #         -SIcorba  CORBA compatible interface
> #      -Sm        support macros like C (global)
> #      -So        same as -Mtp
> #      -Sp        same as -Mgpc
> #      -Ss        constructor name must be init (destructor must be done)
> #      -Sx        enable exception keywords (default in Delphi/ObjFPC
> modes)
> #
> # Allow goto, inline, C-operators, C-vars
> -Sgic
>
> # ---------------
> # Code generation
> # ---------------
>
> # Uncomment the next line if you always want static/dynamic units by
> default
> # (can be overruled with -CD, -CS at the commandline)
> #-CS
> #-CD
>
> # Set the default heapsize to 8Mb
> #-Ch8000000
>
> # Set default codegeneration checks (iocheck, overflow, range, stack)
> #-Ci
> #-Co
> #-Cr
> #-Ct
>
> # Optimizer switches
> # -Os        generate smaller code
> # -Oa=N      set alignment to N
> # -O1        level 1 optimizations (quick optimizations, debuggable)
> # -O2        level 2 optimizations (-O1 + optimizations which make
> debugging
> more difficult)
> # -O3        level 3 optimizations (-O2 + optimizations which also may make
> the program slower rather than faster)
> # -Oo<x>     switch on optimalization x. See fpc -i for possible values
> # -OoNO<x>   switch off optimalization x. See fpc -i for possible values
> # -Op<x>     set target cpu for optimizing, see fpc -i for possible values
>
> #ifdef darwin
> #ifdef cpui386
> -Cppentiumm
> -Oppentiumm
> #endif
> #endif
>
> # -----------------------
> # Set Filenames and Paths
> # -----------------------
>
> # Both slashes and backslashes are allowed in paths
>
> # path to the messagefile, not necessary anymore but can be used to
> override
> # the default language
> #-Fr/usr/lib/fpc/$fpcversion/msg/errore.msg
> #-Fr/usr/lib/fpc/$fpcversion/msg/errorn.msg
> #-Fr/usr/lib/fpc/$fpcversion/msg/errores.msg
> #-Fr/usr/lib/fpc/$fpcversion/msg/errord.msg
> #-Fr/usr/lib/fpc/$fpcversion/msg/errorr.msg
>
> # searchpath for units and other system dependent things
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/*
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/rtl
>
> #IFDEF FPCAPACHE_1_3
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd13/
> #ELSE
> #IFDEF FPCAPACHE_2_0
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd20
> #ELSE
> -Fu/usr/lib/fpc/$fpcversion/units/$fpctarget/httpd22
> #ENDIF
> #ENDIF
>
> # searchpath for fppkg user-specific packages
> -Fu~/.fppkg/lib/fpc/$fpcversion/units/$FPCTARGET/*
>
> # path to the gcclib
> #ifdef cpui386
> -Fl/usr/lib/gcc/x86_64-linux-gnu/4.8
> #endif
> #ifdef cpux86_64
> -Fl/usr/lib/gcc/x86_64-linux-gnu/4.8
> #endif
>
> # searchpath for libraries
> #-Fl/usr/lib/fpc/$fpcversion/lib
> #-Fl/lib;/usr/lib
> -Fl/usr/lib/fpc/$fpcversion/lib/$FPCTARGET
>
> # searchpath for tools
> -FD/usr/lib/fpc/$fpcversion/bin/$FPCTARGET
>
> #IFNDEF CPUI386
> #IFNDEF CPUAMD64
> #DEFINE NEEDCROSSBINUTILS
> #ENDIF
> #ENDIF
>
> #IFNDEF Linux
> #DEFINE NEEDCROSSBINUTILS
> #ENDIF
>
> # binutils prefix for cross compiling
> #IFDEF FPC_CROSSCOMPILING
> #IFDEF NEEDCROSSBINUTILS
>   -XP$FPCTARGET-
> #ENDIF
> #ENDIF
>
>
> # -------------
> # Linking
> # -------------
>
> # generate always debugging information for GDB (slows down the compiling
> # process)
> #      -gc        generate checks for pointers
> #      -gd        use dbx
> #      -gg        use gsym
> #      -gh        use heap trace unit (for memory leak debugging)
> #      -gl        use line info unit to show more info for backtraces
> #      -gv        generates programs tracable with valgrind
> #      -gw        generate dwarf debugging info
> #
> # Enable debuginfo and use the line info unit by default
> #-gl
>
> # always pass an option to the linker
> #-k-s
>
> # Always strip debuginfo from the executable
> -Xs
>
>
> # -------------
> # Miscellaneous
> # -------------
>
> # Write always a nice FPC logo ;)
> # -l
>
> # Verbosity
> #      e : Show errors (default)       d : Show debug info
> #      w : Show warnings               u : Show unit info
> #      n : Show notes                  t : Show tried/used files
> #      h : Show hints                  s : Show time stamps
> #      i : Show general info           q : Show message numbers
> #      l : Show linenumbers            c : Show conditionals
> #      a : Show everything             0 : Show nothing (except errors)
> #      b : Write file names messages   r : Rhide/GCC compatibility mode
> #          with full path              x : Executable info (Win32 only)
> #      v : write fpcdebug.txt with     p : Write tree.log with parse tree
> #          lots of debugging info
> #
> # Display Info, Warnings and Notes
> -viwn
> # If you don't want so much verbosity use
> #-vw
> #include /etc/fpc-fpg.cfg
> _______________________________________________________
>
> *Here my fpc-fpg.cfg ( see end of fpc.cfg, i added it for fpGUI ) :*
>
> # Begin fpGUI-block
> # search-path for fpGUI units and includes
> -Fu/home/fred/fpGUI-develop/src
> -Fi/home/fred/fpGUI-develop/src
> -Fu/home/fred/fpGUI-develop/src/corelib
> -Fu/home/fred/fpGUI-develop/src/corelib/x11
> -Fi/home/fred/fpGUI-develop/src/corelib/x11
> -Fu/home/fred/fpGUI-develop/src/corelib/render/software
> -Fu/home/fred/fpGUI-develop/src/gui
> -Fu/home/fred/fpGUI-develop/src/gui/db
> -Fu/home/fred/fpGUI-develop/src/reportengine
> # object pascal dialect and compil options
> -MObjFPC
> -Schi
> -vewnhi
> -Xs
> -XX
> -fPIC
> # End fpGUI-blockg :
>
> # Begin fpGUI-block
> # search-path for fpGUI units and includes
> -Fu/home/fred/fpGUI-develop/src
> -Fi/home/fred/fpGUI-develop/src
> -Fu/home/fred/fpGUI-develop/src/corelib
> -Fu/home/fred/fpGUI-develop/src/corelib/x11
> -Fi/home/fred/fpGUI-develop/src/corelib/x11
> -Fu/home/fred/fpGUI-develop/src/corelib/render/software
> -Fu/home/fred/fpGUI-develop/src/gui
> -Fu/home/fred/fpGUI-develop/src/gui/db
> -Fu/home/fred/fpGUI-develop/src/reportengine
> # object pascal dialect and compil options
> -MObjFPC
> -Schi
> -vewnhi
> -Xs
> -XX
> -fPIC
> # End fpGUI-block
> _________________________________________________
>
> *And here the compiler parameters used :* (for fpGUI library)
>
>  -MObjFPC -Scghi -CX -Xs -XX -vewnhi -Fi/home/fred/fpGUIlib/src/units
> -Fu/home/fred/fpGUI-develop/lib/x86_64-linux
> -Fu/usr/share/lazarus/1.2.0/packager/units/x86_64-linux
> -Fu/home/fred/fpGUIlib/src/ -FU/home/fred/fpGUIlib/src/units/ -olibfpgui.so
>
> _________________________________________________
>
>
>
>
>
>
>
>
> -----
> Many thanks ;-)
> --
> View this message in context:
> http://free-pascal-general.1045716.n5.nabble.com/Error-compile-library-on-Linux-tp5718562p5718765.html
> Sent from the Free Pascal - General mailing list archive at Nabble.com.
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
>



-- 
The best regards,

Fabio Luis Girardi
PascalSCADA Project
http://sourceforge.net/projects/pascalscada
http://www.pascalscada.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20140326/a085f670/attachment.html>


More information about the fpc-pascal mailing list