pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/51705: lang/libLLVM DragonFly undefined reference to 'environ' HandleLLVMOptions.cmake



>Number:         51705
>Category:       pkg
>Synopsis:       lang/libLLVM DragonFly undefined reference to 'environ' HandleLLVMOptions.cmake
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Dec 10 22:15:00 +0000 2016
>Originator:     David Shao
>Release:        current pkgsrc
>Organization:
>Environment:
DragonFly  4.7-DEVELOPMENT DragonFly v4.7.0.983.g3f2cd4-DEVELOPMENT #4: Sat Dec 10 02:06:51 PST 2016     xxxxxx@:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64

>Description:
lang/libLLVM has failed to build on DragonFly DEVELOPMENT for at least a couple of versions without the following patch below taken from dports.  The build fails, annoyingly near the very end requiring a long wait for compilation, similar to:

Scanning dependencies of target LLVM
[100%] Building CXX object tools/llvm-shlib/CMakeFiles/LLVM.dir/libllvm.cpp.o
[100%] Linking CXX shared library ../../lib/libLLVM-3.9.so
/usr/pkgsrc/lang/libLLVM/work/llvm-3.9.0.src/lib/Support/Unix/Program.inc:234: error: undefined reference to 'environ'
collect2: error: ld returned 1 exit status

>How-To-Repeat:

>Fix:
diff -Nur lang/libLLVM/distinfo lang/libLLVM.good/distinfo
--- lang/libLLVM/distinfo	2016-11-14 12:15:33.000000000 -0800
+++ lang/libLLVM.good/distinfo	2016-11-14 19:25:18.000000000 -0800
@@ -7,6 +7,7 @@
 SHA1 (patch-CMakeLists.txt) = 770e0bc00a987430b6c6be7e4141f33e5be54a8f
 SHA1 (patch-cmake_modules_AddLLVM.cmake) = 1fd7598a55eede8b1ef50556ab8d7277fe5b2f43
 SHA1 (patch-cmake_modules_CMakeLists.txt) = bf31e9d3914e2041a7d435390b63ad67282b272f
+SHA1 (patch-cmake_modules_HandleLLVMOptions.cmake) = dc567e1ab5d2d274145881805e35b713e4da70a9
 SHA1 (patch-cmake_modules_TableGen.cmake) = d548208577f45fbb6c8f7b43548c399cc63c7887
 SHA1 (patch-include_llvm_Support_Host.h) = ad6ac520f15bba96ab887c962fb717e22aaee7bf
 SHA1 (patch-tools_llvm-config_llvm-config.cpp) = 44835bfcd2bddc16e0b93628fafb627889091f85
diff -Nur lang/libLLVM/patches/patch-cmake_modules_HandleLLVMOptions.cmake lang/libLLVM.good/patches/patch-cmake_modules_HandleLLVMOptions.cmake
--- lang/libLLVM/patches/patch-cmake_modules_HandleLLVMOptions.cmake	1969-12-31 16:00:00.000000000 -0800
+++ lang/libLLVM.good/patches/patch-cmake_modules_HandleLLVMOptions.cmake	2016-03-09 06:55:14.000000000 -0800
@@ -0,0 +1,12 @@
+$NetBSD$
+
+--- cmake/modules/HandleLLVMOptions.cmake.orig	2016-01-06 19:05:19.000000000 +0000
++++ cmake/modules/HandleLLVMOptions.cmake
+@@ -132,6 +132,7 @@ endif()
+ # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
+ # build might work on ELF but fail on MachO/COFF.
+ if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
++        ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" OR
+         ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
+         ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD") AND
+    NOT LLVM_USE_SANITIZER)



Home | Main Index | Thread Index | Old Index