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 > > >
From 3c9734af02be23a002abe0d4ce733855efb3cb39 Mon Sep 17 00:00:00 2001 From: Bob <14ubo...@gmail.com> Date: Sat, 26 Dec 2020 11:50:04 +0000 Subject: [PATCH] mychanges --- jhbuild/utils/subprocess_win32.py | 4 ++++ jhbuild/utils/systeminstall.py | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/jhbuild/utils/subprocess_win32.py b/jhbuild/utils/subprocess_win32.py index 12888d0..ca1c1da 100644 --- a/jhbuild/utils/subprocess_win32.py +++ b/jhbuild/utils/subprocess_win32.py @@ -88,6 +88,10 @@ def cmdline2list(cmd_string): list2cmdline = real_subprocess.list2cmdline +check_output = real_subprocess.check_output + +call = real_subprocess.call + class Popen(real_subprocess.Popen): __emulate_close_fds = False diff --git a/jhbuild/utils/systeminstall.py b/jhbuild/utils/systeminstall.py index 610be80..4206c20 100644 --- a/jhbuild/utils/systeminstall.py +++ b/jhbuild/utils/systeminstall.py @@ -104,6 +104,8 @@ def get_uninstalled_filenames(uninstalled): return uninstalled_filenames def systemdependencies_met(module_name, sysdeps, config): + print(module_name) +# print(sysdeps) '''Returns True of the system dependencies are met for module_name''' def get_c_include_search_paths(config): '''returns a list of C include paths (-I) from the environment and the @@ -116,7 +118,7 @@ def systemdependencies_met(module_name, sysdeps, config): if os.name == 'nt': # shlex.split doesn't handle sep '\' on Windows import string - shell_split = string.split + shell_split = str.split else: shell_split = shlex.split try: @@ -125,8 +127,10 @@ def systemdependencies_met(module_name, sysdeps, config): if arg.strip() in ['-I', '-isystem']: # extract paths handling quotes and multiple paths paths += shell_split(next(itr))[0].split(os.pathsep) +# print(paths) elif arg.startswith('-I'): paths += shell_split(arg[2:])[0].split(os.pathsep) +# print(paths) except StopIteration: pass return paths @@ -151,10 +155,13 @@ def systemdependencies_met(module_name, sysdeps, config): paths += os.environ.get('C_INCLUDE_PATH', '').split(':') paths += os.environ.get('CPLUS_INCLUDE_PATH', '').split(':') paths = list(set(paths)) # remove duplicates + print("Last is: ", paths) return paths 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]: @@ -165,6 +172,12 @@ def systemdependencies_met(module_name, sysdeps, config): 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: @@ -175,6 +188,9 @@ def systemdependencies_met(module_name, sysdeps, 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 -- 2.10.1.windows.1
_______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel