Recent

Author Topic: Fpcupdeluxe  (Read 813431 times)

del

  • Sr. Member
  • ****
  • Posts: 258
Re: Fpcupdeluxe
« Reply #735 on: December 28, 2017, 07:27:09 am »
Hey I just became a member and I love this utility. I just got driven into the linux world by this latest Windows 10 campaign (Creators Update) and without this utility I doubt I would have been able to do a successful linux install.  :)

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1739
Re: Fpcupdeluxe
« Reply #736 on: December 28, 2017, 08:55:10 am »
@Mathias
Thanks for reporting. Should be fixed.

@del
Welcome into the Linux world !

del

  • Sr. Member
  • ****
  • Posts: 258
Re: Fpcupdeluxe
« Reply #737 on: January 03, 2018, 09:21:54 pm »
Dumb question. New to Linux (mint). I learned my lesson and never install anything without Synaptic Package Manager. Except fpcupdeluxe-x86_64-linux. It's great and gives me clean builds outside of the root directories. So the question is: is there any way I can make Synaptic Package Manager "aware" of my Lazarus installation and it's dependencies, etc.?

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #738 on: January 26, 2018, 03:13:01 pm »
Just my 2 cents around windows...

I attempted to apply Whole Program Optimization (WPO) on a project with
-FW$(ProjOutDir)feedbk.wpo -OWoptvmts,devirtcalls
all went fine! the gain is about 350KB each 2MB of the final executable
So, I decided to turn on an other option
-FW$(ProjOutDir)feedbk.wpo -OWoptvmts,devirtcalls,symbolliveness
but the compilation failled, compiler complaining "nm.exe" from binutils was missing
Fortunately I have GCC installed in my Ultimate++ IDE and I copied nm.exe to
my fpc\bin\i386-win32 installation (because windows gnu nm tool is hard to find under binary), afterwhat all went fine and final app is even shorter
My 2 cents suggestion :
as I guess this nm utility is absent on main platform and cross-compilers...
while fpcup preinstalls binutils for fpcupdeluxe to build fpc+laz, it should get the nm utility needed by FPC for deep optimizations and unused syms/routines removal
thank you
Respect = fpcupdeluxe is awesome tool
« Last Edit: January 26, 2018, 03:19:05 pm by sam707 »

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1739
Re: Fpcupdeluxe
« Reply #739 on: January 26, 2018, 04:39:35 pm »
 :D
Next release will include nm.exe (32bit only unfortunately) !

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #740 on: January 26, 2018, 04:58:11 pm »
you can get both 32/64b versions from Ultimate++installation on windows (it comes at version 2.25 year 2014 inside the binS folders of GCC minGW64). It should be enough for most users at the moment, because the nm tool is installed on all linuxes while getting binutils (I don't know on macs, sorry)
Regards

Quote
C:\upp\bin\mingw64\32\bin>nm --version
GNU nm (GNU Binutils) 2.25
Copyright (C) 2014 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

C:\upp\bin\mingw64\32\bin>
« Last Edit: January 26, 2018, 05:03:15 pm by sam707 »

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #741 on: January 26, 2018, 05:05:19 pm »
just DL Ultimate++ on their site
you'll get "upp-mingw-10804.7z" or something more recent
unzip and explore folders, thats all folks
https://www.ultimatepp.org
stable release
https://sourceforge.net/projects/upp/files/upp/2017.2/
« Last Edit: January 26, 2018, 05:08:58 pm by sam707 »

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #742 on: January 27, 2018, 07:18:06 am »
my Fresh update of U++ shows as follow, if it can help

Quote
C:\upp\bin\mingw64\32\bin>nm --version
GNU nm (GNU Binutils) 2.28
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

C:\upp\bin\mingw64\32\bin>cd ..\..\64\bin

C:\upp\bin\mingw64\64\bin>nm --version
GNU nm (GNU Binutils) 2.28
Copyright (C) 2017 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

C:\upp\bin\mingw64\64\bin>

after I unpacked (no need install for U++) the last stable release "upp-mingw-11540.7z"

You can see I access both \32 and \64 bits NM crossref symbols binutility inside the respective folders. on an installed GCC 7.1 (32/64)
« Last Edit: January 27, 2018, 07:20:33 am by sam707 »

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1739
Re: Fpcupdeluxe
« Reply #743 on: January 27, 2018, 10:53:09 am »
@sam707

New release available, with nm.exe and some other bugfixes and improvements (I hope) !

Sidenote:
Due to historic reasons, fpcupdeluxe will use only official FPC and Lazarus sources/binaries if available. This was decided by BigChimp, the original author of fpcup. Therefor, nm.exe is taken from the available FPC binaries. And that has only 32bit for Windows. Only in cases where functionality can be broken, other sources are used.

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #744 on: January 27, 2018, 06:42:34 pm »
thanks @DonAlfredo
my logic told me nm is part of binutils, FPC uses binutils, so it should be shipped with FPC, for high WPO optimizations when confirmed programmers want it (its no toy LOL).
Plz consider CodeTyphon is following such evidence  :D that is NO MATTER of bitwidth 32/64 ... So feel free to correct an oversight from bigshimp if you can, then you'll be granted to more fame

I personnally copied nm in
my "bin\i386-win32" AND "bin\x86_64-win64" folders (where i installed FPC32 and FPC64) respectivelly 32 and 64 bits version of the tool, ..... works fine like a charm
« Last Edit: January 27, 2018, 10:41:01 pm by sam707 »

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #745 on: January 29, 2018, 09:10:06 am »
example of Laz 1.8.1+ overrides to build a Retailed App

you have to compile 2 times your project
- 1st pass, use preRetail configuration with no -Xs flag checked so the compiler will collect all symbols and drop them with other stuffs in the feedback file
- 2nd and final pass, use Retail conf with -O3 and -Xs then the compiler will build a FINAL App so damn optimized, removing unused syms, changing virtual calls to static ones when possible, and shortening "V"irtual "M"ethods "T"able achording to this
Actually, on a small project around 3.5MB long compiled as Release O3, I noticided a gain of 650KB, reducing the final app from 3.5 to 2.9. The App is also a lil bit FASTer. So WPO is definitely not a toy... for Advanced Programmers
« Last Edit: January 29, 2018, 09:18:28 am by sam707 »

sam707

  • Guest
Re: Fpcupdeluxe
« Reply #746 on: January 30, 2018, 07:57:50 am »
N.B.
advantage 1 (minimal)
WPO does obfuscate final exe or lib, so reverse engineering =>
raise Exception.Create("go to Uranus, crapy hacker");
if you decide to not give sources
advantage 2 (the best)
WPO is a slow way to make a FINAL distro of an app or library (2 passes) but it very often defeats GNU C(++) and MS VC(++) at optimizing object programming on same algorithms. I think it's an unknown (at least not told at 1st) feature of the AWESOME FPC that should be sprayed around.
Enjoy!
« Last Edit: January 30, 2018, 08:13:31 am by sam707 »

lainz

  • Hero Member
  • *****
  • Posts: 4468
    • https://lainz.github.io/
Re: Fpcupdeluxe
« Reply #747 on: February 02, 2018, 02:06:43 pm »
Hi, I've installed today cross compilers for Linux 64 and macOS darwin 32.

Quote
1.6.0m+   i386-win32   Win64-10.0.16299   win32   Argentina   2018-02-02T11:29:56   Install cross   trunk   trunk   linux-x86_64   {"Only":"FPCCleanOnly,FPCBuildOnly"}   Success !
1.6.0m+   i386-win32   Win64-10.0.16299   win32   Argentina   2018-02-02T11:59:56   Install cross   trunk   trunk   darwin-i386   {"Only":"FPCCleanOnly,FPCBuildOnly"}   Success !

The linux one works fine, but the mac, despite it says it compiled the project, it gives me a folder with no executable inside.

What I get is only MacOS and Resources empty folders, and Info.plist and PkgInfo.

I'm using Windows 10, and trunk-trunk. I'm trying to build a lazarus project.
« Last Edit: February 02, 2018, 02:33:49 pm by lainz »

DonAlfredo

  • Hero Member
  • *****
  • Posts: 1739
Re: Fpcupdeluxe
« Reply #748 on: February 03, 2018, 10:38:07 am »
@lainz
There was a problem with missing Darwin libs ! Should be fixed now.
Please remove the cross\lib\x86-darwin directory and run fpcupdeluxe again.

Josh

  • Hero Member
  • *****
  • Posts: 1273
Re: Fpcupdeluxe
« Reply #749 on: February 04, 2018, 01:10:23 am »
Hi

Just tried to update my win 32-lazarus trunk installation and got the following message.
Code: [Select]
Compiling .\widgetset\wscalendar.pp
Compiling dbgrids.pas
Compiling grids.pas
Compiling .\widgetset\wsgrids.pp
Compiling defaulttranslator.pas
Compiling lcltranslator.pas
Compiling extdlgs.pas
Compiling .\forms\calcform.pas
Compiling .\widgetset\wsextdlgs.pp
Compiling extgraphics.pas
Compiling filectrl.pp
Compiling shellctrls.pas
Compiling graphutil.pp
Compiling inipropstorage.pas
inipropstorage.pas(96,103) Error: Incompatible type for arg no. 2: Got "TEncoding", expected "Boolean"
inipropstorage.pas(165) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: C:\lazarus_trunk\fpc\bin\i386-win32\ppc386.exe returned an error exitcode
make: *** [lazbuild] Error 2
fpcupdeluxe: ERROR: LazarusNativeInstaller (BuildModuleCustom: lazbuild): make.exe returned error code #2


ERROR: Fpcupdeluxe fatal error !

Is this a trunk error, awaiting to be fixed or something else
The best way to get accurate information on the forum is to post something wrong and wait for corrections.

 

TinyPortal © 2005-2018