Spotted during the macppc bulk, multimedia/synfigstudio does not build,
because of synfig:

> synfig(59818) [05:20:15] info: Loading file: synfig_icon.sif
> gmake[2]: Leaving directory 
> '/usr/obj/ports/synfigstudio-1.2.1/synfigstudio-1.2.1/images'
> gmake[2]: *** [Makefile:1414: 128x128/synfig_icon.png] Segmentation fault 
> (core dumped)

Also mips64 is impacted:

> http://build-failures.rhaalovely.net/mips64/2020-04-02/multimedia/synfigstudio.log

Upstream fixed the issue already [0]

This does not fix synfigstudio's build on macppc, because synfig
segfaults there in multi-threaded mode [1]. It was the case with gcc
already, but clang exposes it even more. Due to the high build time
implied, i would like to see synfig marked BROKEN-powerpc.

Comments/feedback are welcome,

Charlène.


[0] 
https://github.com/synfig/synfig/commit/02a02d759ebeb6458c4f05ea90dde0caa52ce321
[1] https://bin.charlenew.xyz/macppc/paths/multimedia/synfigstudio.log


Index: Makefile
===================================================================
RCS file: /cvs/ports/multimedia/synfig/Makefile,v
retrieving revision 1.30
diff -u -p -u -p -r1.30 Makefile
--- Makefile    10 Nov 2019 15:32:56 -0000      1.30
+++ Makefile    22 Apr 2020 05:41:57 -0000
@@ -1,11 +1,13 @@
 # $OpenBSD: Makefile,v 1.30 2019/11/10 15:32:56 ajacoutot Exp $
 
+BROKEN-powerpc =       segfault in multi-threaded mode, synfigstudio can't be 
built
+
 COMMENT =              2D animation software
 
 V=                     1.2.1
 DISTNAME =             synfig-$V
 API_V =                        1.0
-REVISION =             4
+REVISION =             5
 
 SHARED_LIBS +=  synfig                    2.0 # 0.0
 
Index: patches/patch-src_synfig_filesystem_cpp
===================================================================
RCS file: patches/patch-src_synfig_filesystem_cpp
diff -N patches/patch-src_synfig_filesystem_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_synfig_filesystem_cpp     22 Apr 2020 05:41:57 -0000
@@ -0,0 +1,17 @@
+$OpenBSD$
+
+Fix segfaults during the build of multimedia/synfigstudio, from
+https://github.com/synfig/synfig/issues/822
+
+Index: src/synfig/filesystem.cpp
+--- src/synfig/filesystem.cpp.orig
++++ src/synfig/filesystem.cpp
+@@ -181,7 +181,7 @@ String FileSystem::fix_slashes(const String &filename)
+ {
+       String fixed = etl::cleanup_path(filename);
+       if (fixed == ".") fixed = "";
+-      for(size_t i = 0; i < filename.size(); ++i)
++      for(size_t i = 0; i < fixed.size(); ++i)
+               if (fixed[i] == '\\') fixed[i] = '/';
+       return fixed;
+ }

Reply via email to