Hi,

On Wed, Jan 8, 2020 at 5:03 PM Martin Grigorov <mgrigo...@apache.org> wrote:

> Remy,
>
> On Wed, Jan 8, 2020 at 3:09 PM Rémy Maucherat <r...@apache.org> wrote:
>
>> On Wed, Jan 8, 2020 at 12:59 PM Martin Grigorov <mgrigo...@apache.org>
>> wrote:
>>
>>>
>>>
>>> On Tue, Jan 7, 2020 at 7:04 PM Martin Grigorov <mgrigo...@apache.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Jan 7, 2020, 17:59 Rémy Maucherat <r...@apache.org> wrote:
>>>>
>>>>> On Tue, Jan 7, 2020 at 4:35 PM Martin Grigorov <mgrigo...@apache.org>
>>>>> wrote:
>>>>>
>>>>>> Hi Rémy,
>>>>>>
>>>>>> Thank you for helping me!
>>>>>>
>>>>>> On Tue, Jan 7, 2020 at 5:22 PM Rémy Maucherat <r...@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> On Tue, Jan 7, 2020 at 4:11 PM Martin Grigorov <mgrigo...@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I have hard time making the APR related tests to pass here.
>>>>>>>>
>>>>>>>> BuildBot config uses:
>>>>>>>>
>>>>>>>>  command=['bash' , '-c' , 'echo
>>>>>>>> test.apr.loc=/home/buildslave/slave/tomcat-trunk/basepath/tomcat-native-1.2.23-bin/lib
>>>>>>>> >> build.properties'],
>>>>>>>>
>>>>>>>> What exactly is expected to find in this lib folder ?
>>>>>>>> I've build tomcat-native locally and installed it at
>>>>>>>> output/build/lib/, i.e. there are several libtcnative-1*** files in it
>>>>>>>>
>>>>>>>>    ./configure --with-apr=(which apr-1-config) --with-ssl=yes
>>>>>>>> --with-java-home=$JAVA_8_HOME
>>>>>>>> --prefix=/home/martin/git/apache/tomcat/output/build
>>>>>>>>
>>>>>>>> Tomcat's build.xml has
>>>>>>>> <property name="test.apr.loc" value="${test.basedir}/bin"/>
>>>>>>>> which resolves to output/build/bin and there is nothing native there
>>>>>>>>
>>>>>>>> No matter what I try it still fails with:
>>>>>>>> org.apache.catalina.LifecycleException: The configured protocol
>>>>>>>> [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native
>>>>>>>> library which is not available
>>>>>>>>
>>>>>>>> It fails the same way even with
>>>>>>>>     test.apr.loc=/home/martin/git/apache/tomcat/output/build/lib
>>>>>>>> in my build.properties
>>>>>>>>
>>>>>>>> tomcat-native-1.2.23-*bin*/lib suggests that it contains binaries
>>>>>>>> but I am unable to find where to download this bundle from.
>>>>>>>> https://tomcat.apache.org/download-native.cgi has links to the
>>>>>>>> sources.
>>>>>>>> There is a text "You can find binaries release too. You may
>>>>>>>> download them from HERE" but it points to
>>>>>>>> http://mirrors.netix.net/apache/tomcat/tomcat-connectors/native/1.2.23/binaries/
>>>>>>>> where I see only Windows binaries
>>>>>>>>
>>>>>>>> Any pointers ?
>>>>>>>>
>>>>>>>
>>>>>>> Well, you can put native in your OS library path. Failing this, this
>>>>>>> has been harmonized in Tomcat 9 to also load it from the "bin" folder in
>>>>>>> all cases (embedded like the testuite, standalone).
>>>>>>>
>>>>>>
>>>>>> (I use fish shell)
>>>>>>
>>>>>> $ set -x LD_LIBRARY_PATH
>>>>>> /home/martin/git/apache/tomcat/output/build/lib
>>>>>> $ echo $LD_LIBRARY_PATH
>>>>>> /home/martin/git/apache/tomcat/output/build/lib
>>>>>> $ ant test-only-apr
>>>>>>
>>>>>> still fails with the same error
>>>>>>
>>>>>> This is with master branch, i.e. Tomcat 9.x.
>>>>>> I copied all binaries to ./bin folder too
>>>>>>      cp output/build/lib/libtcnative-1.* output/build/bin/
>>>>>> but still the tests fail :-/
>>>>>>
>>>>>> Do you also have all the dependencies available, like APR and OpenSSL
>>>>> ? I see some confusion about APR above.
>>>>>
>>>>
>>>> I've installed libapr1-dev and ssllib-dev (or something similar, I'm
>>>> out now) as explained in the docu.
>>>> apr-1-config comes with libapr1-dev
>>>>
>>>
>>> Starting Tomcat itself loads the APR libraries fine if libtcnative-1*
>>> files are either in $CATALINA_HOME/bin or if they are in LD_LIBRARY_PATH.
>>> But if they are in $CATALINA_HOME/lib they are not found!
>>>
>>
>> Well, that lib folder was never used for that, use bin instead.
>>
>>
>>> Is there a need for a change in tomcat-native/native ?
>>> Because
>>>    ./configure --with-apr=/usr/bin/apr-1-config \
>>>             --with-java-home=/home/jfclere/JAVA/jdk1.7.0_80/ \
>>>             --with-ssl=yes \
>>>             --prefix=$CATALINA_HOME
>>> (from https://tomcat.apache.org/native-doc/) puts them
>>> in $CATALINA_HOME/lib
>>>
>>
>> Right so unless you do something about it later, this is not a libpath
>> location. You should look at the BUILDING and it's less ambiguous.
>>
>
> I am not sure whether you understood me.
> By issuing ./configure .... --prefix=$CATALINA_HOME it will prepare a
> configuration that `make install` will put the native libraries into
> $CATALINA_HOME/*lib*
> It's been a long time since I've touched Makefiles but I think the problem
> is at
> https://github.com/apache/tomcat-native/blob/66c8296137a80b35e24bda542bb2abb8d8dbae39/native/Makefile.in#L87
> I think it should use $(DESTDIR)$(bindir) instead as a target. This way
> there won't be a need of manual fixes after `make install`.
>

Bugzilla ticket: https://bz.apache.org/bugzilla/show_bug.cgi?id=64063
Pull Request: https://github.com/apache/tomcat-native/pull/6


>
>
>>
>> Rémy
>>
>>
>>>
>>>
>>>>
>>>>> Rémy
>>>>>
>>>>>

Reply via email to