swiftlang / swift-package-manager

The Package Manager for the Swift Programming Language
Apache License 2.0
9.75k stars 1.35k forks source link

[SR-2748] package manager rebuilding unchanged modules #5208

Closed swift-ci closed 8 years ago

swift-ci commented 8 years ago
Previous ID SR-2748
Radar None
Original Reporter tannernelson (JIRA User)
Type Bug
Status Resolved
Resolution Duplicate
Additional Detail from JIRA | | | |------------------|-----------------| |Votes | 0 | |Component/s | Package Manager | |Labels | Bug | |Assignee | tannernelson (JIRA) | |Priority | Medium | md5: 72c455b3ab9efdb0ec7b1e60a5e92a0c

duplicates:

Issue Description:

The lack of a modulemap for the C module https://github.com/vapor/clibressl appears to be causing the package manager to rebuild unchanged modules. Each rebuild takes \~1 minute making development in Xcode the only realistic option.

Adding the following module map fixes the command line, but causes Xcode to fail with a `cannot find lib clibressl`. Therefore we have to rely on the automatically generated modulemap which might be the culprit behind this issue.

Here's the module map that fixes the CLI but breaks Xcode:

`Packages/CLibreSSL-xxx/Sources/CLibreSSL/include/module.modulemap`

module CLibreSSL {
    header "CLibreSSL.h"
    link "CLibreSSL"
}

Here is the output of two `swift build` calls in a row, without any modification to the source code between calls (and without a modulemap).

Gertrude:Hello tanner$ swift build
Cloning https://github.com/vapor/vapor.git
HEAD is now at dd06937 version 1.0.2
Resolved version: 1.0.2
Cloning https://github.com/vapor/crypto.git
HEAD is now at 132008d Merge pull request #​12 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/core.git
HEAD is now at 5f40499 Merge pull request #​24 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/clibressl.git
HEAD is now at 23ddb29 Merge pull request #​7 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/fluent.git
HEAD is now at 225b8f0 Merge pull request #​98 from vapor/exists
Resolved version: 1.0.1
Cloning https://github.com/vapor/node.git
HEAD is now at 39b85f7 Merge pull request #​20 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/path-indexable.git
HEAD is now at 0aa6f6e Merge pull request #​7 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/polymorphic.git
HEAD is now at ce69ff3 Merge pull request #​6 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/engine.git
HEAD is now at 1f95094 Merge pull request #​56 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/tls.git
HEAD is now at 0d4da18 Merge pull request #​26 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/socks.git
HEAD is now at 3233dee Merge pull request #​78 from hpux735/master
Resolved version: 1.0.1
Cloning https://github.com/vapor/console.git
HEAD is now at 2bb03a0 Merge pull request #​21 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/vapor/json.git
HEAD is now at f31188c Merge pull request #​15 from vapor/1.0
Resolved version: 1.0.0
Cloning https://github.com/DanToml/Jay.git
HEAD is now at 1c381d7 update travis and version for 3.0 release (#50)
Resolved version: 1.0.0
Cloning https://github.com/stormpath/Turnstile.git
HEAD is now at cab8e99 Merge pull request #​11 from harlanhaskins/master
Resolved version: 1.0.3
Cloning https://github.com/vapor/leaf.git
HEAD is now at ec5f015 Merge pull request #​23 from vapor/1.0
Resolved version: 1.0.0
Compile CLibreSSL xcbc_enc.c
Compile CLibreSSL xts128.c
Compile CLibreSSL x_x509a.c
Compile CLibreSSL x_x509.c
Compile CLibreSSL x_val.c
Compile CLibreSSL x_spki.c
Compile CLibreSSL x_sig.c
Compile CLibreSSL x_req.c
Compile CLibreSSL x_pubkey.c
Compile CLibreSSL x_pkey.c
Compile CLibreSSL x_nx509.c
Compile CLibreSSL x_name.c
Compile CLibreSSL x_long.c
Compile CLibreSSL x_info.c
Compile CLibreSSL x_exten.c
Compile CLibreSSL x_crl.c
Compile CLibreSSL x_bignum.c
Compile CLibreSSL x_attrib.c
Compile CLibreSSL x_all.c
Compile CLibreSSL x_algor.c
Compile CLibreSSL x509type.c
Compile CLibreSSL x509spki.c
Compile CLibreSSL x509rset.c
Compile CLibreSSL x509name.c
Compile CLibreSSL x509cset.c
Compile CLibreSSL x509_vpm.c
Compile CLibreSSL x509_vfy.c
Compile CLibreSSL x509_v3.c
Compile CLibreSSL x509_txt.c
Compile CLibreSSL x509_trs.c
Compile CLibreSSL x509_set.c
Compile CLibreSSL x509_req.c
Compile CLibreSSL x509_r2x.c
Compile CLibreSSL x509_obj.c
Compile CLibreSSL x509_lu.c
Compile CLibreSSL x509_ext.c
Compile CLibreSSL x509_err.c
Compile CLibreSSL x509_def.c
Compile CLibreSSL x509_d2.c
Compile CLibreSSL x509_cmp.c
Compile CLibreSSL x509_att.c
Compile CLibreSSL wp_dgst.c
Compile CLibreSSL wp_block.c
Compile CLibreSSL v3err.c
Compile CLibreSSL v3_utl.c
Compile CLibreSSL v3_sxnet.c
Compile CLibreSSL v3_skey.c
Compile CLibreSSL v3_purp.c
Compile CLibreSSL v3_prn.c
Compile CLibreSSL v3_pmaps.c
Compile CLibreSSL v3_pku.c
Compile CLibreSSL v3_pcons.c
Compile CLibreSSL v3_pcia.c
Compile CLibreSSL v3_pci.c
Compile CLibreSSL v3_ocsp.c
Compile CLibreSSL v3_ncons.c
Compile CLibreSSL v3_lib.c
Compile CLibreSSL v3_int.c
Compile CLibreSSL v3_info.c
Compile CLibreSSL v3_ia5.c
Compile CLibreSSL v3_genn.c
Compile CLibreSSL v3_extku.c
Compile CLibreSSL v3_enum.c
Compile CLibreSSL v3_crld.c
Compile CLibreSSL v3_cpols.c
Compile CLibreSSL v3_conf.c
Compile CLibreSSL v3_bitst.c
Compile CLibreSSL v3_bcons.c
Compile CLibreSSL v3_alt.c
Compile CLibreSSL v3_akeya.c
Compile CLibreSSL v3_akey.c
Compile CLibreSSL ui_util.c
Compile CLibreSSL ui_openssl_win.c
Compile CLibreSSL ui_openssl.c
Compile CLibreSSL ui_lib.c
Compile CLibreSSL ui_err.c
Compile CLibreSSL txt_db.c
Compile CLibreSSL ts_verify_ctx.c
Compile CLibreSSL ts_rsp_verify.c
Compile CLibreSSL ts_rsp_utils.c
Compile CLibreSSL ts_rsp_sign.c
Compile CLibreSSL ts_rsp_print.c
Compile CLibreSSL ts_req_utils.c
Compile CLibreSSL ts_req_print.c
Compile CLibreSSL ts_lib.c
Compile CLibreSSL ts_err.c
Compile CLibreSSL ts_conf.c
Compile CLibreSSL ts_asn1.c
Compile CLibreSSL tls_verify.c
Compile CLibreSSL tls_util.c
Compile CLibreSSL tls_server.c
Compile CLibreSSL tls_peer.c
Compile CLibreSSL tls_conninfo.c
Compile CLibreSSL tls_config.c
Compile CLibreSSL tls_client.c
Compile CLibreSSL tls.c
Compile CLibreSSL timingsafe_memcmp.c
Compile CLibreSSL timingsafe_bcmp.c
Compile CLibreSSL timegm.c
Compile CLibreSSL tb_store.c
Compile CLibreSSL tb_rsa.c
Compile CLibreSSL tb_rand.c
Compile CLibreSSL tb_pkmeth.c
Compile CLibreSSL tb_ecdsa.c
Compile CLibreSSL tb_ecdh.c
Compile CLibreSSL tb_dsa.c
Compile CLibreSSL tb_digest.c
Compile CLibreSSL tb_dh.c
Compile CLibreSSL tb_cipher.c
Compile CLibreSSL tb_asnmth.c
Compile CLibreSSL tasn_utl.c
Compile CLibreSSL tasn_typ.c
Compile CLibreSSL tasn_prn.c
Compile CLibreSSL tasn_new.c
Compile CLibreSSL tasn_fre.c
Compile CLibreSSL tasn_enc.c
Compile CLibreSSL tasn_dec.c
Compile CLibreSSL t_x509a.c
Compile CLibreSSL t_x509.c
Compile CLibreSSL t_spki.c
Compile CLibreSSL t_req.c
Compile CLibreSSL t_pkey.c
Compile CLibreSSL t_crl.c
Compile CLibreSSL t_bitst.c
Compile CLibreSSL t1_srvr.c
Compile CLibreSSL t1_reneg.c
Compile CLibreSSL t1_meth.c
Compile CLibreSSL t1_lib.c
Compile CLibreSSL t1_enc.c
Compile CLibreSSL t1_clnt.c
Compile CLibreSSL strsep.c
Compile CLibreSSL strnlen.c
Compile CLibreSSL strndup.c
Compile CLibreSSL strlcpy.c
Compile CLibreSSL strlcat.c
Compile CLibreSSL streebog.c
Compile CLibreSSL strcasecmp.c
Compile CLibreSSL str2key.c
Compile CLibreSSL stack.c
Compile CLibreSSL ssl_txt.c
Compile CLibreSSL ssl_stat.c
Compile CLibreSSL ssl_sess.c
Compile CLibreSSL ssl_rsa.c
Compile CLibreSSL ssl_lib.c
Compile CLibreSSL ssl_err2.c
Compile CLibreSSL ssl_err.c
Compile CLibreSSL ssl_ciph.c
Compile CLibreSSL ssl_cert.c
Compile CLibreSSL ssl_asn1.c
Compile CLibreSSL ssl_algs.c
Compile CLibreSSL sha512.c
Compile CLibreSSL sha256.c
Compile CLibreSSL sha1dgst.c
Compile CLibreSSL sha1_one.c
Compile CLibreSSL set_key.c
Compile CLibreSSL s3_srvr.c
Compile CLibreSSL s3_pkt.c
Compile CLibreSSL s3_lib.c
Compile CLibreSSL s3_clnt.c
Compile CLibreSSL s3_cbc.c
Compile CLibreSSL s3_both.c
Compile CLibreSSL s23_srvr.c
Compile CLibreSSL s23_pkt.c
Compile CLibreSSL s23_lib.c
Compile CLibreSSL s23_clnt.c
Compile CLibreSSL rsa_x931.c
Compile CLibreSSL rsa_ssl.c
Compile CLibreSSL rsa_sign.c
Compile CLibreSSL rsa_saos.c
Compile CLibreSSL rsa_pss.c
Compile CLibreSSL rsa_prn.c
Compile CLibreSSL rsa_pmeth.c
Compile CLibreSSL rsa_pk1.c
Compile CLibreSSL rsa_oaep.c
Compile CLibreSSL rsa_none.c
Compile CLibreSSL rsa_lib.c
Compile CLibreSSL rsa_gen.c
Compile CLibreSSL rsa_err.c
Compile CLibreSSL rsa_eay.c
Compile CLibreSSL rsa_depr.c
Compile CLibreSSL rsa_crpt.c
Compile CLibreSSL rsa_chk.c
Compile CLibreSSL rsa_asn1.c
Compile CLibreSSL rsa_ameth.c
Compile CLibreSSL rmd_one.c
Compile CLibreSSL rmd_dgst.c
Compile CLibreSSL reallocarray.c
Compile CLibreSSL rc4_skey.c
Compile CLibreSSL rc4_enc.c
Compile CLibreSSL rc2ofb64.c
Compile CLibreSSL rc2cfb64.c
Compile CLibreSSL rc2_skey.c
Compile CLibreSSL rc2_ecb.c
Compile CLibreSSL rc2_cbc.c
Compile CLibreSSL randfile.c
Compile CLibreSSL rand_lib.c
Compile CLibreSSL rand_key.c
Compile CLibreSSL rand_err.c
Compile CLibreSSL qud_cksm.c
Compile CLibreSSL pvkfmt.c
Compile CLibreSSL pqueue.c
Compile CLibreSSL posix_win.c
Compile CLibreSSL poly1305.c
Compile CLibreSSL poly1305-donna.c
Compile CLibreSSL pmeth_lib.c
Compile CLibreSSL pmeth_gn.c
Compile CLibreSSL pmeth_fn.c
Compile CLibreSSL pkcs7err.c
Compile CLibreSSL pk7_smime.c
Compile CLibreSSL pk7_mime.c
Compile CLibreSSL pk7_lib.c
Compile CLibreSSL pk7_doit.c
Compile CLibreSSL pk7_attr.c
Compile CLibreSSL pk7_asn1.c
Compile CLibreSSL pk12err.c
Compile CLibreSSL pem_xaux.c
Compile CLibreSSL pem_x509.c
Compile CLibreSSL pem_sign.c
Compile CLibreSSL pem_seal.c
Compile CLibreSSL pem_pkey.c
Compile CLibreSSL pem_pk8.c
Compile CLibreSSL pem_oth.c
Compile CLibreSSL pem_lib.c
Compile CLibreSSL pem_info.c
Compile CLibreSSL pem_err.c
Compile CLibreSSL pem_all.c
Compile CLibreSSL pcy_tree.c
Compile CLibreSSL pcy_node.c
Compile CLibreSSL pcy_map.c
Compile CLibreSSL pcy_lib.c
Compile CLibreSSL pcy_data.c
Compile CLibreSSL pcy_cache.c
Compile CLibreSSL pcbc_enc.c
Compile CLibreSSL p_verify.c
Compile CLibreSSL p_sign.c
Compile CLibreSSL p_seal.c
Compile CLibreSSL p_open.c
Compile CLibreSSL p_lib.c
Compile CLibreSSL p_enc.c
Compile CLibreSSL p_dec.c
Compile CLibreSSL p8_pkey.c
Compile CLibreSSL p5_pbev2.c
Compile CLibreSSL p5_pbe.c
Compile CLibreSSL p5_crpt2.c
Compile CLibreSSL p5_crpt.c
Compile CLibreSSL p12_utl.c
Compile CLibreSSL p12_p8e.c
Compile CLibreSSL p12_p8d.c
Compile CLibreSSL p12_npas.c
Compile CLibreSSL p12_mutl.c
Compile CLibreSSL p12_kiss.c
Compile CLibreSSL p12_key.c
Compile CLibreSSL p12_init.c
Compile CLibreSSL p12_decr.c
Compile CLibreSSL p12_crt.c
Compile CLibreSSL p12_crpt.c
Compile CLibreSSL p12_attr.c
Compile CLibreSSL p12_asn.c
Compile CLibreSSL p12_add.c
Compile CLibreSSL ofb_enc.c
Compile CLibreSSL ofb64enc.c
Compile CLibreSSL ofb64ede.c
Compile CLibreSSL ofb128.c
Compile CLibreSSL ocsp_vfy.c
Compile CLibreSSL ocsp_srv.c
Compile CLibreSSL ocsp_prn.c
Compile CLibreSSL ocsp_lib.c
Compile CLibreSSL ocsp_ht.c
Compile CLibreSSL ocsp_ext.c
Compile CLibreSSL ocsp_err.c
Compile CLibreSSL ocsp_cl.c
Compile CLibreSSL ocsp_asn.c
Compile CLibreSSL obj_xref.c
Compile CLibreSSL obj_lib.c
Compile CLibreSSL obj_err.c
Compile CLibreSSL obj_dat.c
Compile CLibreSSL o_time.c
Compile CLibreSSL o_str.c
Compile CLibreSSL o_names.c
Compile CLibreSSL o_init.c
Compile CLibreSSL nsseq.c
Compile CLibreSSL ncbc_enc.c
Compile CLibreSSL names.c
Compile CLibreSSL n_pkey.c
Compile CLibreSSL mem_dbg.c
Compile CLibreSSL mem_clr.c
Compile CLibreSSL md5_one.c
Compile CLibreSSL md5_dgst.c
Compile CLibreSSL md4_one.c
Compile CLibreSSL md4_dgst.c
Compile CLibreSSL malloc-wrapper.c
Compile CLibreSSL m_wp.c
Compile CLibreSSL m_streebog.c
Compile CLibreSSL m_sigver.c
Compile CLibreSSL m_sha1.c
Compile CLibreSSL m_ripemd.c
Compile CLibreSSL m_null.c
Compile CLibreSSL m_md5.c
Compile CLibreSSL m_md4.c
Compile CLibreSSL m_gostr341194.c
Compile CLibreSSL m_gost2814789.c
Compile CLibreSSL m_ecdsa.c
Compile CLibreSSL m_dss1.c
Compile CLibreSSL m_dss.c
Compile CLibreSSL lhash.c
Compile CLibreSSL lh_stats.c
Compile CLibreSSL krb5_asn.c
Compile CLibreSSL inet_pton.c
Compile CLibreSSL i_skey.c
Compile CLibreSSL i_ofb64.c
Compile CLibreSSL i_ecb.c
Compile CLibreSSL i_cfb64.c
Compile CLibreSSL i_cbc.c
Compile CLibreSSL i2d_pu.c
Compile CLibreSSL i2d_pr.c
Compile CLibreSSL hmac.c
Compile CLibreSSL hm_pmeth.c
Compile CLibreSSL hm_ameth.c
Compile CLibreSSL gostr341194.c
Compile CLibreSSL gostr341001_pmeth.c
Compile CLibreSSL gostr341001_params.c
Compile CLibreSSL gostr341001_key.c
Compile CLibreSSL gostr341001_ameth.c
Compile CLibreSSL gostr341001.c
Compile CLibreSSL gost_err.c
Compile CLibreSSL gost_asn1.c
Compile CLibreSSL gost89imit_pmeth.c
Compile CLibreSSL gost89imit_ameth.c
Compile CLibreSSL gost89_params.c
Compile CLibreSSL gost89_keywrap.c
Compile CLibreSSL gost2814789.c
Compile CLibreSSL getentropy_win.c
Compile CLibreSSL getentropy_solaris.c
Compile CLibreSSL getentropy_osx.c
Compile CLibreSSL getentropy_netbsd.c
Compile CLibreSSL getentropy_linux.c
Compile CLibreSSL getentropy_hpux.c
Compile CLibreSSL getentropy_freebsd.c
Compile CLibreSSL getentropy_aix.c
Compile CLibreSSL gcm128.c
Compile CLibreSSL fcrypt_b.c
Compile CLibreSSL fcrypt.c
Compile CLibreSSL f_string.c
Compile CLibreSSL f_int.c
Compile CLibreSSL f_enum.c
Compile CLibreSSL explicit_bzero_win.c
Compile CLibreSSL explicit_bzero.c
Compile CLibreSSL ex_data.c
Compile CLibreSSL evp_pkey.c
Compile CLibreSSL evp_pbe.c
Compile CLibreSSL evp_lib.c
Compile CLibreSSL evp_key.c
Compile CLibreSSL evp_err.c
Compile CLibreSSL evp_enc.c
Compile CLibreSSL evp_asn1.c
Compile CLibreSSL evp_aead.c
Compile CLibreSSL err_prn.c
Compile CLibreSSL err_all.c
Compile CLibreSSL err.c
Compile CLibreSSL eng_table.c
Compile CLibreSSL eng_pkey.c
Compile CLibreSSL eng_openssl.c
Compile CLibreSSL eng_list.c
Compile CLibreSSL eng_lib.c
Compile CLibreSSL eng_init.c
Compile CLibreSSL eng_fat.c
Compile CLibreSSL eng_err.c
Compile CLibreSSL eng_dyn.c
Compile CLibreSSL eng_ctrl.c
Compile CLibreSSL eng_cnf.c
Compile CLibreSSL eng_all.c
Compile CLibreSSL encode.c
Compile CLibreSSL enc_writ.c
Compile CLibreSSL enc_read.c
Compile CLibreSSL ede_cbcm_enc.c
Compile CLibreSSL ecs_vrf.c
Compile CLibreSSL ecs_sign.c
Compile CLibreSSL ecs_ossl.c
Compile CLibreSSL ecs_lib.c
Compile CLibreSSL ecs_err.c
Compile CLibreSSL ecs_asn1.c
Compile CLibreSSL ecp_smpl.c
Compile CLibreSSL ecp_oct.c
Compile CLibreSSL ecp_nist.c
Compile CLibreSSL ecp_mont.c
Compile CLibreSSL eck_prn.c
Compile CLibreSSL ech_lib.c
Compile CLibreSSL ech_key.c
Compile CLibreSSL ech_err.c
Compile CLibreSSL ecb_enc.c
Compile CLibreSSL ecb3_enc.c
Compile CLibreSSL ec_print.c
Compile CLibreSSL ec_pmeth.c
Compile CLibreSSL ec_oct.c
Compile CLibreSSL ec_mult.c
Compile CLibreSSL ec_lib.c
Compile CLibreSSL ec_key.c
Compile CLibreSSL ec_err.c
Compile CLibreSSL ec_cvt.c
Compile CLibreSSL ec_curve.c
Compile CLibreSSL ec_check.c
Compile CLibreSSL ec_asn1.c
Compile CLibreSSL ec_ameth.c
Compile CLibreSSL ec2_smpl.c
Compile CLibreSSL ec2_oct.c
Compile CLibreSSL ec2_mult.c
Compile CLibreSSL e_xcbc_d.c
Compile CLibreSSL e_rc4_hmac_md5.c
Compile CLibreSSL e_rc4.c
Compile CLibreSSL e_rc2.c
Compile CLibreSSL e_old.c
Compile CLibreSSL e_null.c
Compile CLibreSSL e_idea.c
Compile CLibreSSL e_gost2814789.c
Compile CLibreSSL e_des3.c
Compile CLibreSSL e_des.c
Compile CLibreSSL e_chacha20poly1305.c
Compile CLibreSSL e_chacha.c
Compile CLibreSSL e_cast.c
Compile CLibreSSL e_camellia.c
Compile CLibreSSL e_bf.c
Compile CLibreSSL e_aes_cbc_hmac_sha1.c
Compile CLibreSSL e_aes.c
Compile CLibreSSL dso_openssl.c
Compile CLibreSSL dso_null.c
Compile CLibreSSL dso_lib.c
Compile CLibreSSL dso_err.c
Compile CLibreSSL dso_dlfcn.c
Compile CLibreSSL dsa_vrf.c
Compile CLibreSSL dsa_sign.c
Compile CLibreSSL dsa_prn.c
Compile CLibreSSL dsa_pmeth.c
Compile CLibreSSL dsa_ossl.c
Compile CLibreSSL dsa_lib.c
Compile CLibreSSL dsa_key.c
Compile CLibreSSL dsa_gen.c
Compile CLibreSSL dsa_err.c
Compile CLibreSSL dsa_depr.c
Compile CLibreSSL dsa_asn1.c
Compile CLibreSSL dsa_ameth.c
Compile CLibreSSL digest.c
Compile CLibreSSL dh_prn.c
Compile CLibreSSL dh_pmeth.c
Compile CLibreSSL dh_lib.c
Compile CLibreSSL dh_key.c
Compile CLibreSSL dh_gen.c
Compile CLibreSSL dh_err.c
Compile CLibreSSL dh_depr.c
Compile CLibreSSL dh_check.c
Compile CLibreSSL dh_asn1.c
Compile CLibreSSL dh_ameth.c
Compile CLibreSSL des_enc.c
Compile CLibreSSL d2i_pu.c
Compile CLibreSSL d2i_pr.c
Compile CLibreSSL d1_srvr.c
Compile CLibreSSL d1_srtp.c
Compile CLibreSSL d1_pkt.c
Compile CLibreSSL d1_meth.c
Compile CLibreSSL d1_lib.c
Compile CLibreSSL d1_enc.c
Compile CLibreSSL d1_clnt.c
Compile CLibreSSL d1_both.c
Compile CLibreSSL cversion.c
Compile CLibreSSL cts128.c
Compile CLibreSSL ctr128.c
Compile CLibreSSL cryptlib.c
Compile CLibreSSL cpt_err.c
Compile CLibreSSL conf_sap.c
Compile CLibreSSL conf_mod.c
Compile CLibreSSL conf_mall.c
Compile CLibreSSL conf_lib.c
Compile CLibreSSL conf_err.c
Compile CLibreSSL conf_api.c
Compile CLibreSSL conf_def.c
Compile CLibreSSL comp_lib.c
Compile CLibreSSL comp_err.c
Compile CLibreSSL cmll_ofb.c
Compile CLibreSSL cmll_misc.c
Compile CLibreSSL cmll_ecb.c
Compile CLibreSSL cmll_ctr.c
Compile CLibreSSL cmll_cfb.c
Compile CLibreSSL cmll_cbc.c
Compile CLibreSSL cmac.c
Compile CLibreSSL cm_pmeth.c
Compile CLibreSSL cm_ameth.c
Compile CLibreSSL chacha.c
Compile CLibreSSL chacha-merged.c
Compile CLibreSSL cfb_enc.c
Compile CLibreSSL cfb64enc.c
Compile CLibreSSL cfb64ede.c
Compile CLibreSSL cfb128.c
Compile CLibreSSL ccm128.c
Compile CLibreSSL cbc_enc.c
Compile CLibreSSL cbc_cksm.c
Compile CLibreSSL cbc128.c
Compile CLibreSSL camellia.c
Compile CLibreSSL c_zlib.c
Compile CLibreSSL c_skey.c
Compile CLibreSSL c_rle.c
Compile CLibreSSL c_ofb64.c
Compile CLibreSSL c_enc.c
Compile CLibreSSL c_ecb.c
Compile CLibreSSL c_cfb64.c
Compile CLibreSSL c_all.c
Compile CLibreSSL by_mem.c
Compile CLibreSSL by_file.c
Compile CLibreSSL by_dir.c
Compile CLibreSSL buffer.c
Compile CLibreSSL buf_str.c
Compile CLibreSSL buf_err.c
Compile CLibreSSL bss_sock.c
Compile CLibreSSL bss_null.c
Compile CLibreSSL bss_mem.c
Compile CLibreSSL bss_log.c
Compile CLibreSSL bss_file.c
Compile CLibreSSL bss_fd.c
Compile CLibreSSL bss_dgram.c
Compile CLibreSSL bss_conn.c
Compile CLibreSSL bss_bio.c
Compile CLibreSSL bss_acpt.c
Compile CLibreSSL bsd-asprintf.c
Compile CLibreSSL bs_cbs.c
Compile CLibreSSL bs_cbb.c
Compile CLibreSSL bs_ber.c
Compile CLibreSSL bn_x931p.c
Compile CLibreSSL bn_word.c
Compile CLibreSSL bn_sqrt.c
Compile CLibreSSL bn_sqr.c
Compile CLibreSSL bn_shift.c
Compile CLibreSSL bn_recp.c
Compile CLibreSSL bn_rand.c
Compile CLibreSSL bn_print.c
Compile CLibreSSL bn_prime.c
Compile CLibreSSL bn_nist.c
Compile CLibreSSL bn_mul.c
Compile CLibreSSL bn_mpi.c
Compile CLibreSSL bn_mont.c
Compile CLibreSSL bn_mod.c
Compile CLibreSSL bn_lib.c
Compile CLibreSSL bn_kron.c
Compile CLibreSSL bn_gf2m.c
Compile CLibreSSL bn_gcd.c
Compile CLibreSSL bn_exp2.c
Compile CLibreSSL bn_exp.c
Compile CLibreSSL bn_err.c
Compile CLibreSSL bn_div.c
Compile CLibreSSL bn_depr.c
Compile CLibreSSL bn_ctx.c
Compile CLibreSSL bn_const.c
Compile CLibreSSL bn_blind.c
Compile CLibreSSL bn_asm.c
Compile CLibreSSL bn_add.c
Compile CLibreSSL bio_ssl.c
Compile CLibreSSL bio_pk7.c
Compile CLibreSSL bio_ndef.c
Compile CLibreSSL bio_md.c
Compile CLibreSSL bio_lib.c
Compile CLibreSSL bio_err.c
Compile CLibreSSL bio_enc.c
Compile CLibreSSL bio_cb.c
Compile CLibreSSL bio_b64.c
Compile CLibreSSL bio_asn1.c
Compile CLibreSSL bf_skey.c
Compile CLibreSSL bf_ofb64.c
Compile CLibreSSL bf_null.c
Compile CLibreSSL bf_nbio.c
Compile CLibreSSL bf_enc.c
Compile CLibreSSL bf_ecb.c
Compile CLibreSSL bf_cfb64.c
Compile CLibreSSL bf_buff.c
Compile CLibreSSL b_win.c
Compile CLibreSSL b_sock.c
Compile CLibreSSL b_print.c
Compile CLibreSSL b_posix.c
Compile CLibreSSL b_dump.c
Compile CLibreSSL asn_pack.c
Compile CLibreSSL asn_moid.c
Compile CLibreSSL asn_mime.c
Compile CLibreSSL asn1_par.c
Compile CLibreSSL asn1_lib.c
Compile CLibreSSL asn1_gen.c
Compile CLibreSSL asn1_err.c
Compile CLibreSSL arc4random_uniform.c
Compile CLibreSSL arc4random.c
Compile CLibreSSL ameth_lib.c
Compile CLibreSSL aes_wrap.c
Compile CLibreSSL aes_ofb.c
Compile CLibreSSL aes_misc.c
Compile CLibreSSL aes_ige.c
Compile CLibreSSL aes_ecb.c
Compile CLibreSSL aes_ctr.c
Compile CLibreSSL aes_core.c
Compile CLibreSSL aes_cfb.c
Compile CLibreSSL aes_cbc.c
Compile CLibreSSL a_verify.c
Compile CLibreSSL a_utf8.c
Compile CLibreSSL a_type.c
Compile CLibreSSL a_time_tm.c
Compile CLibreSSL a_time.c
Compile CLibreSSL a_strnid.c
Compile CLibreSSL a_strex.c
Compile CLibreSSL a_sign.c
Compile CLibreSSL a_set.c
Compile CLibreSSL a_print.c
Compile CLibreSSL a_octet.c
Compile CLibreSSL a_object.c
Compile CLibreSSL a_mbstr.c
Compile CLibreSSL a_int.c
Compile CLibreSSL a_i2d_fp.c
Compile CLibreSSL a_enum.c
Compile CLibreSSL a_dup.c
Compile CLibreSSL a_digest.c
Compile CLibreSSL a_d2i_fp.c
Compile CLibreSSL a_bytes.c
Compile CLibreSSL a_bool.c
Compile CLibreSSL a_bitstr.c
Compile Swift Module 'Polymorphic' (2 sources)
Compile Swift Module 'PathIndexable' (2 sources)
Compile Swift Module 'libc' (1 sources)
Compile Swift Module 'TurnstileCrypto' (3 sources)
Compile Swift Module 'Jay' (21 sources)
Compile Swift Module 'SocksCore' (14 sources)
Linking CLibreSSL
Compile Swift Module 'Node' (22 sources)
Compile Swift Module 'Fluent' (35 sources)
Compile Swift Module 'Core' (28 sources)
Compile Swift Module 'Socks' (5 sources)
Compile Swift Module 'Leaf' (33 sources)
Compile Swift Module 'JSON' (7 sources)
Compile Swift Module 'Console' (34 sources)
Compile Swift Module 'TLS' (7 sources)
Compile Swift Module 'Essentials' (2 sources)
Compile Swift Module 'Turnstile' (13 sources)
Compile Swift Module 'Random' (3 sources)
Compile Swift Module 'Cipher' (2 sources)
Compile Swift Module 'TurnstileWeb' (8 sources)
Compile Swift Module 'HMAC' (2 sources)
Compile Swift Module 'Hash' (3 sources)
Compile Swift Module 'BCrypt' (1 sources)
Compile Swift Module 'Transport' (8 sources)
Compile Swift Module 'URI' (9 sources)
Compile Swift Module 'HTTP' (33 sources)
Compile Swift Module 'SMTP' (21 sources)
Compile Swift Module 'WebSockets' (14 sources)
Compile Swift Module 'Settings' (10 sources)
Compile Swift Module 'Cookies' (11 sources)
Compile Swift Module 'Cache' (3 sources)
Compile Swift Module 'Routing' (9 sources)
Compile Swift Module 'Sessions' (6 sources)
Compile Swift Module 'Auth' (14 sources)
Compile Swift Module 'HTTPRouting' (5 sources)
Compile Swift Module 'TypeSafeRouting' (3 sources)
Compile Swift Module 'Vapor' (83 sources)
Compile Swift Module 'App' (3 sources)
Linking ./.build/debug/App
Gertrude:Hello tanner$ swift build
Compile Swift Module 'TurnstileCrypto' (3 sources)
Compile Swift Module 'Jay' (21 sources)
Compile Swift Module 'Fluent' (35 sources)
Compile Swift Module 'Core' (28 sources)
Compile Swift Module 'TLS' (7 sources)
Compile Swift Module 'Console' (34 sources)
Compile Swift Module 'Leaf' (33 sources)
Compile Swift Module 'Essentials' (2 sources)
Compile Swift Module 'JSON' (7 sources)
Compile Swift Module 'Random' (3 sources)
Compile Swift Module 'Cipher' (2 sources)
Compile Swift Module 'Turnstile' (13 sources)
Compile Swift Module 'TurnstileWeb' (8 sources)
Compile Swift Module 'HMAC' (2 sources)
Compile Swift Module 'Hash' (3 sources)
Compile Swift Module 'BCrypt' (1 sources)
Compile Swift Module 'URI' (9 sources)
Compile Swift Module 'Transport' (8 sources)
Compile Swift Module 'SMTP' (21 sources)
Compile Swift Module 'HTTP' (33 sources)
Compile Swift Module 'WebSockets' (14 sources)
Compile Swift Module 'Cache' (3 sources)
Compile Swift Module 'Cookies' (11 sources)
Compile Swift Module 'Routing' (9 sources)
Compile Swift Module 'Settings' (10 sources)
Compile Swift Module 'Auth' (14 sources)
Compile Swift Module 'Sessions' (6 sources)
Compile Swift Module 'HTTPRouting' (5 sources)
Compile Swift Module 'TypeSafeRouting' (3 sources)
Compile Swift Module 'Vapor' (83 sources)
Compile Swift Module 'App' (3 sources)
Linking ./.build/debug/App
swift-ci commented 8 years ago

Comment by yuuji (JIRA)

In my other project, I write the modulemap like below and it solves the problem.

module CFoo {
   header "CFoo.h"
   export *
}

I guess it's because Xcode is trying to find and link the shared library (form the line `link "CLibreSSL"`), which it either never exist nor Xcode has not hint how to find it.

In Swift PM the package manager will automatically generate a libCFoo.dylib under .build/debug after building the library that other dependencies can link with. But in Xcode it's not the case: It will only follow project configuration.

You can add "-L/path/to/your/project/.build/debug/" to "Other Linker Flags" under [Build Setting/Linking] in Xcode. (require you build the C library using the cmd at least once") or simply rewrite the modulemap not to link to "CLibreSSL".

ddunbar commented 8 years ago

Dup

swift-ci commented 8 years ago

Comment by tanner0101 (JIRA)

Please link the dup issue

ddunbar commented 8 years ago

I thought I had, I guess it got lost somehow sorry about that.