This is slightly faster and clearer than --include=* or --exclude=*
* Speed up git-annex upgrade (from v5) and init in a repository that has
submodules.
+ * Added libgcc_s.so.1 to the linux standalone build so pthread_cancel
+ will work.
-- Joey Hess <id@joeyh.name> Mon, 12 Dec 2022 13:04:54 -0400
Build/InstallDesktopFile: Build/InstallDesktopFile.hs
$(GHC) --make $@ -Wall -fno-warn-tabs
-Build/Standalone: Build/Standalone.hs tmp/configure-stamp
+Build/Standalone: Build/Standalone.hs Build/LinuxMkLibs.hs Utility/LinuxMkLibs.hs tmp/configure-stamp
$(GHC) --make $@ -Wall -fno-warn-tabs
Build/BuildVersion: Build/BuildVersion.hs
$(GHC) --make $@ -Wall -fno-warn-tabs
where
getlib l = headMaybe . words =<< lastMaybe (split " => " l)
-{- Get all glibc libs.
+{- Get all glibc libs, and also libgcc_s
-
- XXX Debian specific. -}
glibcLibs :: IO [FilePath]
-glibcLibs = lines <$> readProcess "sh"
- ["-c", "dpkg -L libc6:$(dpkg --print-architecture) | egrep '\\.so' | grep -v /gconv/ | grep -v ld.so.conf | grep -v sotruss-lib"]
+glibcLibs = do
+ ls <- lines <$> readProcess "sh"
+ ["-c", "dpkg -L libc6:$(dpkg --print-architecture) | egrep '\\.so' | grep -v /gconv/ | grep -v ld.so.conf | grep -v sotruss-lib"]
+ ls2 <- lines <$> readProcess "sh"
+ ["-c", "dpkg -L libgcc-s1:$(dpkg --print-architecture) | egrep '\\.so'"]
+ return (ls++ls2)
{- Get gblibc's gconv libs, which are handled specially.. -}
gconvLibs :: IO [FilePath]
[[!meta author=yoh]]
[[!tag projects/dandi]]
+
+> [[fixed|done]] --[[Joey]]
--- /dev/null
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2022-12-22T18:38:32Z"
+ content="""
+I'm a bit surprised git-annex is using `pthread_cancel`, since `strings`
+does not show it contains that symbol. Perhaps one of the other pthread
+symbols it uses ends up calling that.
+
+It does seem though from the message that it's git-annex and not a program
+it runs that is core dumping on this. Also I checked, and the rclone you
+installed is a statically linked binary so I would not expect it to use
+`libgcc_s.so`. And And git-annex-remote-rclone is a bash script, and bash
+doesn't use pthreads.
+
+(I do think that, in general, using the git-annex standalone tarball and
+then trying to run additional programs besides git-annex inside it is not
+going to always work well. Standalone interposes its own versions of libraries,
+which may not work with the other programs. There is already a todo about that,
+[[todo/restore_original_environment_when_running_external_special_remotes_from_standalone_git-annex__63__]].)
+
+I've added `libgcc_s.so.1` to the standalone build.
+"""]]