Bob,

Maybe not on Sunday. Rebuilding WebKit has hit a few snags and since it takes 
forever and one must start fresh every time it's still not done. I'll post a 
followup here when it's ready.

Regards,
John Ralls

> On Jan 29, 2021, at 3:39 AM, Robert Fewell <14ubo...@gmail.com> wrote:
> 
> John,
> OK, will try and test a clean install maybe on Sunday. I did actually get my 
> build working but as usual other things took my time. I still had the jhbuild 
> package using python2.7, installed that and was able to do a successful build 
> with a couple of tweaks. I noticed the ICU update and downgraded ICU, boost 
> and halfbuzz I think to match the webkit version and cmake and removed 
> pkgconf.
> I imagine that as I had been building on windows for a long time I was always 
> using the old version of jhbuild.
> 
> If I recall, I did notice something strange with the mariad database files, 
> with a new install I do not think there is a plugin directory but will 
> confirm that.
> 
> Regards,
> Bob
> 
> On Fri, 29 Jan 2021 at 04:33, John Ralls <jra...@ceridwen.us> wrote:
> I finally got back to this this week. There's a simple patch, which I've 
> pushed to gnucash-on-windows.git/patches/jhbuild.patch, to get jhbuild to 
> lose the leading / from pkgconf's version of pkg-config --list-all. That 
> fixes the major problem of nothing being able to find its dependencies with 
> pkg-config, and with that fixed everything seems to work normally again.
> 
> Except that MSYS2 did a major update recently and bumped the ICU version, and 
> that breaks mingw-w64-webkitgtk. I've got a new one building, with luck it 
> will be done tomorrow.
> 
> Regards,
> John Ralls
> 
> > On Dec 27, 2020, at 4:25 PM, John Ralls <jra...@ceridwen.us> wrote:
> > 
> > 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
> 

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

Reply via email to