Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

published [email protected] fails to build and link against native library #71

@Nemo157

Description

@Nemo157

Example:

> cargo download -x sass-sys
INFO: cargo-download v0.1.2
INFO: Latest version of crate sass-sys=* is 0.4.20
INFO: Crate `sass-sys==0.4.20` downloaded successfully
INFO: Crate content extracted to ./sass-sys-0.4.20/

> cd sass-sys-0.4.20

> cargo build -vv
[...]
   Compiling sass-sys v0.4.20 (/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20)
     Running `CARGO=/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo CARGO_MANIFEST_DIR=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20 CARGO_PKG_AUTHORS='Marius Seritan <[email protected]>:Vincent Prouillet <[email protected]>' CARGO_PKG_DESCRIPTION='Low level binding for the Sass library' CARGO_PKG_HOMEPAGE='https://github.com/compass-rs/sass-rs' CARGO_PKG_NAME=sass-sys CARGO_PKG_REPOSITORY='https://github.com/compass-rs/sass-rs.git' CARGO_PKG_VERSION=0.4.20 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=4 CARGO_PKG_VERSION_PATCH=20 CARGO_PKG_VERSION_PRE= LD_LIBRARY_PATH='/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps:/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib' rustc --crate-name build_script_build build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -Cembed-bitcode=no -C debuginfo=2 -C metadata=381602533f1d4ffa -C extra-filename=-381602533f1d4ffa --out-dir /tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/build/sass-sys-381602533f1d4ffa -C incremental=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/incremental -L dependency=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps --extern num_cpus=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps/libnum_cpus-1ad81d08984cdbab.rlib --extern pkg_config=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps/libpkg_config-024e3ab7d35f04aa.rlib`
     Running `/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/build/sass-sys-381602533f1d4ffa/build-script-build`
[sass-sys 0.4.20] fatal: not a git repository (or any parent up to mount point /)
[sass-sys 0.4.20] Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
     Running `CARGO=/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo CARGO_MANIFEST_DIR=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20 CARGO_PKG_AUTHORS='Marius Seritan <[email protected]>:Vincent Prouillet <[email protected]>' CARGO_PKG_DESCRIPTION='Low level binding for the Sass library' CARGO_PKG_HOMEPAGE='https://github.com/compass-rs/sass-rs' CARGO_PKG_NAME=sass-sys CARGO_PKG_REPOSITORY='https://github.com/compass-rs/sass-rs.git' CARGO_PKG_VERSION=0.4.20 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=4 CARGO_PKG_VERSION_PATCH=20 CARGO_PKG_VERSION_PRE= LD_LIBRARY_PATH='/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps:/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib:/home/nemo157/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib' OUT_DIR=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/build/sass-sys-855fe86c8e567e15/out rustc --crate-name sass_sys src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -Cembed-bitcode=no -C debuginfo=2 -C metadata=786030e66d118754 -C extra-filename=-786030e66d118754 --out-dir /tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps -C incremental=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/incremental -L dependency=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps --extern libc=/tmp/tmp.kVOrWJwYdA/sass-sys-0.4.20/target/debug/deps/liblibc-168e700d4fe57208.rmeta`
    Finished dev [unoptimized + debuginfo] target(s) in 1.37s

> tree target/debug/build/sass-sys*
target/debug/build/sass-sys-381602533f1d4ffa
├── build-script-build
├── build_script_build-381602533f1d4ffa
└── build_script_build-381602533f1d4ffa.d
target/debug/build/sass-sys-855fe86c8e567e15
├── invoked.timestamp
├── out
├── output
├── root-output
└── stderr

1 directory, 7 files

The .git directory is (correctly) not published as part of the package, so the build script returns at

if !Path::new("libsass/.git").exists() {

This means there is no native library built in the OUT_DIR, and the rustc-link-{search,lib} commands are not output, so the compiler does not attempt to link against it, resulting in errors when building applications like

          /usr/bin/ld: /home/nemo157/sources/docs.rs/target/debug/deps/libsass_rs-14c2270bd1f1822c.rlib(sass_rs-14c2270bd1f1822c.sass_rs.5hp5sijh-cgu.7.rcgu.o): in function `<sass_rs::bindings::context::Context as core::ops::drop::Drop>::drop':
          /home/nemo157/.cargo/registry/src/git.colasdn.top-1ecc6299db9ec823/sass-rs-0.2.2/src/bindings/context.rs:143: undefined reference to `sass_delete_file_context'
          /usr/bin/ld: /home/nemo157/.cargo/registry/src/git.colasdn.top-1ecc6299db9ec823/sass-rs-0.2.2/src/bindings/context.rs:146: undefined reference to `sass_delete_data_context'
          collect2: error: ld returned 1 exit status

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions