diff --git a/src/package.rs b/src/package.rs
index d4cac4d..e5fcab4 100644
--- a/src/package.rs
+++ b/src/package.rs
@@ -4,10 +4,11 @@
 
 use crate::{
     sdk::{
-        amber_path, cmc_path, fuchsia_dir, package_manager_path, zircon_build_path, FuchsiaConfig,
-        TargetOptions,
+        amber_path, clang_base_path, cmc_path, fuchsia_dir, package_manager_path,
+        shared_libraries_path, zircon_build_path, FuchsiaConfig, TargetOptions,
     },
     utils::strip_binary,
+    get_triple_cpu,
 };
 use failure::{bail, format_err, Error, ResultExt};
 use serde_json::json;
@@ -81,8 +82,11 @@
     if verbose {
         println!("write_manifest_file: target = {:#?}", target);
     }
+    let triple = get_triple_cpu(target_options);
     let mut manifest = File::create(&target)?;
     let zircon_build = zircon_build_path(&target_options.config)?;
+    let shared_libraries_path = shared_libraries_path(target_options)?;
+    let shared_libraries_str = shared_libraries_path.to_string_lossy();
     let libc_path = format!(
         "{}/user-{}-clang.shlib/obj/system/ulib/c/libc.so",
         zircon_build.to_string_lossy(),
@@ -98,12 +102,44 @@
         zircon_build.to_string_lossy(),
         target_options.config.fuchsia_arch
     );
+    let libtraceengine_path = format!(
+        "{}/user-{}-clang.shlib/obj/system/ulib/trace-engine/libtrace-engine.so",
+        zircon_build.to_string_lossy(),
+        target_options.config.fuchsia_arch
+    );
+    let libasync_path = format!(
+        "{}/user-{}-clang.shlib/obj/system/ulib/async/libasync-default.so",
+        zircon_build.to_string_lossy(),
+        target_options.config.fuchsia_arch
+    );
+    let libcpp2_path = format!(
+        "{}/lib/{}-unknown-fuchsia/c++/libc++.so.2",
+        clang_base_path()?.to_string_lossy(),
+        triple,
+    );
+    let libcpp1abi_path = format!(
+        "{}/lib/{}-unknown-fuchsia/c++/libc++abi.so.1",
+        clang_base_path()?.to_string_lossy(),
+        triple,
+    );
+    let libunwind_path = format!(
+        "{}/lib/{}-unknown-fuchsia/c++/libunwind.so.1",
+        clang_base_path()?.to_string_lossy(),
+        triple,
+    );
+
     writeln!(
         manifest,
         r#"bin/{}={}
 lib/ld.so.1={}
 lib/libfdio.so={}
 lib/libsyslog.so={}
+lib/librust-trace-provider.so={}/librust-trace-provider.so
+lib/libtrace-engine.so={}
+lib/libasync-default.so={}
+lib/libc++.so.2={}
+lib/libc++abi.so.1={}
+lib/libunwind.so.1={}
 meta/package={}
 meta/{}.cmx={}
 "#,
@@ -112,6 +148,12 @@
         libc_path,
         fdio_path,
         libsyslog_path,
+        shared_libraries_str,
+        libtraceengine_path,
+        libasync_path,
+        libcpp2_path,
+        libcpp1abi_path,
+        libunwind_path,
         package_path.to_string_lossy(),
         package_name,
         cmx_path.to_string_lossy(),
