tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

py-z3 on macppc 10.0



Hi,

in my quest to mop up build failures from an ongoing pkgsrc bulk
build on NetBSD/macppc 10.0, I came to the py-ze package.

This one fails differently from those other packages which just
need mk/atomic64.mk included, ref.:

[  2%] Building CXX object src/util/CMakeFiles/util.dir/mpff.cpp.o
[  2%] Building CXX object src/util/CMakeFiles/util.dir/mpfx.cpp.o
In file included from /usr/include/g++/bits/gthr-posix.h:35,
                 from /usr/include/g++/bits/gthr.h:148,
                 from /usr/include/g++/ext/atomicity.h:35,
                 from /usr/include/g++/bits/ios_base.h:39,
                 from /usr/include/g++/ios:42,
                 from /usr/include/g++/istream:38,
                 from /usr/include/g++/sstream:38,
                 from /usr/pkgsrc/math/py-z3/work/z3-z3-4.13.0/src/util/mpfx.cpp:20:
/usr/include/pthread.h:333:1: internal compiler error: Segmentation fault
  333 | __BEGIN_DECLS
      | ^~~~~~~~~~~~~
no stack trace because unwind library not available
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.NetBSD.org/support/send-pr.html> for instructions.
--- src/util/CMakeFiles/util.dir/mpfx.cpp.o ---

This is with the in-tree c++ compiler, from gcc 10.5.0.

I already had gcc14 installed, and it managed to build with that
compiler by using

# NetBSD/macppc 10.0 w/gcc 10.5.0 segfaults
GCC_REQD+=      14

since as far as I know we can't express "not with gcc 10 (due to
un-diagnosed bugs)".

But of course, the resulting libz3.so library now has a
dependency on the gcc14-libs package:

bramley: {55} ldd /usr/pkg/lib/python3.13/site-packages/z3/lib/libz3.so
/usr/pkg/lib/python3.13/site-packages/z3/lib/libz3.so:
        -latomic.3 => /usr/pkg/gcc14/powerpc--netbsd/lib/./libatomic.so.3
        -lpthread.1 => /usr/lib/libpthread.so.1
        -lc.12 => /usr/lib/libc.so.12
        -lstdc++.7 => /usr/pkg/gcc14/powerpc--netbsd/lib/./libstdc++.so.7
        -lm.0 => /usr/lib/libm.so.0
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
bramley: {56}

so if you load some other package which is built with the in-tree
c++ compiler, there will likely be conflicts over which major
version of libstdc++ should be used, or having both of them
loaded possibly causing ... issues.

However, I don't know how likely that use case is.

I'm currently building gcc12, which takes a while, and will
re-try the build of the py-z3 package with that as well, but it
will probably introduce a similar dependency to the above.

Comments wrt. the proper way to get this built on this platform?

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index