Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
On 12/29/2014 05:28 AM, Gennady Agranov wrote: 1. Sounds like fpmake doesn't recursively add dependencies? e.g. rtl-objpas should come as dep of fcl-base. I am not familar at all with fpmake design - if fcl-base depends on rtl-objpas - does it mean that rtl-objpas dependency is exported - i.e. -Fu to rtl-objpas will be added if only fcl-base dependency is added in fpmake.pp? Yes, it should. As Marco also wrote. But last night I remembered that the system to resolve those dependencies has been changed. A few weeks back, files called 'fpmkunit.cfg' were used to resolve these dependencies. At the moment this is done by files called packagename.fpm. So, can you test if removing all files called 'fpmkunit.cfg' solves your problem? Regards, Joost. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
In our previous episode, Joost van der Sluis said: On 12/29/2014 05:28 AM, Gennady Agranov wrote: Yes, it should. As Marco also wrote. But last night I remembered that the system to resolve those dependencies has been changed. A few weeks back, files called 'fpmkunit.cfg' were used to resolve these dependencies. At the moment this is done by files called packagename.fpm. So, can you test if removing all files called 'fpmkunit.cfg' solves your problem? Does fpmake still resolve both, or do you suspect fpmakes not being cleaned? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
M utils/pas2jni/fpmake.pp M utils/pas2ut/fpmake.pp M utils/unicode/fpmake.pp I was adding dependencies one by one - after compilation error about unresolved used unit I was looking for the package that contains this unit and adding the missing dependency - for every compilation error and for every fpmake instance. It's good you brought this to our attention. In recent weeks several fpmake related issues were mentioned, but only for more rarely used cases. Your case demonstrates it in a much tested target, so probably something is up, as Joost already identified. Since branching hopefully will happen within a week, everything bug that can be rooted out of the build system is welcome. If I see Joost comments, the question partially becomes what is different in your case. Some questions to get an idea: 1. Do you generally run make distclean before svn update? 2. To build and install a snapshot, do you run make and install in one command or in two separate steps? 3. Any other special things you could tell us about your build routine? ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
On 12/29/2014 04:27 PM, Marco van de Voort wrote: In our previous episode, Joost van der Sluis said: On 12/29/2014 05:28 AM, Gennady Agranov wrote: Yes, it should. As Marco also wrote. But last night I remembered that the system to resolve those dependencies has been changed. A few weeks back, files called 'fpmkunit.cfg' were used to resolve these dependencies. At the moment this is done by files called packagename.fpm. So, can you test if removing all files called 'fpmkunit.cfg' solves your problem? Does fpmake still resolve both, or do you suspect fpmakes not being cleaned? In theory both. But I tested this only artificially. What could go wrong is this: 1: build fpc (using fpmkunit) 2: svn update, without a clean before this, so the fpmkunit remains 3: build fpc (using .fpm) 4: a dependency changes 5: fpmake resolves using the old fpmkunit. But even then, in step 5, fpmake will search for a .fpm file first. I don't think that this is the case here. I have no idea what really happened. Joost ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
[fpc-devel] Question about building fpc for linux_x86 vs linux_x64
Hi, I have built FPC from trunk - thanks to fpcup!!! For linux_x64 it built as is - great! For linux_x86 I had to add dependencies for rtl-objpas, rtl-extras, rtl-console and fcl-base to the following packages: M ide/fpmake.pp M utils/fpdoc/fpmake.pp M utils/fpmake.pp M utils/fppkg/fpmake.pp M utils/pas2jni/fpmake.pp M utils/pas2ut/fpmake.pp M utils/unicode/fpmake.pp What I do not understand is the following - why these missing dependencies were not required for linux_x64? Thanks, Gennady PS. I can submit changes (i guess?) or send a patch file if somebody needs it. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
On 12/28/2014 06:35 PM, Gennady Agranov wrote: I have built FPC from trunk - thanks to fpcup!!! For linux_x64 it built as is - great! For linux_x86 I had to add dependencies for rtl-objpas, rtl-extras, rtl-console and fcl-base to the following packages: M ide/fpmake.pp M utils/fpdoc/fpmake.pp M utils/fpmake.pp M utils/fppkg/fpmake.pp M utils/pas2jni/fpmake.pp M utils/pas2ut/fpmake.pp M utils/unicode/fpmake.pp What I do not understand is the following - why these missing dependencies were not required for linux_x64? What I do not understand is why you needed theses changes in the first place? Can you send the commands you used to compile fpc, and the last part of the output? PS. I can submit changes (i guess?) or send a patch file if somebody needs it. No, you do not have enough permissions to commit. But can you send the patch, so that I can see what you've changed? Regards, Joost. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
In our previous episode, Joost van der Sluis said: What I do not understand is the following - why these missing dependencies were not required for linux_x64? What I do not understand is why you needed theses changes in the first place? Can you send the commands you used to compile fpc, and the last part of the output? PS. I can submit changes (i guess?) or send a patch file if somebody needs it. No, you do not have enough permissions to commit. But can you send the patch, so that I can see what you've changed? In addition my observations: 1. Sounds like fpmake doesn't recursively add dependencies? e.g. rtl-objpas should come as dep of fcl-base. 2. if the patch just adds ALL those dependencies to all those packages, are they really tested as being really required for all of those? E.g. I can't imagine rtl-console be needed for so many of them. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
No, you do not have enough permissions to commit. But can you send the patch, so that I can see what you've changed? output of svn diff attached :) Thanks, Gennady Regards, Joost. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel Index: ide/fpmake.pp === --- ide/fpmake.pp (revision 29352) +++ ide/fpmake.pp (working copy) @@ -158,7 +158,11 @@ P.Directory:=ADirectory; {$endif ALLPACKAGES} +P.Dependencies.Add('fcl-base'); +P.Dependencies.Add('fcl-xml'); P.Dependencies.Add('rtl-extra'); +P.Dependencies.Add('rtl-console'); +P.Dependencies.Add('rtl-objpas'); P.Dependencies.Add('fv'); P.Dependencies.Add('chm'); { This one is only needed if DEBUG is set } Index: utils/fpdoc/fpmake.pp === --- utils/fpdoc/fpmake.pp (revision 29352) +++ utils/fpdoc/fpmake.pp (working copy) @@ -30,6 +30,7 @@ P.Dependencies.Add('fcl-xml'); P.Dependencies.Add('fcl-passrc'); P.Dependencies.Add('fcl-process'); +P.Dependencies.Add('rtl-objpas'); P.Dependencies.Add('chm'); P.Dependencies.Add('univint',[darwin,iphonesim]); Index: utils/fpmake.pp === --- utils/fpmake.pp (revision 29352) +++ utils/fpmake.pp (working copy) @@ -63,6 +63,7 @@ P.Dependencies.Add('fcl-base'); P.Dependencies.Add('paszlib'); + P.Dependencies.Add('rtl-objpas'); P.Dependencies.Add('hash'); P.Dependencies.Add('univint',[darwin,iphonesim]); Index: utils/fppkg/fpmake.pp === --- utils/fppkg/fpmake.pp (revision 29352) +++ utils/fppkg/fpmake.pp (working copy) @@ -40,6 +40,8 @@ P.Dependencies.Add('fcl-process'); P.Dependencies.Add('fcl-net'); P.Dependencies.Add('paszlib'); +P.Dependencies.Add('rtl-extra'); +P.Dependencies.Add('rtl-objpas'); //P.Dependencies.Add('libcurl',[beos,haiku,freebsd,darwin,iphonesim,solaris,netbsd,openbsd,linux,aix]); P.Dependencies.Add('fppkg'); P.Dependencies.Add('univint', [Darwin, iphonesim]); Index: utils/pas2jni/fpmake.pp === --- utils/pas2jni/fpmake.pp (revision 29352) +++ utils/pas2jni/fpmake.pp (working copy) @@ -29,6 +29,7 @@ P.Dependencies.Add('fcl-base'); P.Dependencies.Add('fcl-process'); P.Dependencies.Add('fcl-json'); +P.Dependencies.Add('rtl-objpas'); T:=P.Targets.AddImplicitUnit('def.pas'); T.Install := false; Index: utils/pas2ut/fpmake.pp === --- utils/pas2ut/fpmake.pp (revision 29352) +++ utils/pas2ut/fpmake.pp (working copy) @@ -26,6 +26,7 @@ P.Directory:=ADirectory; P.Version:='2.7.1'; +P.Dependencies.Add('fcl-base'); P.Dependencies.Add('fcl-passrc'); T:=P.Targets.AddProgram('pas2ut.pp'); Index: utils/unicode/fpmake.pp === --- utils/unicode/fpmake.pp (revision 29352) +++ utils/unicode/fpmake.pp (working copy) @@ -27,6 +27,7 @@ {$endif ALLPACKAGES} P.Version:='2.7.1'; P.Dependencies.Add('rtl'); +P.Dependencies.Add('rtl-objpas'); P.Dependencies.Add('fcl-base'); P.Dependencies.Add('fcl-xml'); ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
1. Sounds like fpmake doesn't recursively add dependencies? e.g. rtl-objpas should come as dep of fcl-base. 2. if the patch just adds ALL those dependencies to all those packages, are they really tested as being really required for all of those? I knew that I should be more verbose in my original e-mail - my apologies... No, there was no need to add ALL dependencies - *rtl-objpas, rtl-extras, rtl-console and fcl-base* to ALL fpmake instances: M ide/fpmake.pp M utils/fpdoc/fpmake.pp M utils/fpmake.pp M utils/fppkg/fpmake.pp M utils/pas2jni/fpmake.pp M utils/pas2ut/fpmake.pp M utils/unicode/fpmake.pp I was adding dependencies one by one - after compilation error about unresolved used unit I was looking for the package that contains this unit and adding the missing dependency - for every compilation error and for every fpmake instance. But all these added dependencies were from this list... It is not a big deal, though it took several iterations. What I really want to understand (or get some opinion) - why linux_x64 build did not have these issues BTW - one of the missing units was variants (from rtl-objpas) And you were already fixing similar issue in different fpmake.pp - http://bugs.freepascal.org/view.php?id=26630 Fixed by adding rtl-objpas to dependencies. Don't understand though why this doesn't lead to problems under supported (2.6.4) circumstances. Variants usage is in fpjson from the beginning since rev r85xx So the mystery continuous :) Thanks, Gennady PS. I probalbly should have compare build logs between linux_x86 and linux_x64... ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
Re: [fpc-devel] Question about building fpc for linux_x86 vs linux_x64
1. Sounds like fpmake doesn't recursively add dependencies? e.g. rtl-objpas should come as dep of fcl-base. I am not familar at all with fpmake design - if fcl-base depends on rtl-objpas - does it mean that rtl-objpas dependency is exported - i.e. -Fu to rtl-objpas will be added if only fcl-base dependency is added in fpmake.pp? I had to add dependency to rtl-objpas in several fpmake instances - even though fcl-base was already there :( On 12/28/2014 5:49 PM, Marco van de Voort wrote: In our previous episode, Joost van der Sluis said: What I do not understand is the following - why these missing dependencies were not required for linux_x64? What I do not understand is why you needed theses changes in the first place? Can you send the commands you used to compile fpc, and the last part of the output? PS. I can submit changes (i guess?) or send a patch file if somebody needs it. No, you do not have enough permissions to commit. But can you send the patch, so that I can see what you've changed? In addition my observations: 1. Sounds like fpmake doesn't recursively add dependencies? e.g. rtl-objpas should come as dep of fcl-base. 2. if the patch just adds ALL those dependencies to all those packages, are they really tested as being really required for all of those? E.g. I can't imagine rtl-console be needed for so many of them. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel