Bob,

I poked at this for a few hours today. I found that the only thing that needs 
adjusting is to remove or comment out line 66 ($env:MSYSTEM = 'MINGW32') in 
buildserver/build_package.ps1.

I also found an error in jhbuild, this patch fixes it:
diff --git a/jhbuild/utils/packagedb.py b/jhbuild/utils/packagedb.py
index b938c27c..b9d6d135 100644
--- a/jhbuild/utils/packagedb.py
+++ b/jhbuild/utils/packagedb.py
@@ -76,7 +76,7 @@ class PackageEntry:
         # write manifest
         fileutils.mkdir_with_parents(os.path.join(self.dirname, 'manifests'))
         writer = fileutils.SafeWriter(os.path.join(self.dirname, 'manifests', 
self.package))
-        writer.fp.write('\n'.join(self.manifest).encode('utf-8', 
'backslashreplace') + b'\n')
+        writer.fp.write('\n'.join(self._manifest).encode('utf-8', 
'backslashreplace') + b'\n')
         writer.commit()

     def remove(self):

And things seem to be building OK now.

Regards,
John Ralls



> On Dec 26, 2020, at 4:01 AM, Robert Fewell <14ubo...@gmail.com> wrote:
> 
> John,
> Yes I did amend jhbuildrc.
> 
> Had another poke at it, I ran the setup-mingw64.ps1 file again using all 
> defaults to completion.
> pkg-config gives said out put.
> Down graded cmake to version 3.18.4-1
> Installed mingw pkg-config which uninstalled pkgconf.
> 
> Changed to gnucash-on-windows.git and tried jhbuild command
> got error importing jhbuild - needed to change path.insert to be of form 
> c:\\gcdev64\src\jhbuild.git'
> 
> Changing that then gave the subprocess error
> I then made all the changes in mypatch file which seemed to work but I then 
> got the following directory structure c\gcdev64\downloads and gnucash....
> 
> So I changed  jhbuildrc to the following
> _basedir = "c:\gcdev64"
> _download_dir ="c:\gcdev64\downloads"
> 
> And now OpenSP was downloaded and started to configure and build I think and 
> then errored.
> 
> That's as far I can go.
> 
> Regards,
> Bob
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Sat, 26 Dec 2020 at 03:38, John Ralls <jra...@ceridwen.us> wrote:
> 
> 
> > On Dec 24, 2020, at 7:51 AM, Robert Fewell <14ubo...@gmail.com> wrote:
> > 
> > John,
> > 
> > I think this is down to paths / filenames, I can fix all the missing 
> > dependencies by doing this...
> > 
> > 
> >     c_include_search_paths = None
> >     for dep_type, value, altdeps in sysdeps:
> >         print("dep_type: ", dep_type)
> >         print("value is: ", value)
> >         dep_met = True
> >         if dep_type.lower() == 'path':
> >             if os.path.split(value)[0]:
> >                 if not os.path.isfile(value) and not os.access(value, 
> > os.X_OK):
> >                     dep_met = False
> >             else:
> >                 pathdirs = set(os.environ.get('PATH', '').split(os.pathsep))
> >                 pathdirs.update(['/sbin', '/usr/sbin'])
> >                 for path in pathdirs:
> >                     filename = os.path.join(path, value)
> >                     filename = filename.replace("/c/", "/")
> >                     print("path filename is: ", filename)
> >                     if os.path.isfile(filename) and os.access(filename, 
> > os.X_OK):
> >                         break
> >                     filename = filename + ".exe"
> >                     print("path filename is: ", filename)
> >                     if os.path.isfile(filename) and os.access(filename, 
> > os.X_OK):
> >                         break
> >                 else:
> >                     dep_met = False
> >         elif dep_type.lower() == 'c_include':
> >             if c_include_search_paths is None:
> >                 c_include_search_paths = get_c_include_search_paths(config)
> >             found = False
> >             for path in c_include_search_paths:
> >                 filename = os.path.join(path, value)
> >                 print("filename is: ", filename)
> >                 filename = filename.replace("/c/", "/")
> >                 print("filename is: ", filename)
> >                 if os.path.isfile(filename):
> >                     found = True
> >                     break
> >             if not found:
> >                 dep_met = False
> > 
> > Not very portable but may give you an idea for correct fix.
> > 
> > Now I get ....
> > Traceback (most recent call last):
> >   File "C:/gcdev64/msys2/usr/bin/jhbuild", line 23, in <module>
> >     jhbuild.main.main(sys.argv[1:])
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/main.py", line 120, in main
> >     rc = jhbuild.commands.run(command, config, args, help=lambda: 
> > print_help(parser))
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/commands/__init__.py", line 188, 
> > in run
> >     return cmd.execute(config, args, help)
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/commands/__init__.py", line 56, 
> > in execute
> >     return self.run(config, options, args, help)
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/commands/base.py", line 262, in 
> > run
> >     build = jhbuild.frontends.get_buildscript(config, module_list, 
> > module_set=module_set)
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/frontends/__init__.py", line 27, 
> > in get_buildscript
> >     return BuildScript(config, module_list, module_set=module_set)
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/frontends/terminal.py", line 
> > 111, in __init__
> >     buildscript.BuildScript.__init__(self, config, module_list, 
> > module_set=module_set)
> >   File "c:\gcdev64\src\jhbuild.git/jhbuild/frontends/buildscript.py", line 
> > 78, in __init__
> >     subprocess.call(chrt_args + ['true'], stdout=devnull, stderr=devnull) 
> > == 0):
> > AttributeError: module 'jhbuild.utils.subprocess_win32' has no attribute 
> > 'call'
> 
> Bob,
> 
> Did you add that python fragment to jhbuildrc?
> 
> I tested two things yesterday: Installing a fresh build environment and 
> running pacman -Syuu on my current one. In the latter I found that the 
> replacement of pkg-config with pkgconf was a dependency of cmake 3.19 so I 
> set an ignore on cmake in pacman.conf before allowing the upgrade to proceed. 
> I also pulled the latest jhbuild. That one works fine.
> 
> I'm trying figure out what's making subprocess_win32 to break subprocess on 
> the new install while it works OK on the old one. The python packages are the 
> same and I've made sure that both jhbuild repos are at the current HEAD. I 
> rolled back cmake to 3.18 and reinstalled pkg-config replacing pkgconf. 
> 
> Regards,
> John Ralls
> 
> 
> <0001-mychanges.patch>

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to