You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by Mark Thomas <ma...@apache.org> on 2016/09/26 16:17:22 UTC

[VOTE] Release Apache Tomcat Native 1.2.10

Version 1.2.10 includes the following change:

- Update minimum recommended OpenSSL version to 1.0.2j
- Windows binaries built with OpenSSL 1.0.2j

The proposed release artefacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.10 is
 [ ] Stable, go ahead and release
 [ ] Broken because of ...

Thanks,

Mark


[1]
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.10/
[2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_10

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Coty Sutherland <cs...@redhat.com>.
My vote is non-binding, but...

2016-09-26 19:17 GMT+03:00 Mark Thomas <ma...@apache.org>:
>
> Version 1.2.10 includes the following change:
>
> - Update minimum recommended OpenSSL version to 1.0.2j
> - Windows binaries built with OpenSSL 1.0.2j
>
> The proposed release artefacts can be found at [1],
> and the build was done using tag [2].
>
> The Apache Tomcat Native 1.2.10 is
>  [X] Stable, go ahead and release
>  [ ] Broken because of ...

+1 :)

On Mon, Oct 3, 2016 at 9:02 AM, Henri Gomez <he...@gmail.com> wrote:
>  [X] Stable, go ahead and release
> [ ] Broken because of ...
>
> Built and tested on Ubuntu 16.04 64bits against Tomcat 8.5.5
>
> 2016-10-03 14:17 GMT+02:00 Mark Thomas <ma...@apache.org>:
>
>> Ping.
>>
>> There are only two binding votes so far.
>>
>> If you are able to review this release and vote on it, it would be much
>> appreciated.
>>
>> Thanks,
>>
>> Mark
>>
>>
>> On 26/09/2016 17:17, Mark Thomas wrote:
>> > Version 1.2.10 includes the following change:
>> >
>> > - Update minimum recommended OpenSSL version to 1.0.2j
>> > - Windows binaries built with OpenSSL 1.0.2j
>> >
>> > The proposed release artefacts can be found at [1],
>> > and the build was done using tag [2].
>> >
>> > The Apache Tomcat Native 1.2.10 is
>> >  [ ] Stable, go ahead and release
>> >  [ ] Broken because of ...
>> >
>> > Thanks,
>> >
>> > Mark
>> >
>> >
>> > [1]
>> > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-
>> connectors/native/1.2.10/
>> > [2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_
>> NATIVE_1_2_10
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> > For additional commands, e-mail: dev-help@tomcat.apache.org
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
>> For additional commands, e-mail: dev-help@tomcat.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Henri Gomez <he...@gmail.com>.
 [X] Stable, go ahead and release
[ ] Broken because of ...

Built and tested on Ubuntu 16.04 64bits against Tomcat 8.5.5

2016-10-03 14:17 GMT+02:00 Mark Thomas <ma...@apache.org>:

> Ping.
>
> There are only two binding votes so far.
>
> If you are able to review this release and vote on it, it would be much
> appreciated.
>
> Thanks,
>
> Mark
>
>
> On 26/09/2016 17:17, Mark Thomas wrote:
> > Version 1.2.10 includes the following change:
> >
> > - Update minimum recommended OpenSSL version to 1.0.2j
> > - Windows binaries built with OpenSSL 1.0.2j
> >
> > The proposed release artefacts can be found at [1],
> > and the build was done using tag [2].
> >
> > The Apache Tomcat Native 1.2.10 is
> >  [ ] Stable, go ahead and release
> >  [ ] Broken because of ...
> >
> > Thanks,
> >
> > Mark
> >
> >
> > [1]
> > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-
> connectors/native/1.2.10/
> > [2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_
> NATIVE_1_2_10
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: dev-help@tomcat.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Mark Thomas <ma...@apache.org>.
Ping.

There are only two binding votes so far.

If you are able to review this release and vote on it, it would be much
appreciated.

Thanks,

Mark


On 26/09/2016 17:17, Mark Thomas wrote:
> Version 1.2.10 includes the following change:
> 
> - Update minimum recommended OpenSSL version to 1.0.2j
> - Windows binaries built with OpenSSL 1.0.2j
> 
> The proposed release artefacts can be found at [1],
> and the build was done using tag [2].
> 
> The Apache Tomcat Native 1.2.10 is
>  [ ] Stable, go ahead and release
>  [ ] Broken because of ...
> 
> Thanks,
> 
> Mark
> 
> 
> [1]
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.10/
> [2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_10
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Huxing Zhang <hu...@alibaba-inc.com>.
Hi Rainer,

Thanks for the detailed explanation, it is quite helpful.
I've added the clean up code in my building script, it should never happen again :)

Thanks,
Huxing
------------------------------------------------------------------
From:Rainer Jung <ra...@kippdata.de>
Time:2016 Oct 9 (Sun) 19:26
To:Tomcat Developers List <de...@tomcat.apache.org>
Subject:Re: [VOTE] Release Apache Tomcat Native 1.2.10


Am 09.10.2016 um 12:04 schrieb Huxing Zhang:
> Hi Rainer,
>
> Thanks for your hint, I think I've found out the root cause.
>
> When I first compile openssl 1.1.0, the binaries have been installed to /usr/local/openssl, the libcrypto.so.1.1 has been installed to /usr/local/openssl/lib/.
>
> After I re-installed openssl 1.0.2j, the files in /usr/local/openssl has been replaced, however the libcrypto.so.1.1 is still there, because openssl 1.0.x did not produce that file.
>
> So when I recompile tc-native 1.2.10, with --with-ssl=/usr/local/openssl (1.0.2j), the libcrypto.so.1.1 is referenced, where get_rfc3526_prime_8192 is not exist.
>
> Following is the output:
>
> $objdump -p /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10
>
> /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10:     file format elf64-x86-64
>
> Program Header:
>     LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21
>          filesz 0x0000000000028244 memsz 0x0000000000028244 flags r-x
>     LOAD off    0x0000000000028248 vaddr 0x0000000000228248 paddr 0x0000000000228248 align 2**21
>          filesz 0x0000000000001450 memsz 0x0000000000001b50 flags rw-
>  DYNAMIC off    0x00000000000282c8 vaddr 0x00000000002282c8 paddr 0x00000000002282c8 align 2**3
>          filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-
>     NOTE off    0x0000000000000190 vaddr 0x0000000000000190 paddr 0x0000000000000190 align 2**2
>          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
> EH_FRAME off    0x0000000000023594 vaddr 0x0000000000023594 paddr 0x0000000000023594 align 2**2
>          filesz 0x0000000000000dbc memsz 0x0000000000000dbc flags r--
>    STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
>          filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
>
> Dynamic Section:
>   NEEDED               libssl.so.1.1
>   NEEDED               libcrypto.so.1.1
>   NEEDED               libapr-1.so.0
>   NEEDED               librt.so.1
>   NEEDED               libcrypt.so.1
>   NEEDED               libpthread.so.0
>   NEEDED               libc.so.6
>   SONAME               libtcnative-1.so.0
>   RPATH                /usr/local/apr/lib:/usr/local/openssl/lib
>   INIT                 0x000000000000f2e0
>   FINI                 0x00000000000225a8
>   GNU_HASH             0x00000000000001b8
>   STRTAB               0x0000000000005cf0
>   SYMTAB               0x0000000000000de8
>   STRSZ                0x0000000000005b7e
>   SYMENT               0x0000000000000018
>   PLTGOT               0x0000000000228588
>   PLTRELSZ             0x0000000000002c58
>   PLTREL               0x0000000000000007
>   JMPREL               0x000000000000c688
>   RELA                 0x000000000000bf98
>   RELASZ               0x00000000000006f0
>   RELAENT              0x0000000000000018
>   VERNEED              0x000000000000bf08
>   VERNEEDNUM           0x0000000000000004
>   VERSYM               0x000000000000b86e
>   RELACOUNT            0x0000000000000024
>
> Version References:
>   required from libpthread.so.0:
>     0x09691a75 0x00 05 GLIBC_2.2.5
>   required from libc.so.6:
>     0x0d696913 0x00 06 GLIBC_2.3
>     0x09691a75 0x00 04 GLIBC_2.2.5
>   required from libssl.so.1.1:
>     0x066d1f10 0x00 03 OPENSSL_1_1_0
>   required from libcrypto.so.1.1:
>     0x066d1f10 0x00 02 OPENSSL_1_1_0
>
> $nm /usr/local/openssl/lib/libcrypto.so.1.1 |  grep get_rfc3526_prime_8192
> 00000000000a4830 T BN_get_rfc3526_prime_8192
>
> The solution will be cleaning up the /usr/local/openssl and re-compile tc-native, and everything works fine.

Yes, that looks plausible. Glad that you fixed it.

Just one more explanation, how it comes your build rerefrences the *.1.1 
OpenSSL libraries:

When the link step runs during the build, it does not yet know about the 
version. Al it gets is the -lssl and -lcrypto flags. That means it will 
look for files libssl.so and libcrypto.so in the linker search path, 
including LD_LIBRARY_PATH at the time of linking and including any path 
given with "-L" flag.

These files libssl.so and libcrypto.so internally contain their 
so-called SONAME. This SONAME is also part of the "objdump -p" output. 
For example for libtcnytive.so is it the line

SONAME               libtcnative-1.so.0

For OpenSSL libcrypto.so and libssl.so coming from OpenSSL 1.0.x (for x 
in 0, 1, 2) it will be

   SONAME               libcrypto.so.1.0.0
   SONAME               libssl.so.1.0.0

and for OpenSSL 1.1.0 it will be:

   SONAME               libcrypto.so.1.1
   SONAME               libssl.so.1.1

The linker checks, that it could resolves needed symbols in the .so 
files and then records the SONAME in the list of dependencies of the 
linked file.

During runtime, the runtime linker reads the neded SONAMES from e.g. 
libtcnative.so and looks for files that have those names. That means now 
it will search for e.g. libcrypto.so.1.0.0 and libssl.so.1.0.0 if those 
were the SONAMES during the link phase.

SONAMEs are typically used to express version compatibilities. So e.g. 
OpenSSL 1.0.x using always an SONAME that ends with 1.0.0 expresses a 
compatibility between those versions.

The observation that you libtcnative had a dependency against the .1.1 
versions means, that during link your libssl.so and libcrypto.so files 
where still from the 1.1 OpenSSL version, but likely your header files 
where from the 1.0.2 version.

Anyways, cleaning up when switching is exactly the right thing to do (or 
using versioned directories).

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org

Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Rainer Jung <ra...@kippdata.de>.
Am 09.10.2016 um 12:04 schrieb Huxing Zhang:
> Hi Rainer,
>
> Thanks for your hint, I think I've found out the root cause.
>
> When I first compile openssl 1.1.0, the binaries have been installed to /usr/local/openssl, the libcrypto.so.1.1 has been installed to /usr/local/openssl/lib/.
>
> After I re-installed openssl 1.0.2j, the files in /usr/local/openssl has been replaced, however the libcrypto.so.1.1 is still there, because openssl 1.0.x did not produce that file.
>
> So when I recompile tc-native 1.2.10, with --with-ssl=/usr/local/openssl (1.0.2j), the libcrypto.so.1.1 is referenced, where get_rfc3526_prime_8192 is not exist.
>
> Following is the output:
>
> $objdump -p /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10
>
> /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10:     file format elf64-x86-64
>
> Program Header:
>     LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21
>          filesz 0x0000000000028244 memsz 0x0000000000028244 flags r-x
>     LOAD off    0x0000000000028248 vaddr 0x0000000000228248 paddr 0x0000000000228248 align 2**21
>          filesz 0x0000000000001450 memsz 0x0000000000001b50 flags rw-
>  DYNAMIC off    0x00000000000282c8 vaddr 0x00000000002282c8 paddr 0x00000000002282c8 align 2**3
>          filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-
>     NOTE off    0x0000000000000190 vaddr 0x0000000000000190 paddr 0x0000000000000190 align 2**2
>          filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
> EH_FRAME off    0x0000000000023594 vaddr 0x0000000000023594 paddr 0x0000000000023594 align 2**2
>          filesz 0x0000000000000dbc memsz 0x0000000000000dbc flags r--
>    STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
>          filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
>
> Dynamic Section:
>   NEEDED               libssl.so.1.1
>   NEEDED               libcrypto.so.1.1
>   NEEDED               libapr-1.so.0
>   NEEDED               librt.so.1
>   NEEDED               libcrypt.so.1
>   NEEDED               libpthread.so.0
>   NEEDED               libc.so.6
>   SONAME               libtcnative-1.so.0
>   RPATH                /usr/local/apr/lib:/usr/local/openssl/lib
>   INIT                 0x000000000000f2e0
>   FINI                 0x00000000000225a8
>   GNU_HASH             0x00000000000001b8
>   STRTAB               0x0000000000005cf0
>   SYMTAB               0x0000000000000de8
>   STRSZ                0x0000000000005b7e
>   SYMENT               0x0000000000000018
>   PLTGOT               0x0000000000228588
>   PLTRELSZ             0x0000000000002c58
>   PLTREL               0x0000000000000007
>   JMPREL               0x000000000000c688
>   RELA                 0x000000000000bf98
>   RELASZ               0x00000000000006f0
>   RELAENT              0x0000000000000018
>   VERNEED              0x000000000000bf08
>   VERNEEDNUM           0x0000000000000004
>   VERSYM               0x000000000000b86e
>   RELACOUNT            0x0000000000000024
>
> Version References:
>   required from libpthread.so.0:
>     0x09691a75 0x00 05 GLIBC_2.2.5
>   required from libc.so.6:
>     0x0d696913 0x00 06 GLIBC_2.3
>     0x09691a75 0x00 04 GLIBC_2.2.5
>   required from libssl.so.1.1:
>     0x066d1f10 0x00 03 OPENSSL_1_1_0
>   required from libcrypto.so.1.1:
>     0x066d1f10 0x00 02 OPENSSL_1_1_0
>
> $nm /usr/local/openssl/lib/libcrypto.so.1.1 |  grep get_rfc3526_prime_8192
> 00000000000a4830 T BN_get_rfc3526_prime_8192
>
> The solution will be cleaning up the /usr/local/openssl and re-compile tc-native, and everything works fine.

Yes, that looks plausible. Glad that you fixed it.

Just one more explanation, how it comes your build rerefrences the *.1.1 
OpenSSL libraries:

When the link step runs during the build, it does not yet know about the 
version. Al it gets is the -lssl and -lcrypto flags. That means it will 
look for files libssl.so and libcrypto.so in the linker search path, 
including LD_LIBRARY_PATH at the time of linking and including any path 
given with "-L" flag.

These files libssl.so and libcrypto.so internally contain their 
so-called SONAME. This SONAME is also part of the "objdump -p" output. 
For example for libtcnytive.so is it the line

SONAME               libtcnative-1.so.0

For OpenSSL libcrypto.so and libssl.so coming from OpenSSL 1.0.x (for x 
in 0, 1, 2) it will be

   SONAME               libcrypto.so.1.0.0
   SONAME               libssl.so.1.0.0

and for OpenSSL 1.1.0 it will be:

   SONAME               libcrypto.so.1.1
   SONAME               libssl.so.1.1

The linker checks, that it could resolves needed symbols in the .so 
files and then records the SONAME in the list of dependencies of the 
linked file.

During runtime, the runtime linker reads the neded SONAMES from e.g. 
libtcnative.so and looks for files that have those names. That means now 
it will search for e.g. libcrypto.so.1.0.0 and libssl.so.1.0.0 if those 
were the SONAMES during the link phase.

SONAMEs are typically used to express version compatibilities. So e.g. 
OpenSSL 1.0.x using always an SONAME that ends with 1.0.0 expresses a 
compatibility between those versions.

The observation that you libtcnative had a dependency against the .1.1 
versions means, that during link your libssl.so and libcrypto.so files 
where still from the 1.1 OpenSSL version, but likely your header files 
where from the 1.0.2 version.

Anyways, cleaning up when switching is exactly the right thing to do (or 
using versioned directories).

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Huxing Zhang <hu...@alibaba-inc.com>.
Hi Rainer,

Thanks for your hint, I think I've found out the root cause.

When I first compile openssl 1.1.0, the binaries have been installed to /usr/local/openssl, the libcrypto.so.1.1 has been installed to /usr/local/openssl/lib/.

After I re-installed openssl 1.0.2j, the files in /usr/local/openssl has been replaced, however the libcrypto.so.1.1 is still there, because openssl 1.0.x did not produce that file.

So when I recompile tc-native 1.2.10, with --with-ssl=/usr/local/openssl (1.0.2j), the libcrypto.so.1.1 is referenced, where get_rfc3526_prime_8192 is not exist.

Following is the output:

$objdump -p /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10

/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10:     file format elf64-x86-64

Program Header:
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**21
         filesz 0x0000000000028244 memsz 0x0000000000028244 flags r-x
    LOAD off    0x0000000000028248 vaddr 0x0000000000228248 paddr 0x0000000000228248 align 2**21
         filesz 0x0000000000001450 memsz 0x0000000000001b50 flags rw-
 DYNAMIC off    0x00000000000282c8 vaddr 0x00000000002282c8 paddr 0x00000000002282c8 align 2**3
         filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-
    NOTE off    0x0000000000000190 vaddr 0x0000000000000190 paddr 0x0000000000000190 align 2**2
         filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
EH_FRAME off    0x0000000000023594 vaddr 0x0000000000023594 paddr 0x0000000000023594 align 2**2
         filesz 0x0000000000000dbc memsz 0x0000000000000dbc flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**3
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-

Dynamic Section:
  NEEDED               libssl.so.1.1
  NEEDED               libcrypto.so.1.1
  NEEDED               libapr-1.so.0
  NEEDED               librt.so.1
  NEEDED               libcrypt.so.1
  NEEDED               libpthread.so.0
  NEEDED               libc.so.6
  SONAME               libtcnative-1.so.0
  RPATH                /usr/local/apr/lib:/usr/local/openssl/lib
  INIT                 0x000000000000f2e0
  FINI                 0x00000000000225a8
  GNU_HASH             0x00000000000001b8
  STRTAB               0x0000000000005cf0
  SYMTAB               0x0000000000000de8
  STRSZ                0x0000000000005b7e
  SYMENT               0x0000000000000018
  PLTGOT               0x0000000000228588
  PLTRELSZ             0x0000000000002c58
  PLTREL               0x0000000000000007
  JMPREL               0x000000000000c688
  RELA                 0x000000000000bf98
  RELASZ               0x00000000000006f0
  RELAENT              0x0000000000000018
  VERNEED              0x000000000000bf08
  VERNEEDNUM           0x0000000000000004
  VERSYM               0x000000000000b86e
  RELACOUNT            0x0000000000000024

Version References:
  required from libpthread.so.0:
    0x09691a75 0x00 05 GLIBC_2.2.5
  required from libc.so.6:
    0x0d696913 0x00 06 GLIBC_2.3
    0x09691a75 0x00 04 GLIBC_2.2.5
  required from libssl.so.1.1:
    0x066d1f10 0x00 03 OPENSSL_1_1_0
  required from libcrypto.so.1.1:
    0x066d1f10 0x00 02 OPENSSL_1_1_0

$nm /usr/local/openssl/lib/libcrypto.so.1.1 |  grep get_rfc3526_prime_8192
00000000000a4830 T BN_get_rfc3526_prime_8192

The solution will be cleaning up the /usr/local/openssl and re-compile tc-native, and everything works fine.

------------------------------------------------------------------
From:Rainer Jung <ra...@kippdata.de>
Time:2016 Oct 8 (Sat) 19:47
To:Tomcat Developers List <de...@tomcat.apache.org>
Subject:Re: [VOTE] Release Apache Tomcat Native 1.2.10


Hi,

Am 08.10.2016 um 05:08 schrieb Huxing Zhang:
...

>      [echo] tc.library.path = /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs

>      [echo] Running Tomcat Native Echo example ...
>      [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: undefined symbol: get_rfc3526_prime_8192
>      [java]     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>      [java]     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
>      [java]     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
>      [java]     at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>      [java]     at java.lang.System.loadLibrary(System.java:1122)
>      [java]     at org.apache.tomcat.jni.Library.<init>(Unknown Source)
>      [java]     at org.apache.tomcat.jni.Library.initialize(Unknown Source)
>      [java]     at org.apache.tomcat.jni.Echo.main(Unknown Source)
>      [java] Java Result: 1

The symbol get_rfc3526_prime_8192 is part of OpenSSL even in 0.9.8. 
Let's try to find out, why it can't be found.

Assuming Linux for the following.

First look at your library file 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10. 
Check whether is has an external dependency on libcrypto, what is the 
RUNPATH and/or whether the symbols are statically compiled in:

- What is the output of "objdump -p 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10"?

- What is the output of "nm 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10 
| grep get_rfc3526_prime_8192"?

Next: assuming you linked against the dynamic libcrypto library, where 
is your libcrypto.so.1.0.0 for OpenSSL 1.0.2 located? Is it inside 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs 
(unlikely) or somewhere else? How is Java expected to find it there? Did 
you add the directory to LD_LIBRARY_PATH?

Finally check the libcrypto.so.1.0.0 from OpenSSL 1.0.2 whether it 
contains the symbol: what's the output of "nm 
/path/to/my/libcrypto.so.1.0.0 | grep get_rfc3526_prime_8192"?

Regards,

Rainer




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org

Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Rainer Jung <ra...@kippdata.de>.
Hi,

Am 08.10.2016 um 05:08 schrieb Huxing Zhang:
...

>      [echo] tc.library.path = /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs

>      [echo] Running Tomcat Native Echo example ...
>      [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: undefined symbol: get_rfc3526_prime_8192
>      [java]     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>      [java]     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
>      [java]     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
>      [java]     at java.lang.Runtime.loadLibrary0(Runtime.java:870)
>      [java]     at java.lang.System.loadLibrary(System.java:1122)
>      [java]     at org.apache.tomcat.jni.Library.<init>(Unknown Source)
>      [java]     at org.apache.tomcat.jni.Library.initialize(Unknown Source)
>      [java]     at org.apache.tomcat.jni.Echo.main(Unknown Source)
>      [java] Java Result: 1

The symbol get_rfc3526_prime_8192 is part of OpenSSL even in 0.9.8. 
Let's try to find out, why it can't be found.

Assuming Linux for the following.

First look at your library file 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10. 
Check whether is has an external dependency on libcrypto, what is the 
RUNPATH and/or whether the symbols are statically compiled in:

- What is the output of "objdump -p 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10"?

- What is the output of "nm 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10 
| grep get_rfc3526_prime_8192"?

Next: assuming you linked against the dynamic libcrypto library, where 
is your libcrypto.so.1.0.0 for OpenSSL 1.0.2 located? Is it inside 
/home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs 
(unlikely) or somewhere else? How is Java expected to find it there? Did 
you add the directory to LD_LIBRARY_PATH?

Finally check the libcrypto.so.1.0.0 from OpenSSL 1.0.2 whether it 
contains the symbol: what's the output of "nm 
/path/to/my/libcrypto.so.1.0.0 | grep get_rfc3526_prime_8192"?

Regards,

Rainer




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Huxing Zhang <hu...@alibaba-inc.com>.
Hi, 

Although it is a bit late, the tc native 1.2.10 example fails with openssl 1.0.2j, following is the output:

Buildfile: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/build.xml

clean:
   [delete] Deleting directory /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist

env:
     [echo] java.home = /opt/taobao/jdk1.8.0_65/jre
     [echo] user.home = /home/admin
     [echo] tc.library.path = /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs
     [echo]

prepare:
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist

compile:
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/java
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/src
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/src/java
     [copy] Copying 37 files to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/src/java
    [javac] /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/build.xml:220: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 36 source files to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/java
     [copy] Copying 1 file to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/java

jar:
      [jar] Building jar: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/tomcat-native-1.2.10.jar

env:
     [echo] java.home = /opt/taobao/jdk1.8.0_65/jre
     [echo] user.home = /home/admin
     [echo] tc.library.path = /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs
     [echo]

prepare:

compile:
    [javac] /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/build.xml:220: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds

compile-examples:
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/examples
    [mkdir] Created dir: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/src/examples
     [copy] Copying 6 files to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/src/examples
    [javac] /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/build.xml:346: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 3 source files to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/examples
     [copy] Copying 3 files to /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/dist/classes/examples

run-echo:
     [echo] Running Tomcat Native Echo example ...
     [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: /home/admin/tomcat/tcnative/tomcat-native-1.2.10-src/native/.libs/libtcnative-1.so.0.2.10: undefined symbol: get_rfc3526_prime_8192
     [java]     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
     [java]     at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)
     [java]     at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
     [java]     at java.lang.Runtime.loadLibrary0(Runtime.java:870)
     [java]     at java.lang.System.loadLibrary(System.java:1122)
     [java]     at org.apache.tomcat.jni.Library.<init>(Unknown Source)
     [java]     at org.apache.tomcat.jni.Library.initialize(Unknown Source)
     [java]     at org.apache.tomcat.jni.Echo.main(Unknown Source)
     [java] Java Result: 1

BUILD SUCCESSFUL
Total time: 3 seconds

On the other hand, tc-native + openssl 1.1.0 works fine.

Any ideas?

------------------------------------------------------------------
From:Mark Thomas <ma...@apache.org>
Time:2016 Sep 27 (Tue) 00:18
To:dev@tomcat.apache.org <de...@tomcat.apache.org>
Subject:[VOTE] Release Apache Tomcat Native 1.2.10


Version 1.2.10 includes the following change:

- Update minimum recommended OpenSSL version to 1.0.2j
- Windows binaries built with OpenSSL 1.0.2j

The proposed release artefacts can be found at [1],
and the build was done using tag [2].

The Apache Tomcat Native 1.2.10 is
 [ ] Stable, go ahead and release
 [ ] Broken because of ...

Thanks,

Mark


[1]
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.10/
[2] https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_10

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Felix Schumacher <fe...@internetallee.de>.
Am 26.09.2016 18:17, schrieb Mark Thomas:
> Version 1.2.10 includes the following change:
> 
> - Update minimum recommended OpenSSL version to 1.0.2j
> - Windows binaries built with OpenSSL 1.0.2j
> 
> The proposed release artefacts can be found at [1],
> and the build was done using tag [2].
> 
> The Apache Tomcat Native 1.2.10 is
>  [x] Stable, go ahead and release
>  [ ] Broken because of ...

Regards,
  Felix

> 
> Thanks,
> 
> Mark
> 
> 
> [1]
> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.10/
> [2] 
> https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_10
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Mark Thomas <ma...@apache.org>.
On 26/09/2016 17:17, Mark Thomas wrote:
> Version 1.2.10 includes the following change:
> 
> - Update minimum recommended OpenSSL version to 1.0.2j
> - Windows binaries built with OpenSSL 1.0.2j
> 
> The proposed release artefacts can be found at [1],
> and the build was done using tag [2].
> 
> The Apache Tomcat Native 1.2.10 is
>  [X] Stable, go ahead and release
>  [ ] Broken because of ...

Tests pass on trunk on Windows with 1.2.10 binary.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[VOTE][RESULT] Release Apache Tomcat Native 1.2.10

Posted by Mark Thomas <ma...@apache.org>.
The following votes were cast:

Binding:
+1: markt, violetagg, hgomez, fschumacher

Non-binding:
+1: csutherl

Thanks to everyone who voted.

I'll start the next steps now. We should be able to announce tomorrow.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [VOTE] Release Apache Tomcat Native 1.2.10

Posted by Violeta Georgieva <mi...@gmail.com>.
Hi,

2016-09-26 19:17 GMT+03:00 Mark Thomas <ma...@apache.org>:
>
> Version 1.2.10 includes the following change:
>
> - Update minimum recommended OpenSSL version to 1.0.2j
> - Windows binaries built with OpenSSL 1.0.2j
>
> The proposed release artefacts can be found at [1],
> and the build was done using tag [2].
>
> The Apache Tomcat Native 1.2.10 is
>  [X] Stable, go ahead and release
>  [ ] Broken because of ...

Tomcat 6/7 tests passed on Windows with 1.2.10.

Regards,
Violeta


> Thanks,
>
> Mark
>
>
> [1]
>
https://dist.apache.org/repos/dist/dev/tomcat/tomcat-connectors/native/1.2.10/
> [2]
https://svn.apache.org/repos/asf/tomcat/native/tags/TOMCAT_NATIVE_1_2_10
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>