Closed
Description
Howdy,
First of, thanks for this work 💌
I'm trying to statically build a binary but it seems that I'm missing a lot of symbols. Googling/installing potential missing packages didn't fix anything. I looked at many different repositories (basically this) but couldn't find anything up-to date or that fixed my issue.
Setup
macOS 10.15.5 (19F101)
go version go1.13.5 darwin/amd64
git2go tags/v30.0.3
libgit2 tags/v1.0.0
For non-static tests I use libgit2 v1.0.0
installed this way:
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/1f92e1cfa2faac4159db3029d6dd4dc3874cc9cd/Formula/libgit2.rb
Code
// main.go
package main
import git "github.com/libgit2/git2go/v30"
func main() {
if _, err := git.OpenRepository("."); err != nil {
panic(err)
}
}
# makefile
LIBGIT_STATIC=$(shell echo "$$GOPATH/src/github.com/libgit2/git2go/static-build/build")
dynamic:
go build main.go
static:
PKG_CONFIG_PATH=${LIBGIT_STATIC} \
go build \
-installsuffix cgo \
-ldflags '-extldflags "-static"' main.go
// go.mod
module example.com/a/b
go 1.13
require github.com/libgit2/git2go/v30 v30.0.3
Results for dynamic
With libgit2
installed via brew
, results are as expected:
$ make dynamic && ./main
go build main.go
panic: could not find repository from '.'
$ git init && ./main
// no output
Without libgit2
installed, dynamic
building fails as expected:
$ ./main
dyld: Library not loaded: /usr/local/opt/libgit2/lib/libgit2.1.0.dylib
Referenced from: /private/tmp/git2gotest/./main
Reason: image not found
zsh: abort ./main
Results for static
Preparation, as explained in here:
$ go get -d github.com/libgit2/git2go
$ cd $GOPATH/src/github.com/libgit2/git2go/
$ git checkout v30.0.3
$ make install-static
There are a few tests failed and some missing elements, but since the build was not aborted, I assumed it was not problematic.
output
./script/build-libgit2-static.sh
-- The C compiler identification is AppleClang 11.0.3.11030032
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM
-- Performing Test HAVE_STRUCT_STAT_ST_MTIM - Failed
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC
-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC - Success
-- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC
-- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC - Failed
-- Performing Test HAVE_STRUCT_STAT_NSEC
-- Performing Test HAVE_STRUCT_STAT_NSEC - Success
-- Performing Test IS_WALL_SUPPORTED
-- Performing Test IS_WALL_SUPPORTED - Success
-- Performing Test IS_WEXTRA_SUPPORTED
-- Performing Test IS_WEXTRA_SUPPORTED - Success
-- Performing Test IS_WDOCUMENTATION_SUPPORTED
-- Performing Test IS_WDOCUMENTATION_SUPPORTED - Success
-- Performing Test IS_WNO_MISSING_FIELD_INITIALIZERS_SUPPORTED
-- Performing Test IS_WNO_MISSING_FIELD_INITIALIZERS_SUPPORTED - Success
-- Performing Test IS_WSTRICT_ALIASING_SUPPORTED
-- Performing Test IS_WSTRICT_ALIASING_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_WSHIFT_COUNT_OVERFLOW_SUPPORTED
-- Performing Test IS_WSHIFT_COUNT_OVERFLOW_SUPPORTED - Success
-- Performing Test IS_WUNUSED_CONST_VARIABLE_SUPPORTED
-- Performing Test IS_WUNUSED_CONST_VARIABLE_SUPPORTED - Success
-- Performing Test IS_WUNUSED_FUNCTION_SUPPORTED
-- Performing Test IS_WUNUSED_FUNCTION_SUPPORTED - Success
-- Performing Test IS_WINT_CONVERSION_SUPPORTED
-- Performing Test IS_WINT_CONVERSION_SUPPORTED - Success
-- Performing Test IS_WFORMAT_SUPPORTED
-- Performing Test IS_WFORMAT_SUPPORTED - Success
-- Performing Test IS_WFORMAT_SECURITY_SUPPORTED
-- Performing Test IS_WFORMAT_SECURITY_SUPPORTED - Success
-- Performing Test IS_WNO_DOCUMENTATION_DEPRECATED_SYNC_SUPPORTED
-- Performing Test IS_WNO_DOCUMENTATION_DEPRECATED_SYNC_SUPPORTED - Success
-- Looking for futimens
-- Looking for futimens - found
-- Checking prototype qsort_r for HAVE_QSORT_R_BSD - True
-- Checking prototype qsort_r for HAVE_QSORT_R_GNU - False
-- Looking for qsort_s
-- Looking for qsort_s - not found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - not found
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR)
-- Found Security /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework
-- Looking for SSLCreateContext in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework
-- Looking for SSLCreateContext in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework - found
-- Found CoreFoundation /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreFoundation.framework
-- Found PCRE: /usr/local/lib/libpcre.dylib
-- Looking for dirent.h
-- Looking for dirent.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for windows.h
-- Looking for windows.h - not found
-- Looking for bcopy
-- Looking for bcopy - found
-- Looking for memmove
-- Looking for memmove - found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strtoll
-- Looking for strtoll - found
-- Looking for strtoq
-- Looking for strtoq - found
-- Looking for _strtoi64
-- Looking for _strtoi64 - not found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of long long
-- Check size of long long - done
-- Check size of unsigned long long
-- Check size of unsigned long long - done
-- Performing Test IS_WNO_UNUSED_FUNCTION_SUPPORTED
-- Performing Test IS_WNO_UNUSED_FUNCTION_SUPPORTED - Success
-- Performing Test IS_WNO_IMPLICIT_FALLTHROUGH_SUPPORTED
-- Performing Test IS_WNO_IMPLICIT_FALLTHROUGH_SUPPORTED - Success
-- http-parser version 2 was not found or disabled; using bundled 3rd-party sources.
-- Performing Test IS_WIMPLICIT_FALLTHROUGH_1_SUPPORTED
-- Performing Test IS_WIMPLICIT_FALLTHROUGH_1_SUPPORTED - Failed
-- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11")
-- Checking for module 'libssh2'
-- Package 'libssl', required by 'libssh2', not found
-- LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path.
-- Checking for module 'heimdal-gssapi'
-- No package 'heimdal-gssapi' found
-- Could NOT find GSSAPI (missing: GSSAPI_LIBRARIES)
-- Found GSS.framework /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/GSS.framework
-- Looking for iconv_open
-- Looking for iconv_open - not found
-- Found Iconv: -L/usr/lib -liconv
-- Enabled features:
* nanoseconds, whether to use sub-second file mtimes and ctimes
* tracing, tracing support
* threadsafe, threadsafe support
* HTTPS, using SecureTransport
* SHA, using CollisionDetection
* regex, using bundled PCRE
* http-parser, http-parser support (bundled)
* zlib, using system zlib
* ntlmclient, NTLM authentication support for Unix
* iconv, iconv encoding conversion support
-- Disabled features:
* debugpool, debug pool allocator
* SSH, SSH transport support
* SPNEGO, SPNEGO authentication support
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
INCLUDE_INSTALL_DIR
LIB_INSTALL_DIR
-- Build files have been written to: /Users/n/go/src/github.com/libgit2/git2go/static-build/build
Scanning dependencies of target git2internal
[ 1%] Building C object src/CMakeFiles/git2internal.dir/alloc.c.o
[ 1%] Building C object src/CMakeFiles/git2internal.dir/allocators/stdalloc.c.o
[ 2%] Building C object src/CMakeFiles/git2internal.dir/allocators/win32_crtdbg.c.o
[ 2%] Building C object src/CMakeFiles/git2internal.dir/annotated_commit.c.o
[ 3%] Building C object src/CMakeFiles/git2internal.dir/apply.c.o
[ 3%] Building C object src/CMakeFiles/git2internal.dir/attr.c.o
[ 4%] Building C object src/CMakeFiles/git2internal.dir/attr_file.c.o
[ 4%] Building C object src/CMakeFiles/git2internal.dir/attrcache.c.o
[ 5%] Building C object src/CMakeFiles/git2internal.dir/blame.c.o
[ 5%] Building C object src/CMakeFiles/git2internal.dir/blame_git.c.o
[ 6%] Building C object src/CMakeFiles/git2internal.dir/blob.c.o
[ 7%] Building C object src/CMakeFiles/git2internal.dir/branch.c.o
[ 7%] Building C object src/CMakeFiles/git2internal.dir/buf_text.c.o
[ 8%] Building C object src/CMakeFiles/git2internal.dir/buffer.c.o
[ 8%] Building C object src/CMakeFiles/git2internal.dir/cache.c.o
[ 9%] Building C object src/CMakeFiles/git2internal.dir/checkout.c.o
[ 9%] Building C object src/CMakeFiles/git2internal.dir/cherrypick.c.o
[ 10%] Building C object src/CMakeFiles/git2internal.dir/clone.c.o
[ 10%] Building C object src/CMakeFiles/git2internal.dir/commit.c.o
[ 11%] Building C object src/CMakeFiles/git2internal.dir/commit_list.c.o
[ 11%] Building C object src/CMakeFiles/git2internal.dir/config.c.o
[ 12%] Building C object src/CMakeFiles/git2internal.dir/config_cache.c.o
[ 12%] Building C object src/CMakeFiles/git2internal.dir/config_entries.c.o
[ 13%] Building C object src/CMakeFiles/git2internal.dir/config_file.c.o
[ 14%] Building C object src/CMakeFiles/git2internal.dir/config_mem.c.o
[ 14%] Building C object src/CMakeFiles/git2internal.dir/config_parse.c.o
[ 15%] Building C object src/CMakeFiles/git2internal.dir/config_snapshot.c.o
[ 15%] Building C object src/CMakeFiles/git2internal.dir/crlf.c.o
[ 16%] Building C object src/CMakeFiles/git2internal.dir/date.c.o
[ 16%] Building C object src/CMakeFiles/git2internal.dir/delta.c.o
[ 17%] Building C object src/CMakeFiles/git2internal.dir/describe.c.o
[ 17%] Building C object src/CMakeFiles/git2internal.dir/diff.c.o
[ 18%] Building C object src/CMakeFiles/git2internal.dir/diff_driver.c.o
[ 18%] Building C object src/CMakeFiles/git2internal.dir/diff_file.c.o
[ 19%] Building C object src/CMakeFiles/git2internal.dir/diff_generate.c.o
[ 20%] Building C object src/CMakeFiles/git2internal.dir/diff_parse.c.o
[ 20%] Building C object src/CMakeFiles/git2internal.dir/diff_print.c.o
[ 21%] Building C object src/CMakeFiles/git2internal.dir/diff_stats.c.o
[ 21%] Building C object src/CMakeFiles/git2internal.dir/diff_tform.c.o
[ 22%] Building C object src/CMakeFiles/git2internal.dir/diff_xdiff.c.o
[ 22%] Building C object src/CMakeFiles/git2internal.dir/errors.c.o
[ 23%] Building C object src/CMakeFiles/git2internal.dir/fetch.c.o
[ 23%] Building C object src/CMakeFiles/git2internal.dir/fetchhead.c.o
[ 24%] Building C object src/CMakeFiles/git2internal.dir/filebuf.c.o
[ 24%] Building C object src/CMakeFiles/git2internal.dir/filter.c.o
[ 25%] Building C object src/CMakeFiles/git2internal.dir/futils.c.o
[ 25%] Building C object src/CMakeFiles/git2internal.dir/global.c.o
[ 26%] Building C object src/CMakeFiles/git2internal.dir/graph.c.o
[ 27%] Building C object src/CMakeFiles/git2internal.dir/hash.c.o
[ 27%] Building C object src/CMakeFiles/git2internal.dir/hashsig.c.o
[ 28%] Building C object src/CMakeFiles/git2internal.dir/ident.c.o
[ 28%] Building C object src/CMakeFiles/git2internal.dir/idxmap.c.o
[ 29%] Building C object src/CMakeFiles/git2internal.dir/ignore.c.o
[ 29%] Building C object src/CMakeFiles/git2internal.dir/index.c.o
[ 30%] Building C object src/CMakeFiles/git2internal.dir/indexer.c.o
[ 30%] Building C object src/CMakeFiles/git2internal.dir/iterator.c.o
[ 31%] Building C object src/CMakeFiles/git2internal.dir/mailmap.c.o
[ 31%] Building C object src/CMakeFiles/git2internal.dir/merge.c.o
[ 32%] Building C object src/CMakeFiles/git2internal.dir/merge_driver.c.o
[ 32%] Building C object src/CMakeFiles/git2internal.dir/merge_file.c.o
[ 33%] Building C object src/CMakeFiles/git2internal.dir/message.c.o
[ 34%] Building C object src/CMakeFiles/git2internal.dir/mwindow.c.o
[ 34%] Building C object src/CMakeFiles/git2internal.dir/net.c.o
[ 35%] Building C object src/CMakeFiles/git2internal.dir/netops.c.o
[ 35%] Building C object src/CMakeFiles/git2internal.dir/notes.c.o
[ 36%] Building C object src/CMakeFiles/git2internal.dir/object.c.o
[ 36%] Building C object src/CMakeFiles/git2internal.dir/object_api.c.o
[ 37%] Building C object src/CMakeFiles/git2internal.dir/odb.c.o
[ 37%] Building C object src/CMakeFiles/git2internal.dir/odb_loose.c.o
[ 38%] Building C object src/CMakeFiles/git2internal.dir/odb_mempack.c.o
[ 38%] Building C object src/CMakeFiles/git2internal.dir/odb_pack.c.o
[ 39%] Building C object src/CMakeFiles/git2internal.dir/offmap.c.o
[ 40%] Building C object src/CMakeFiles/git2internal.dir/oid.c.o
[ 40%] Building C object src/CMakeFiles/git2internal.dir/oidarray.c.o
[ 41%] Building C object src/CMakeFiles/git2internal.dir/oidmap.c.o
[ 41%] Building C object src/CMakeFiles/git2internal.dir/pack-objects.c.o
[ 42%] Building C object src/CMakeFiles/git2internal.dir/pack.c.o
[ 42%] Building C object src/CMakeFiles/git2internal.dir/parse.c.o
[ 43%] Building C object src/CMakeFiles/git2internal.dir/patch.c.o
[ 43%] Building C object src/CMakeFiles/git2internal.dir/patch_generate.c.o
[ 44%] Building C object src/CMakeFiles/git2internal.dir/patch_parse.c.o
[ 44%] Building C object src/CMakeFiles/git2internal.dir/path.c.o
[ 45%] Building C object src/CMakeFiles/git2internal.dir/pathspec.c.o
[ 45%] Building C object src/CMakeFiles/git2internal.dir/pool.c.o
[ 46%] Building C object src/CMakeFiles/git2internal.dir/posix.c.o
[ 47%] Building C object src/CMakeFiles/git2internal.dir/pqueue.c.o
[ 47%] Building C object src/CMakeFiles/git2internal.dir/proxy.c.o
[ 48%] Building C object src/CMakeFiles/git2internal.dir/push.c.o
[ 48%] Building C object src/CMakeFiles/git2internal.dir/reader.c.o
[ 49%] Building C object src/CMakeFiles/git2internal.dir/rebase.c.o
[ 49%] Building C object src/CMakeFiles/git2internal.dir/refdb.c.o
[ 50%] Building C object src/CMakeFiles/git2internal.dir/refdb_fs.c.o
[ 50%] Building C object src/CMakeFiles/git2internal.dir/reflog.c.o
[ 51%] Building C object src/CMakeFiles/git2internal.dir/refs.c.o
[ 51%] Building C object src/CMakeFiles/git2internal.dir/refspec.c.o
[ 52%] Building C object src/CMakeFiles/git2internal.dir/regexp.c.o
[ 52%] Building C object src/CMakeFiles/git2internal.dir/remote.c.o
[ 53%] Building C object src/CMakeFiles/git2internal.dir/repository.c.o
[ 54%] Building C object src/CMakeFiles/git2internal.dir/reset.c.o
[ 54%] Building C object src/CMakeFiles/git2internal.dir/revert.c.o
[ 55%] Building C object src/CMakeFiles/git2internal.dir/revparse.c.o
[ 55%] Building C object src/CMakeFiles/git2internal.dir/revwalk.c.o
[ 56%] Building C object src/CMakeFiles/git2internal.dir/settings.c.o
[ 56%] Building C object src/CMakeFiles/git2internal.dir/signature.c.o
[ 57%] Building C object src/CMakeFiles/git2internal.dir/sortedcache.c.o
[ 57%] Building C object src/CMakeFiles/git2internal.dir/stash.c.o
[ 58%] Building C object src/CMakeFiles/git2internal.dir/status.c.o
[ 58%] Building C object src/CMakeFiles/git2internal.dir/streams/mbedtls.c.o
[ 59%] Building C object src/CMakeFiles/git2internal.dir/streams/openssl.c.o
[ 60%] Building C object src/CMakeFiles/git2internal.dir/streams/registry.c.o
[ 60%] Building C object src/CMakeFiles/git2internal.dir/streams/socket.c.o
[ 61%] Building C object src/CMakeFiles/git2internal.dir/streams/stransport.c.o
[ 61%] Building C object src/CMakeFiles/git2internal.dir/streams/tls.c.o
[ 62%] Building C object src/CMakeFiles/git2internal.dir/strmap.c.o
[ 62%] Building C object src/CMakeFiles/git2internal.dir/submodule.c.o
[ 63%] Building C object src/CMakeFiles/git2internal.dir/sysdir.c.o
[ 63%] Building C object src/CMakeFiles/git2internal.dir/tag.c.o
[ 64%] Building C object src/CMakeFiles/git2internal.dir/thread-utils.c.o
[ 64%] Building C object src/CMakeFiles/git2internal.dir/trace.c.o
[ 65%] Building C object src/CMakeFiles/git2internal.dir/trailer.c.o
[ 65%] Building C object src/CMakeFiles/git2internal.dir/transaction.c.o
[ 66%] Building C object src/CMakeFiles/git2internal.dir/transport.c.o
[ 67%] Building C object src/CMakeFiles/git2internal.dir/transports/auth.c.o
[ 67%] Building C object src/CMakeFiles/git2internal.dir/transports/auth_negotiate.c.o
[ 68%] Building C object src/CMakeFiles/git2internal.dir/transports/auth_ntlm.c.o
[ 68%] Building C object src/CMakeFiles/git2internal.dir/transports/credential.c.o
[ 69%] Building C object src/CMakeFiles/git2internal.dir/transports/credential_helpers.c.o
[ 69%] Building C object src/CMakeFiles/git2internal.dir/transports/git.c.o
[ 70%] Building C object src/CMakeFiles/git2internal.dir/transports/http.c.o
[ 70%] Building C object src/CMakeFiles/git2internal.dir/transports/httpclient.c.o
[ 71%] Building C object src/CMakeFiles/git2internal.dir/transports/local.c.o
[ 71%] Building C object src/CMakeFiles/git2internal.dir/transports/smart.c.o
[ 72%] Building C object src/CMakeFiles/git2internal.dir/transports/smart_pkt.c.o
[ 72%] Building C object src/CMakeFiles/git2internal.dir/transports/smart_protocol.c.o
[ 73%] Building C object src/CMakeFiles/git2internal.dir/transports/ssh.c.o
[ 74%] Building C object src/CMakeFiles/git2internal.dir/transports/winhttp.c.o
[ 74%] Building C object src/CMakeFiles/git2internal.dir/tree-cache.c.o
[ 75%] Building C object src/CMakeFiles/git2internal.dir/tree.c.o
[ 75%] Building C object src/CMakeFiles/git2internal.dir/tsort.c.o
[ 76%] Building C object src/CMakeFiles/git2internal.dir/util.c.o
[ 76%] Building C object src/CMakeFiles/git2internal.dir/varint.c.o
[ 77%] Building C object src/CMakeFiles/git2internal.dir/vector.c.o
[ 77%] Building C object src/CMakeFiles/git2internal.dir/wildmatch.c.o
[ 78%] Building C object src/CMakeFiles/git2internal.dir/worktree.c.o
[ 78%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xdiffi.c.o
[ 79%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xemit.c.o
[ 80%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xhistogram.c.o
[ 80%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xmerge.c.o
[ 81%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xpatience.c.o
[ 81%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xprepare.c.o
[ 82%] Building C object src/CMakeFiles/git2internal.dir/xdiff/xutils.c.o
[ 82%] Building C object src/CMakeFiles/git2internal.dir/zstream.c.o
[ 83%] Building C object src/CMakeFiles/git2internal.dir/unix/map.c.o
[ 83%] Building C object src/CMakeFiles/git2internal.dir/unix/realpath.c.o
[ 84%] Building C object src/CMakeFiles/git2internal.dir/hash/sha1/collisiondetect.c.o
[ 84%] Building C object src/CMakeFiles/git2internal.dir/hash/sha1/sha1dc/sha1.c.o
[ 85%] Building C object src/CMakeFiles/git2internal.dir/hash/sha1/sha1dc/ubc_check.c.o
[ 85%] Built target git2internal
Scanning dependencies of target ntlmclient
[ 86%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/ntlm.c.o
[ 87%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/unicode_builtin.c.o
[ 87%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/util.c.o
[ 88%] Building C object deps/ntlmclient/CMakeFiles/ntlmclient.dir/crypt_commoncrypto.c.o
[ 88%] Built target ntlmclient
Scanning dependencies of target pcre
[ 88%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_byte_order.c.o
[ 89%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_chartables.c.o
[ 89%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_compile.c.o
[ 90%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_config.c.o
[ 90%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_dfa_exec.c.o
[ 91%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_exec.c.o
[ 91%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_fullinfo.c.o
[ 92%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_get.c.o
[ 92%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_globals.c.o
[ 93%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_jit_compile.c.o
[ 94%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_maketables.c.o
[ 94%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_newline.c.o
[ 95%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_ord2utf8.c.o
[ 95%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_refcount.c.o
[ 96%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_string_utils.c.o
[ 96%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_study.c.o
[ 97%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_tables.c.o
[ 97%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_ucd.c.o
[ 98%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_valid_utf8.c.o
[ 98%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_version.c.o
[ 99%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcre_xclass.c.o
[100%] Building C object deps/pcre/CMakeFiles/pcre.dir/pcreposix.c.o
[100%] Built target pcre
Scanning dependencies of target http-parser
[100%] Building C object deps/http-parser/CMakeFiles/http-parser.dir/http_parser.c.o
[100%] Built target http-parser
Scanning dependencies of target git2
[100%] Linking C static library ../libgit2.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(pcre_string_utils.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(auth_negotiate.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(winhttp.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(pcre_string_utils.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(auth_negotiate.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ../libgit2.a(winhttp.c.o) has no symbols
[100%] Built target git2
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/lib/pkgconfig/libgit2.pc
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/lib/libgit2.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/lib/libgit2.a(pcre_string_utils.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/lib/libgit2.a(auth_negotiate.c.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/lib/libgit2.a(winhttp.c.o) has no symbols
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/signature.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/oid.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/index.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/ignore.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/attr.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/blame.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/oidarray.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/pack.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/revert.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/version.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/odb.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/status.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/net.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/tag.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/annotated_commit.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/config.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/branch.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/types.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/repository.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/clone.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/global.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/blob.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/cherrypick.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/mailmap.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/submodule.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/errors.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/message.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/merge.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/pathspec.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/tree.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/odb_backend.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/graph.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/describe.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/rebase.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/worktree.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/stash.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/remote.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/strarray.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/reflog.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/cred_helpers.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/buffer.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/diff.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/index.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/config.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/path.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/repository.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/openssl.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/cred.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/merge.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/stream.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/odb_backend.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/reflog.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/diff.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/transport.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/hashsig.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/credential.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/refs.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/filter.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/alloc.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/mempack.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/commit.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/sys/refdb_backend.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/trace.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/common.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/proxy.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/indexer.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/refspec.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/notes.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/cert.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/deprecated.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/transport.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/revwalk.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/patch.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/object.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/checkout.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/apply.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/revparse.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/credential_helpers.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/credential.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/refs.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/reset.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/filter.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/transaction.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/stdint.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/commit.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2/refdb.h
-- Installing: /Users/n/go/src/github.com/libgit2/git2go/static-build/install/include/git2.h
go install --tags "static" ./...
$ make static
PKG_CONFIG_PATH=/Users/n/go/src/github.com/libgit2/git2go/static-build/build \
go build \
-installsuffix cgo \
-ldflags '-extldflags "-static"' main.go
# github.com/libgit2/git2go/v30
Undefined symbols for architecture x86_64:
"_CFDataGetBytePtr", referenced from:
_stransport_certificate in libgit2.a(stransport.c.o)
... (see below for full output)
output
PKG_CONFIG_PATH=/Users/n/go/src/github.com/libgit2/git2go/static-build/build \
go build \
-installsuffix cgo \
-ldflags '-extldflags "-static"' main.go
# github.com/libgit2/git2go/v30
Undefined symbols for architecture x86_64:
"_CFDataGetBytePtr", referenced from:
_stransport_certificate in libgit2.a(stransport.c.o)
"_CFDataGetLength", referenced from:
_stransport_certificate in libgit2.a(stransport.c.o)
"_CFRelease", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
_stransport_connect in libgit2.a(stransport.c.o)
_stransport_certificate in libgit2.a(stransport.c.o)
_stransport_read in libgit2.a(stransport.c.o)
_stransport_write in libgit2.a(stransport.c.o)
_stransport_close in libgit2.a(stransport.c.o)
_stransport_free in libgit2.a(stransport.c.o)
...
"_CFStringGetCStringPtr", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
_stransport_connect in libgit2.a(stransport.c.o)
_stransport_certificate in libgit2.a(stransport.c.o)
_stransport_read in libgit2.a(stransport.c.o)
_stransport_write in libgit2.a(stransport.c.o)
_stransport_close in libgit2.a(stransport.c.o)
"_SSLClose", referenced from:
_stransport_close in libgit2.a(stransport.c.o)
"_SSLCopyPeerTrust", referenced from:
_stransport_connect in libgit2.a(stransport.c.o)
_stransport_certificate in libgit2.a(stransport.c.o)
"_SSLCreateContext", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLHandshake", referenced from:
_stransport_connect in libgit2.a(stransport.c.o)
"_SSLRead", referenced from:
_stransport_read in libgit2.a(stransport.c.o)
"_SSLSetConnection", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLSetIOFuncs", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLSetPeerDomainName", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLSetProtocolVersionMax", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLSetProtocolVersionMin", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLSetSessionOption", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
"_SSLWrite", referenced from:
_stransport_write in libgit2.a(stransport.c.o)
"_SecCertificateCopyData", referenced from:
_stransport_certificate in libgit2.a(stransport.c.o)
"_SecCopyErrorMessageString", referenced from:
_stransport_wrap in libgit2.a(stransport.c.o)
_stransport_connect in libgit2.a(stransport.c.o)
_stransport_certificate in libgit2.a(stransport.c.o)
_stransport_read in libgit2.a(stransport.c.o)
_stransport_write in libgit2.a(stransport.c.o)
_stransport_close in libgit2.a(stransport.c.o)
"_SecTrustEvaluate", referenced from:
_stransport_connect in libgit2.a(stransport.c.o)
"_SecTrustGetCertificateAtIndex", referenced from:
_stransport_certificate in libgit2.a(stransport.c.o)
"_crc32", referenced from:
_git_indexer_append in libgit2.a(indexer.c.o)
_git_indexer_commit in libgit2.a(indexer.c.o)
"_deflate", referenced from:
_write_deflate in libgit2.a(filebuf.c.o)
_git_zstream_get_output_chunk in libgit2.a(zstream.c.o)
(maybe you meant: _git_zstream_deflatebuf)
"_deflateEnd", referenced from:
_git_filebuf_cleanup in libgit2.a(filebuf.c.o)
_git_zstream_free in libgit2.a(zstream.c.o)
_zstream_buf in libgit2.a(zstream.c.o)
"_deflateInit_", referenced from:
_git_filebuf_open_withsize in libgit2.a(filebuf.c.o)
_git_zstream_init in libgit2.a(zstream.c.o)
"_deflateReset", referenced from:
_git_zstream_reset in libgit2.a(zstream.c.o)
"_iconv", referenced from:
_git_path_iconv in libgit2.a(path.c.o)
(maybe you meant: _git_path_iconv_init_precompose, _git_path_iconv , _git_path_iconv_clear )
"_iconv_close", referenced from:
_git_path_direach in libgit2.a(path.c.o)
_git_path_iconv_clear in libgit2.a(path.c.o)
_git_path_diriter_free in libgit2.a(path.c.o)
_git_path_dirload in libgit2.a(path.c.o)
"_iconv_open", referenced from:
_git_path_direach in libgit2.a(path.c.o)
_git_path_iconv_init_precompose in libgit2.a(path.c.o)
_git_path_diriter_init in libgit2.a(path.c.o)
"_inflate", referenced from:
_git_zstream_get_output_chunk in libgit2.a(zstream.c.o)
(maybe you meant: _git_zstream_inflatebuf)
"_inflateEnd", referenced from:
_git_zstream_free in libgit2.a(zstream.c.o)
_zstream_buf in libgit2.a(zstream.c.o)
"_inflateInit_", referenced from:
_git_zstream_init in libgit2.a(zstream.c.o)
"_inflateReset", referenced from:
_git_zstream_reset in libgit2.a(zstream.c.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [static] Error 2
Do you see anything that can explain why all those symbols are missing?
Thanks,
Metadata
Metadata
Assignees
Labels
No labels