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