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`.


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

Reply via email to