Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure 0.4 on Mageia 5 - libgit2 #13871

Closed
evanmason opened this issue Nov 4, 2015 · 10 comments
Closed

Build failure 0.4 on Mageia 5 - libgit2 #13871

evanmason opened this issue Nov 4, 2015 · 10 comments
Labels
building Build system, or building Julia or its dependencies libgit2 The libgit2 library or the LibGit2 stdlib module

Comments

@evanmason
Copy link

Hi, I get the following error while doing a fresh install of Julia 0.4 on Mageia 5 Linux.

cd libgit2 && git fetch -q git://github.com/libgit2/libgit2.git v0.23.1:remotes/origin/v0.23.1
cd libgit2 && git checkout -q --detach f6dedf2c2eb806e2a6fdd4cf31f68386efc2ee0b
touch -c libgit2/CMakeLists.txt
mkdir -p libgit2/build
cd libgit2/build/ && \
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/opt/julia/julia/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER="gcc" -DCMAKE_C_COMPILER_ARG1="-m64 " -DCMAKE_CXX_COMPILER="g++" -DCMAKE_CXX_COMPILER_ARG1="-m64 " -DTHREADSAFE=ON
Re-run cmake no build system arguments
-- The C compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") 
-- checking for module 'libcurl'
--   package 'libcurl' not found
CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:293 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:210 (FIND_PACKAGE)


CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:294 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:210 (FIND_PACKAGE)


CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:296 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:210 (FIND_PACKAGE)


CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:298 (list):
  list GET given empty list
Call Stack (most recent call first):
  CMakeLists.txt:210 (FIND_PACKAGE)


-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version ".0.0`") 
-- Found HTTP_Parser: /usr/include  
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8") 
-- checking for module 'libssh2'
--   package 'libssh2' not found
-- LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.
-- Performing Test IS_FVISIBILITY=HIDDEN_SUPPORTED
-- Performing Test IS_FVISIBILITY=HIDDEN_SUPPORTED - Success
-- Performing Test IS_WDOCUMENTATION_SUPPORTED
-- Performing Test IS_WDOCUMENTATION_SUPPORTED - Failed
-- Performing Test IS_WNO-MISSING-FIELD-INITIALIZERS_SUPPORTED
-- Performing Test IS_WNO-MISSING-FIELD-INITIALIZERS_SUPPORTED - Success
-- Performing Test IS_WSTRICT-ALIASING=2_SUPPORTED
-- Performing Test IS_WSTRICT-ALIASING=2_SUPPORTED - Success
-- Performing Test IS_WSTRICT-PROTOTYPES_SUPPORTED
-- Performing Test IS_WSTRICT-PROTOTYPES_SUPPORTED - Success
-- Performing Test IS_WDECLARATION-AFTER-STATEMENT_SUPPORTED
-- Performing Test IS_WDECLARATION-AFTER-STATEMENT_SUPPORTED - Success
-- Performing Test IS_WNO-UNUSED-CONST-VARIABLE_SUPPORTED
-- Performing Test IS_WNO-UNUSED-CONST-VARIABLE_SUPPORTED - Failed
-- Performing Test IS_WNO-UNUSED-FUNCTION_SUPPORTED
-- Performing Test IS_WNO-UNUSED-FUNCTION_SUPPORTED - Success
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Found PythonInterp: /usr/bin/python (found version "2.7.9") 
-- Configuring incomplete, errors occurred!
See also "/opt/julia/julia/deps/libgit2/build/CMakeFiles/CMakeOutput.log".
See also "/opt/julia/julia/deps/libgit2/build/CMakeFiles/CMakeError.log".
Makefile:1958: recipe for target 'libgit2/build/Makefile' failed
make[1]: *** [libgit2/build/Makefile] Error 1
make[1]: Leaving directory '/opt/julia/julia/deps'
Makefile:51: recipe for target 'julia-deps' failed
make: *** [julia-deps] Error 2
[emason@marula julia (release-0.4)]$

I do have both curl and openssh installed, plus devel packages, and they are in my PATH.

[emason@marula julia (release-0.4)]$ ls /usr/lib64/libcurl.so*
/usr/lib64/libcurl.so@  /usr/lib64/libcurl.so.4@  /usr/lib64/libcurl.so.4.3.0*
[emason@marula julia (release-0.4)]$ ls /usr/lib64/libssh2
libssh2.a         libssh2.la        libssh2.so        libssh2.so.1      libssh2.so.1.0.1  
[emason@marula julia (release-0.4)]$ ls /usr/lib64/libssh2.*
/usr/lib64/libssh2.a  /usr/lib64/libssh2.la*  /usr/lib64/libssh2.so@  /usr/lib64/libssh2.so.1@  /usr/lib64/libssh2.so.1.0.1*
[emason@marula julia (release-0.4)]$

I suspect this may be related to #13472 but I'm still no closer to a solution.
Installing 0.3 is successful.

@yuyichao
Copy link
Contributor

yuyichao commented Nov 4, 2015

Install libcurl-devel?

@tkelman
Copy link
Contributor

tkelman commented Nov 4, 2015

CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:293 (list):

I think you should report this to the maintainer of the Mageia 5 cmake package.

@evanmason
Copy link
Author

Yes, I have libcurl-devel installed.

I'll report this to Mageia.

Thanks

On Wed, Nov 4, 2015 at 2:11 PM, Tony Kelman notifications@github.com
wrote:

CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:293 (list):

I think you should report this to the maintainer of the Mageia 5 cmake
package.


Reply to this email directly or view it on GitHub
#13871 (comment).

@doktor5000
Copy link

CMake Error at /usr/share/cmake/Modules/FindOpenSSL.cmake:293 (list):

That's an upstream cmake issue with newer openssl versions, and should be fixed with cmake >= 3.1.1 according to https://cmake.org/Bug/view.php?id=15386

I'll try to submit a fixed cmake package for Mageia (even when I'm not the maintainer ;) )
Reported via https://bugs.mageia.org/show_bug.cgi?id=17088

@doktor5000
Copy link

That issue is fixed, it succeeds now:
-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2d")

Afterwards libgit2 build works fine

Linking C executable libgit2_clar
[100%] Built target libgit2_clar
LIB_PATH for libssl: /lib64/libssl.so.1.0.0
'/lib64/libssl.so.1.0.0' -> '/home/doktor5000/julia/usr/lib/libssl.so.1.0.0'
LIB_PATH for libcrypto: /lib64/libcrypto.so.1.0.0
'/lib64/libcrypto.so.1.0.0' -> '/home/doktor5000/julia/usr/lib/libcrypto.so.1.0.0'

resulting in:

    LINK usr/lib/julia/sys.so
    CC usr/lib/libccalltest.so
[doktor5000@Mageia5]─[23:08:41]─[~/julia]./julia -v    
julia version 0.4.1-pre

@evanmason
Copy link
Author

Thank you everyone, the new version of cmake became available on Mageia and I've been able to install 0.4.

@kshyatt kshyatt added building Build system, or building Julia or its dependencies libgit2 The libgit2 library or the LibGit2 stdlib module labels Jul 26, 2016
@garrison
Copy link
Sponsor Member

garrison commented Jul 29, 2016

That's an upstream cmake issue with newer openssl versions, and should be fixed with cmake >= 3.1.1

I'm experiencing this issue on Debian stable (jessie), which includes cmake 3.0.2. Has anyone else experienced this on Debian? I believe I have successfully built julia master recently, but I am unable to build it now due to this error. If cmake 3.1.1 is indeed the minimum version required, this should probably be mentioned in the README. Even better would be to figure out a way for this to work with older cmake.

EDIT: FWIW, libgit2 README claims only cmake 2.8 or newer is required.

@tkelman
Copy link
Contributor

tkelman commented Jul 29, 2016

It's some trivial little bug in the FindOpenSSL.cmake module file, if you find the issue somewhere you can work out what the patch is and should be able to just make the change from https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c5d9a8283cfac15b4a5a07f18d5eb10c1f388505 manually if you have sudo. If you don't build with openssl, or on other platforms, then you can build libgit2 with older cmake, so "minimum version" is a bit of a hazy concept. You can just download generic linux binaries of recent cmake and point Julia's build to use it by setting CMAKE in Make.user or in your make invocation. LLVM 3.9 will require cmake 3.4.3 at a minimum when we upgrade to that, so may as well prepare.

@garrison
Copy link
Sponsor Member

@tkelman Right; I know how to fix this on my own machine. What I am trying to report here is that if you type make on the 0.5 release candidate on the latest version of Debian, it can fail with an error that is addressed nowhere in the README. My understanding is that such things have historically been considered a bug (but that's of course up to you).

@tkelman
Copy link
Contributor

tkelman commented Jul 29, 2016

until we do require newer cmake for llvm, it would be worth a readme note

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
building Build system, or building Julia or its dependencies libgit2 The libgit2 library or the LibGit2 stdlib module
Projects
None yet
Development

No branches or pull requests

6 participants