[TL 2020] asy executables on FreeBSD

Mojca Miklavec mojca.miklavec.lists at gmail.com
Tue Mar 10 14:15:20 CET 2020


On Tue, 10 Mar 2020 at 13:25, Osipov, Michael wrote:
>
> Folks,
>
> this resource [1] mentions that Nelson Beebe provides the build of asy
> for FreeBSD. I wrote to Nelson and he does not. It is coming from
> elsewhere. Can someone eithe remove that information or add the proper
> originator?

This commit
    http://tug.org/svn/texlive/trunk/Master/bin/amd64-freebsd/asy?view=log
says
    asy for amd64-freebsd from Nelson, amd64-freebsd13-gcc.tar.xz

So at least the two seem consistent.

I didn't have much time earlier, so Karl took the existing binaries.

I tried to build my own version on FreeBSD with clang++ and using
static libraries for as much as possible, but there's one last
building block missing, namely proper support for OpenGL via freeglut.
If I manage to build those binaries, they should be "more standalone".
(I could submit my latest build right now, but it won't support
OpenGL.)

The current list of dependencies includes:

librt.so.1 => /usr/lib/librt.so.1 (0x800784000)
libz.so.6 => /lib/libz.so.6 (0x80078c000)
libncurses.so.8 => /lib/libncurses.so.8 (0x8007a6000)
libc++.so.1 => /usr/lib/libc++.so.1 (0x8007fd000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x8008cd000)
libm.so.5 => /lib/libm.so.5 (0x8008ef000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x800921000)
libthr.so.3 => /lib/libthr.so.3 (0x80093b000)
libc.so.7 => /lib/libc.so.7 (0x800968000)

Asymptote version 2.64 [(C) 2004 Andy Hammerlindl, John C. Bowman, Tom Prince]

ENABLED OPTIONS:
WebGL 3D HTML rendering
GSL GNU Scientific Library (special functions)
FFTW3 Fast Fourier transforms
XDR external data representation (portable binary file format)
Readline interactive history and editing
GC Boehm garbage collector

DISABLED OPTIONS:
OpenGL 3D OpenGL rendering
Sigsegv distinguish stack overflows from segmentation faults

Mojca

> > On my FreeBSD 12.1 x86_64 system, I find
> >
> >       % ldd /usr/uumath/texlive/2020/bin/amd64-freebsd/asy | fgrep stdc+
> >         libstdc++.so.6 => /usr/local/lib/gcc10/libstdc++.so.6 (0x800ba2000)
> >
> > I didn't build that one.
>
> Another issue with asy, it requires libstdc++ from GCC dynamically. It
> force everyone to install the entire GCC chain which is annoying.
>
> Following Nelson's advise:
>
> > My build-texlive-2020.sh script starts by setting
> >
> >       CXXFLAGS            = -std=c++11 -static-libstdc++
> >
> > The -lstdc++ library has been a huge nuisance for packagers of binary
> > executables, because it is highly compiler release dependent.  In all
> > of my work with C++, I therefore use the g++/clang++ flag
> > -static-libstdc++, so that the executable embeds any needed code from
> > that library.
>
> Can someone trigger the originator to embed the library or link against
> LLVM c++ from base unless there is hard requirement for GCC?
>
> Michael
>
> [1] https://github.com/TeX-Live/texlive-source/blob/trunk/README#L51


More information about the tex-live mailing list.