[GNC-dev] Co-Owner
John Ralls
jralls at ceridwen.us
Fri Jun 10 13:41:47 EDT 2022
> On Jun 10, 2022, at 9:10 AM, john <jralls at ceridwen.us> wrote:
>
>
>
>> On Jun 10, 2022, at 1:40 AM, Ralf Zerres <ralf.zerres at mail.de> wrote:
>>
>> Hello mailinglist,
>>
>> i do appologize for not coming up with this issue on this list before
>> hacking and submitting a PR.
>>
>> In any case (thanks John for your prompt answer on github) i do need to
>> find a solution for my personal needs.
>> And no, I do not want to buy a commercial solution (like Karthago,
>> et.al).
>>
>> Your decline message was short and without any further argumentation. I
>> was a bit surprised on this.
>> So i try to pick up the issue, since i do think this isn't out of topic
>> at all. At least, if stock and customer/employee handling are welcome
>> as first class citizens.
>>
>> However, i hope we can at least discuss the idea before declining any
>> action in the public.
>>
>> If i have to go on myself, I'd like to get some help on how to debug
>> the scm parts. Currently my code is compiling the .c and .cpp comits.
>> As soon as the guile stuff need to create the wrapper libraries i do
>> get errors and have no idea, on how to debug.
>> Any help here is much appreciated
>>
>> Ralf
>>
>> Shell output:
>>
>> $ cd $gnucash-root; mkdir ../gnucash-coowner
>> $ # ../gnucash-coowner is $gnucash-coowner
>> $ cd ../gnucash-coowner
>> $ cmake -DCMAKE_INSTALL_PREFIX=./gnucash-install -G Ninja ../gnucash-
>> root
>>
>> $ cd ninja
>>
>> ...
>>
>> $gnucash-coowner/lib/guile/2.2/site-ccache/tests/unittest-support.go
>> /data/development/gnucash/gnucash/common/test-core/unittest-
>> support.scmunittest-support.scm
>> Backtrace:
>> In ice-9/boot-9.scm:
>> 705:2 19 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
>> In ice-9/eval.scm:
>> 619:8 18 (_ #(#(#<directory (guile-user) 7f61bed5c140>)))
>> In /usr/bin/guild:
>> 72:17 17 (main _)
>> In srfi/srfi-1.scm:
>> 640:9 16 (for-each #<procedure 7f61bdf0d600 at scripts/compile.?>
>> ?)
>> In scripts/compile.scm:
>> 264:26 15 (_ _)
>> In system/base/target.scm:
>> 57:6 14 (with-target _ _)
>> In system/base/compile.scm:
>> 152:6 13 (compile-file _ #:output-file _ #:from _ #:to _ #:env _ ?)
>> 43:4 12 (call-once _)
>> In ice-9/boot-9.scm:
>> 841:4 11 (with-throw-handler _ _ _)
>> In system/base/compile.scm:
>> 59:11 10 (_)
>> 155:11 9 (_ #<closed: file 7f61bdf161c0>)
>> 235:18 8 (read-and-compile #<input: unittest-support.scm 13> # _ ?)
>> 183:32 7 (compile-fold (#<procedure compile-tree-il (x e opts)>) ?)
>> In ice-9/boot-9.scm:
>> 2312:4 6 (save-module-excursion #<procedure 7f61bd2ebae0 at lang?>)
>> In language/scheme/compile-tree-il.scm:
>> 31:15 5 (_)
>> In ice-9/psyntax.scm:
>> 1262:36 4 (expand-top-sequence ((eval-when (compile load # #) #)) ?)
>> 1209:24 3 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
>> 285:10 2 (parse _ (("placeholder" placeholder)) ((top) #(# # ?)) ?)
>> In unknown file:
>> 1 (load-extension "libtest-core-guile" "scm_init_unittest?")
>> In ice-9/boot-9.scm:
>> 752:25 0 (dispatch-exception _ _ _)
>
>
> To amplify the rejection of your pull request: GnuCash has a scope that's limited by its basic design and what the core development team are able to maintain. That scope is basic accounting for personal and very small business use, where very small means sole proprietors with no employees (GnuCash has no payroll module). The multiple ownership model of this change falls outside that scope. Furthermore it caters to a very narrow single-nation use case that would be very difficult for the current core team to maintain.
>
> Nevertheless the whole point of Free software is your freedom to adapt it to your needs and this is the right place to ask for help with that.
>
> As for the scheme problem, it looks like your C changes managed to break compiling unitest-support.scm, but you chopped off a bit too much to be sure. There should be two more lines at the bottom saying what was the actual error and a few more lines leading up to the stack trace would be helpful to be sure of the source of the error. Turn on GitHub actions for your personal repository (see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository) and Github will run builds for you using the CI actions already in GnuCash. Then you can just post a link to a failed one for us to help you diagnose it.
I did a test-build of your wip-coowner branch and had no trouble with unittest-support.scm, so perhaps you have a build environment problem. If you're trying to develop on Win32, I suggest that you use WSL. Developing directly in the MSYS2 environment is an exercise in frustration.
I didn't get a clean build, though: Linking libgncengine.so failed because
Undefined symbols for architecture x86_64:
"_gncCoOwnerGetTerms", referenced from:
_gncCoOwnerRegister.params in gncCoOwner.c.o
ld: symbol(s) not found for architecture x86_64
Examining the source shows there's no definition for gncCoOwnerGetTerms.
Regards,
John Ralls
More information about the gnucash-devel
mailing list