FreeCAD 0.17 && /lib//libgcc_s.so.1

Russell L. Carter rcarter at pinyon.org
Sun Feb 17 18:43:53 UTC 2019


On 2/17/19 9:16 AM, Eugene Grosbein wrote:
> 17.02.2019 22:46, Diane Bruce wrote:
> 
>>> We already have libmap.conf(5). It should be possible to work around the problem
>>> creating /usr/local/etc/libmap.d/python.conf with contents:
>>>
>>> [python2.7]
>>> libgcc_s.so.1 /usr/local/lib/gcc8/libgcc_s.so.1
>>>
>>> [python3.4]
>>> libgcc_s.so.1 /usr/local/lib/gcc8/libgcc_s.so.1
>>>
>>
>> Sure but I'm guessing not all python ports *need* gfortran hence
>> we shouldn't force all python coded ports to use the gfortran libgcc_s.so
> 
> libmap.conf(5) manual page documents how to restrict such mappings per-directory.
> One can create symlink for the interpreter and restrict the mapping for symlink only.
> 
>> Moreover, the libmap would have to be updated everytime gfortran got
>> updated
> 
> Not quite: libgcc_s.so.1 needs mapping for interpreter only as our port building system
> already creates libgfortran.so with right rpath for libgcc_s.so.1:
> 
> # ldd /usr/local/lib/gcc8/libgfortran.so.5
> /usr/local/lib/gcc8/libgfortran.so.5:
>          libquadmath.so.0 => /usr/local/lib/gcc8/libquadmath.so.0 (0x80146e000)
>          libz.so.6 => /lib/libz.so.6 (0x8016ad000)
>          libm.so.5 => /lib/libm.so.5 (0x8018c5000)
>          libgcc_s.so.1 => /usr/local/lib/gcc8/libgcc_s.so.1 (0x801af3000)
>          libc.so.7 => /lib/libc.so.7 (0x800823000)
> 
> 

Ok, back from RL.  I see a lot of discussion, and am totally agnostic
about what the "correct" solution is.  I read Diane Bruce's page and
ran the script:

# DB solution
# https://wiki.freebsd.org/libgcc%20problem
export LD_PRELOAD=/usr/local/lib/gcc8/libgcc_s.so
FreeCAD $*

No libgcc_s.so.1 problems over three consecutive test all runs.
'FreeCAD' is a binary executable that runs a lot of python under the
hood.  That's what I needed, thank you to all.

Regards,
Russell




More information about the freebsd-ports mailing list