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,

Reply via email to