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