* * *

Author Topic: Compile error on FPC trunk  (Read 1648 times)

molly

  • Hero Member
  • *****
  • Posts: 1695
Re: Compile error on FPC trunk
« Reply #15 on: June 02, 2017, 02:30:24 pm »
@jblain:
in the end that would probably be the better solution. The github solution can still be used to verify if indeed it is your svn-tree that is 'confused'.

I want to say that it is fairly odd that something like that could happen on itself just by doing normal check-outs but i recently ran into something similar myself. In my case my svn tree database was completely broken.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5540
Re: Compile error on FPC trunk
« Reply #16 on: June 02, 2017, 02:35:50 pm »
Typical procedure is 

0) make sure your repo is right. Update the toplevel to make sure it is not some partial update
1) check the repository for modifications (svn status) and (svn revert) if necessarily. (e.g. svn revert -R . in the toplevel dir)

2) run make distclean two times to kill nearly all state in the build system.

In the unlikely event that this doesn't work, better make a new checkout.

Personally I would avoid introducing other complicating factors like GIT (which is occasionally not synced)

molly

  • Hero Member
  • *****
  • Posts: 1695
Re: Compile error on FPC trunk
« Reply #17 on: June 02, 2017, 02:41:50 pm »
2) run make distclean two times to kill nearly all state in the build system.
Thank you for that remark as i wondered if that is still needed.

Quote
Personally I would avoid introducing other complicating factors like GIT (which is occasionally not synced)
For the record: i did not suggest using git/github, rather download the zipfile in order to be able to do a quick check. Usually i would point to ftp archive and download (recent) sources from there but those seem not to have been updated for while now.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5540
Re: Compile error on FPC trunk
« Reply #18 on: June 02, 2017, 02:55:52 pm »
2) run make distclean two times to kill nearly all state in the build system.
Thank you for that remark as i wondered if that is still needed.

It is rarely needed, I only do it if I revitalize an old checkout, or after very heavy changes (like e.g. the integration of the unicode branch and the creation of rtl-*) but moving units in SVN might leave out state .o and .ppu's, and the fpmake binary also holds state.

The first clean runs fpmake to let it clean as much as possible, the second cleans out by zapping *.o *.ppu with wildcards.

Quote
Personally I would avoid introducing other complicating factors like GIT (which is occasionally not synced)
For the record: i did not suggest using git/github, rather download the zipfile in order to be able to do a quick check. Usually i would point to ftp archive and download (recent) sources from there but those seem not to have been updated for while now.
[/quote]

IMHO still not reason to recommend potentially out of sync purposes for validation. A second checkout is easiest.

DonAlfredo

  • Hero Member
  • *****
  • Posts: 708
Re: Compile error on FPC trunk
« Reply #19 on: June 02, 2017, 03:37:10 pm »
@marcov
For advise only, regarding an automation like fpcupdeluxe.
Would you advice for such a tool to also run distclean twice ?

jblain

  • New member
  • *
  • Posts: 14
Re: Compile error on FPC trunk
« Reply #20 on: June 02, 2017, 07:29:07 pm »
I simply deleted my svn checkout, redid one in an empty directory and voila, everything is back to normal. I have never had a problem like this before and I am not quite sure were and how svn became confused... As I said, I never edit any of the checkedout code.

Thank you all, have a nice day

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5540
Re: Compile error on FPC trunk
« Reply #21 on: June 09, 2017, 09:47:02 am »
@marcov
For advise only, regarding an automation like fpcupdeluxe.
Would you advice for such a tool to also run distclean twice ?

If you change e.g. target yes, otherwise only for very large changes. I happened to need it today when I switched a 32-bit repo to 64-bit (windows):

The error that I got was:

Quote
./fpmake.exe distclean -T 5 --localunitdir=.. --globalunitdir=../packages --os=win64 --cpu=x86_64 -o -Twin64 -o -Px86_64 -o -XPx86_64-win64- -o -Xr -o -Ur -o -Xs -o -O2 -o -n -o -gl -o -XX -o -O4 -o -Opcoreavx -o -Cfavx -o -Cpcoreavx -o -dx86_64 -o -dRELEASE --compiler=d:/fpc/3.0.2/bin/i386-win32/ppc386.exe -bu -sp
Warning: Better do not combine the SearchPath and Global/Local-UnitDir parameters
The installer encountered the following error:
Option at position 42 (-sp) needs an argument
make[1]: *** [distclean] Error 1

Made me believe something was wrong in the old fpmake -> distclean twice.

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus