Hi, Where would I find latest axis2c source package for download?
Thanks Raghu From: Nandika Jayawardana <jayaw...@gmail.com> Sent: Monday, March 17, 2025 9:02 PM To: Apache AXIS C User List <c-user@axis.apache.org> Subject: [EXTERNAL] - Re: Axis2/c needs some action and I am here to help CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. If you feel that the email is suspicious, please report it using PhishAlarm. Hi Robert, If you avoid setting AXIS2C_HOME, then the build scripts will define it within the script to point to deploy directory within the source checkout directory. That should avoid a lot of errors when building the code. It looks like there is a error in core where it should be using AXIS2_FREE(m_env->allocator, xml_str); instead of AXIS2_FREE(env->allocator, xml_str); I opened a pull request for that. Please check. Regards Nandika On Tue, 18 Mar 2025 at 04:31, robertlazarski <robertlazar...@gmail.com<mailto:robertlazar...@gmail.com>> wrote: On Mon, Mar 17, 2025 at 11:08 AM robertlazarski <robertlazar...@gmail.com<mailto:robertlazar...@gmail.com>> wrote: Hi Bill, thanks for the help so far - see my comments inline. On Sun, Mar 2, 2025 at 10:30 AM Bill Blough <de...@blough.us.invalid<mailto:de...@blough.us.invalid>> wrote: Hi Robert, On Sun, Mar 02, 2025 at 07:14:20AM -1000, robertlazarski wrote: > > The INSTALL doc is confusing as it says run ./configure as usual but it > isn't there without executing the script. I think the INSTALL doc is typically for the end user, so it expects building from a dist tarball, which would already have ./configure generated. But for development purposes, it's my understanding that it's best practice to not check ./configure (and other, generated build system files) into the repo. So when starting from a checkout rather than a dist tarball, it requires that autoconf, automake, etc. be run to get to a buildable state. Maybe we should also have an INSTALL.developers (or whatever). Maybe a DEV file to compliment INSTALL- as there are bash scripts used a lot it seems but even as someone like me who codes often in bash, I skipped right over them. I am not there yet though, I still need to learn the project better. I can run build.sh after the recent commit from Nandika. Seems like build_for_dist.sh needs the same fix - I will commit that. > > Running "sh build_for_tests.sh" shows errors in the Makefile: > > /usr/bin/install: 'AUTHORS' and > '/home/robert/repos/axis-axis2-c-core/AUTHORS' are > the same file > make[2]: *** [Makefile:504: install-dataDATA] Error 1 > make[2]: Leaving directory '/home/robert/repos/axis-axis2-c-core' > make[1]: *** [Makefile:948: install-am] Error 2 > make[1]: Leaving directory '/home/robert/repos/axis-axis2-c-core' > make: *** [Makefile:636: install-recursive] Error 1 > That's strange. For what it's worth, I can do a brand new checkout, then run build_for_tests.sh, and it completes successfully with no errors, installing a complete binary distribution (with samples) into $src_dir/deploy. Since it looks like it's trying to install into the root of the source tree instead of the deploy subdir, I'm guessing there's an issue with how AXIS2C_HOME is getting set on your system, which is causing issues with the install prefix. It should all be set up in build_for_tests.sh, so you might start there. I stopped using AXIS2C_HOME and now it is undefined. It definitely was causing problems. As Nandika explained, the deploy dir is where the build output goes by default. > In the end I manually edited the Makefile so "install" would complete - as > shown via diff, I need to find the right place to fix this: Since (as far as I can tell) the existing line should be correct, I think once you figure out the AXIS2C_HOME and/or prefix/destdir issue referenced above, then the diff, or any further/related fix, shouldn't be necessary. I'm happy to try to help you work through it, but as I said, it "works on my machine" so much of my help would probably answering questions or making suggestions based on the info you give me. > > Running "sh run-tests.sh" shows one error - an HTTP 500 error on "Service > not Found" which arguably could be a 404. The log dir shows: > > [Sun Mar 2 06:03:09 2025] [info] Service Not found. Endpoint reference is > : http > ://127.0.0.1:9090/axis2/services/echo/echo<http://127.0.0.1:9090/axis2/services/echo/echo> <snip> > > Then it fails here - about : > > AddressSanitizer: CHECK failed: sanitizer_thread_arg_retval.cpp:57 > "((!t->second.deta > ched)) != (0)" (0x0, 0x0) (tid=335462) I suspect this is related to install issue above. The installed file isn't where the test server is expecting it, so when it tries to load it, there's a null pointer dereferece. (There are a lot of functions and code paths that lack null pointer checks - which is something I wanted to improve at some point) If I do run_tests.sh, then all tests pass. However, I can duplicate what you're seeing by renaming deploy/services/echo to something else. So I think sorting out the install function will fix this, too. > > ./configure --enable-json > > Returns this error. Seems like you applied the patch to support JSON back > in 2013. > > https://issues.apache.org/jira/browse/AXIS2C-1645<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/AXIS2C-1645__;!!Obbck6kTJA!dWbNTJk5-Qd3OLzaYblL91bMviybjbTgkKo--ffsK0yCxiZ_nu5Zal35sdJFedb3qw4lRTOHjamj1w5W$> > > Is there some Ubuntu package I need to install? Simply "json" not found > isn't clear to me. I see json.h in a couple places. I tried "apt > install libjson-c-dev" > from Ubuntu 22.04 since it also has json_object but it didn't help. > > checking for json... no > configure: error: Package requirements (json) were not met: > > Package 'json', required by 'virtual:world', not found According to this comment https://issues.apache.org/jira/browse/AXIS2C-1645?focusedCommentId=13758315&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-13758315<https://urldefense.com/v3/__https:/issues.apache.org/jira/browse/AXIS2C-1645?focusedCommentId=13758315&page=com.atlassian.jira.plugin.system.issuetabpanels*3Acomment-tabpanel*comment-13758315__;JSM!!Obbck6kTJA!dWbNTJk5-Qd3OLzaYblL91bMviybjbTgkKo--ffsK0yCxiZ_nu5Zal35sdJFedb3qw4lRTOHjbe0k0hZ$> it sounds like libjson-c-dev is the correct package, but it looks like the references to library references to "json" still need to be replaced with "json-c". In doing that, I got configure to succeed, but then got compiler errors. It looks like json-c needs C99 or newer. So I added --std=c99 when JSON is enabled, and was able to get a clean compile. I haven't done any testing. (side note: maybe we should make the whole project require c99 for the 2.0 release, not just when JSON is enabled). I've attached the patch with my changes. Best regards, Bill The patch to fix json support helped a lot, thanks! I think I am going to commit it. I see what appears to be an obvious problem to in the json test code when adding --enable-json=yes to build_for_tests.sh , am I reading this correctly that it should be m_env instead of env? It compiles after making that change. test_http_transport.cc: In member function ‘virtual void TestHTTPTranspo rt_test_json_Test::TestBody()’: test_http_transport.cc:368:20: error: ‘env’ was not declared in this sco pe; did you mean ‘m_env’? 368 | AXIS2_FREE(env->allocator, xml_str); Are you able to run build_for_tests.sh ? I get the error below. I'd like to see the JSON test complete as referenced above, but it seems like this error happens before that. [ OK ] TestHTTPTransport.test_url (0 ms) [ RUN ] TestHTTPTransport.test_http_client AddressSanitizer: CHECK failed: sanitizer_thread_arg_retval.cpp:57 "((!t->second.detached) ) != (0)" (0x0, 0x0) (tid=304564) #0 0x70c61fd08a47 in CheckUnwind ../../../../src/libsanitizer/asan/asan_rtl.cpp:69 With or without setting export AXIS2C_HOME to the deploy dir seemed to help. On that last error - I meant to say it was on run-tests.sh and I am asking if that runs ok or it is a problem with my environment somehow,