Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread ウルヰ
> I suggest you try the experiment of using the system version of
> libcurl instead (which also supplies SSL capability). For example, my
> Linux distribution is Debian Stable which only installs libssl 1.0.1.
> And for that case when I tried the bootstrap method with the
> --system-curl option (the usual way I build cmake), I do not confirm
> your linking issue.  So my expectation is you will also avoid that
> linking issue on Ubuntu 2016.10 if you use that bootstrap option or a
> similar system libcurl option for the non-bootstrap case.

I tried running ./bootstrap with the --system-curl option, and I see
a different error:

[ 93%] Linking CXX executable ../bin/ccmake
/usr/bin/ld: 
../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_cryptor.c.o):
undefined reference to symbol 'EVP_aes_256_ecb@@OPENSSL_1.0.0'
//lib/x86_64-linux-gnu/libcrypto.so.1.0.0: error adding symbols: DSO
missing from command line
collect2: error: ld returned 1 exit status
Source/CMakeFiles/ccmake.dir/build.make:420: recipe for target
'bin/ccmake' failed
make[2]: *** [bin/ccmake] Error 1
CMakeFiles/Makefile2:2135: recipe for target
'Source/CMakeFiles/ccmake.dir/all' failed
make[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

So the problem is likely on my end.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Nils Gladitz

On 31.03.2017 22:44, Alan W. Irwin wrote:


Therefore, from the sidelines I am encouraging you guys to be
extraordinarily careful about this particular issue; e.g., by
attempting to to confirm this CMake-3.8.0-rc4 issue independently for
Ubuntu 16.10.



FWIW I tried reproducing it from within an Ubuntu 16.10 Docker container 
and it worked there as-is.



Nils

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Alan W. Irwin

On 2017-03-31 14:00+0200 Nils Gladitz wrote:


On 03/31/2017 11:54 AM, Alan W. Irwin wrote:


Hi Nils:

And use of ExternalProject_Add, etc.  In other words, this is a pretty
crippling restriction for users with Linux distributions (such as the
quite recent Ubuntu 2016.10 of the original poster) that do not yet
give access to libssl version 1.1.0 (the oldest version of libssl
where HMAC_CTX_new() and HMAC_CTX_free() are available according to
your previous post).


Strangely enough I have no issue on Ubuntu 16.04 with the system default 
installation of OpenSSL.


What I missed in the original post is that the error comes from libarchive 
rather than libcurl.
But libarchive itself also seems to provide inline definitions of the missing 
functions in Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h 
for OpenSSL < 1.1.


I can't tell why the inline definitions aren't used on the original posters 
system.

Perhaps there is a mismatch between OpenSSL headers and libraries?


Hi Nils:

Strictly from what you have said (since my result bypassed OpenSSL
completely by using libcurl for SSL functionality), it appears to me
that CMake (or libarchive?) developers have attempted to adjust for
the case where OpenSSL < 1.1, and that adjustment works for you with
Ubuntu 16.04, but does not work for the O.P. with Ubuntu 16.10.

Ultimately, of course, it is strictly up to the CMake developers how
carefully they respond to reports of OpenSSL issues, but from my
perspective CMake SSL functionality is important because of the widely
used ExternalProject module that depends on that functionality.

Therefore, from the sidelines I am encouraging you guys to be
extraordinarily careful about this particular issue; e.g., by
attempting to to confirm this CMake-3.8.0-rc4 issue independently for
Ubuntu 16.10.

Further to such confirmation does the CMake dashboard already test
system OpenSSL for the Ubuntu 16.10 case or does one of the CMake
developers have ready access to a Ubuntu 16.10 system so they can
attempt to confirm the issue?

That is the end of my ideas for helping you to debug this issue so
I am likely bowing out of further discussion in this thread.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Nils Gladitz

On 03/31/2017 11:54 AM, Alan W. Irwin wrote:


Hi Nils:

And use of ExternalProject_Add, etc.  In other words, this is a pretty
crippling restriction for users with Linux distributions (such as the
quite recent Ubuntu 2016.10 of the original poster) that do not yet
give access to libssl version 1.1.0 (the oldest version of libssl
where HMAC_CTX_new() and HMAC_CTX_free() are available according to
your previous post).


Strangely enough I have no issue on Ubuntu 16.04 with the system default 
installation of OpenSSL.


What I missed in the original post is that the error comes from 
libarchive rather than libcurl.
But libarchive itself also seems to provide inline definitions of the 
missing functions in 
Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h for 
OpenSSL < 1.1.


I can't tell why the inline definitions aren't used on the original 
posters system.

Perhaps there is a mismatch between OpenSSL headers and libraries?


Nils
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Alan W. Irwin

On 2017-03-31 09:12+0200 Nils Gladitz wrote:


On 03/31/2017 09:04 AM, ウルヰ wrote:

To disable OpenSSL e.g. "cmake ... -DCMAKE_USE_OPENSSL=false" or 
"bootstrap

... --  -DCMAKE_USE_OPENSSL=false".

What would be the ramifications of building CMake without OpenSSL?


As far as I am aware it would mean no "https://; support in curl which would 
mean no "https://; support in e.g. file(DOWNLOAD) and CTest submissions.


Hi Nils:

And use of ExternalProject_Add, etc.  In other words, this is a pretty
crippling restriction for users with Linux distributions (such as the
quite recent Ubuntu 2016.10 of the original poster) that do not yet
give access to libssl version 1.1.0 (the oldest version of libssl
where HMAC_CTX_new() and HMAC_CTX_free() are available according to
your previous post).

@ The original poster, ウルヰ  (whose real name I do not know 
because he obviously
did not use the normal UTF-8 encoding for his mail address name):

I suggest you try the experiment of using the system version of
libcurl instead (which also supplies SSL capability). For example, my
Linux distribution is Debian Stable which only installs libssl 1.0.1.
And for that case when I tried the bootstrap method with the
--system-curl option (the usual way I build cmake), I do not confirm
your linking issue.  So my expectation is you will also avoid that
linking issue on Ubuntu 2016.10 if you use that bootstrap option or a
similar system libcurl option for the non-bootstrap case.

@Nils:

Even if the original poster finds the suggested workaround (of using
the system version of libcurl rather than system version of
libopenssl) works to provide key CMake SSL functionality, on general
principles (because Linux distribution support for libssl version
1.1.0 is obviously not widespread at the current time), I would
strongly suggest CMake developers drop use of HMAC_CTX_new() and
HMAC_CTX_free() throughout CMake for the final version of CMake-3.8.0.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Nils Gladitz

On 03/31/2017 09:04 AM, ウルヰ wrote:


To disable OpenSSL e.g. "cmake ... -DCMAKE_USE_OPENSSL=false" or "bootstrap
... --  -DCMAKE_USE_OPENSSL=false".

What would be the ramifications of building CMake without OpenSSL?


As far as I am aware it would mean no "https://; support in curl which 
would mean no "https://; support in e.g. file(DOWNLOAD) and CTest 
submissions.


Nils
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread ウルヰ
> To disable OpenSSL e.g. "cmake ... -DCMAKE_USE_OPENSSL=false" or "bootstrap
> ... --  -DCMAKE_USE_OPENSSL=false".

What would be the ramifications of building CMake without OpenSSL?
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-31 Thread Nils Gladitz

On 03/31/2017 07:46 AM, ウルヰ wrote:


../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_hmac.c.o):
In function `__hmac_sha1_init':
archive_hmac.c:(.text+0x25): undefined reference to `HMAC_CTX_new'
../Utilities/cmlibarchive/libarchive/libcmlibarchive.a(archive_hmac.c.o):
In function `__hmac_sha1_cleanup':
archive_hmac.c:(.text+0x12d): undefined reference to `HMAC_CTX_free'
collect2: error: ld returned 1 exit status
Source/CMakeFiles/ccmake.dir/build.make:422: recipe for target
'bin/ccmake' failed
make[2]: *** [bin/ccmake] Error 1
CMakeFiles/Makefile2:2314: recipe for target
'Source/CMakeFiles/ccmake.dir/all' failed
make[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make: *** [all] Error 2

Is this a bug with the build configuration or have I forgotten to do
something I need to do?


According to the OpenSSL documentation HMAC_CTX_new() and 
HMAC_CTX_free() were introduced in 1.1.0.
Presumably your OpenSSL version is older than that and disabling OpenSSL 
(presuming you don't need it) or building against a newer version should 
help.


To disable OpenSSL e.g. "cmake ... -DCMAKE_USE_OPENSSL=false" or 
"bootstrap ... --  -DCMAKE_USE_OPENSSL=false".
To point CMake at a custom OpenSSL installation instead setting the 
CMAKE_PREFIX_PATH environment to the installation should work.


Nils
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Re: [CMake] Linker error when building 3.8.0-rc4 on Linux

2017-03-30 Thread ウルヰ
Can confirm that this happens with the latest source from Github as well.
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake