Bug 228707 - math/py-matplotlib 2.1.2_2: Undefined symbol "__aeabi_uidiv@GCC_3.5" on armv7
Summary: math/py-matplotlib 2.1.2_2: Undefined symbol "__aeabi_uidiv@GCC_3.5" on armv7
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: arm Any
: --- Affects Some People
Assignee: Walter Schwarzenfeld
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-06-02 18:10 UTC by Ulrich Grey
Modified: 2019-11-03 11:45 UTC (History)
5 users (show)

See Also:
linimon: maintainer-feedback? (mainland)


Attachments
Poudriere build log (107.06 KB, text/plain)
2018-06-02 18:10 UTC, Ulrich Grey
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ulrich Grey 2018-06-02 18:10:24 UTC
Created attachment 193947 [details]
Poudriere build log

I am building ports on my wandboard-quad running

FreeBSD 12.0-CURRENT #0 r333645


ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: /usr/local/lib/libblas.so.2: Undefined symbol "__aeabi_uidiv@GCC_3.5"
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2018-06-24 01:23:05 UTC
I don't know how to fix it.  It is on my list to be marked BROKEN unless the maintainer has an idea.
Comment 2 Geoffrey Mainland 2018-06-26 01:59:37 UTC
I've seen errors like this before on x86 (also involving libblas), usually resulting from an improperly-upgraded port collection.

Did this error arise as part of a from-scratch build of ports?
Comment 3 Ulrich Grey 2018-06-26 20:49:45 UTC
(In reply to mainland from comment #2)
I have used a portsnap generated ports tree for the first build.
I have built all ports from this ports tree, no updates of the ports tree.

To be sure I have checked out a new ports tree using svnlite:

root@wqtest:/usr/local/BUILD/Poudriere-current12/ports/svn # svnlite info
Path: .
Working Copy Root Path: /usr/local/BUILD/Poudriere-current12/ports/svn
URL: https://svn.freebsd.org/ports/head
Relative URL: ^/head
Repository Root: https://svn.freebsd.org/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 472939
Node Kind: directory
Schedule: normal
Last Changed Author: yuri
Last Changed Rev: 472939
Last Changed Date: 2018-06-20 21:15:21 +0000 (Wed, 20 Jun 2018)

Using this new ports tree I tried to build ports-mgmt/porttree,
I got the same errors.

Please see the error logs:

http://ulrich-grey.de/dl/FreeBSD/py27-matplotlib-2.1.2_2.log
http://ulrich-grey.de/dl/FreeBSD/py27-scipy-1.1.0.log

These ports build successfully:
http://ulrich-grey.de/dl/FreeBSD/openblas-0.2.20_2,1.log
http://ulrich-grey.de/dl/FreeBSD/cblas-1.0_8.log
http://ulrich-grey.de/dl/FreeBSD/blas-3.5.0_4.log
Comment 4 Ulrich Grey 2018-06-26 22:36:28 UTC
(In reply to Ulrich Grey from comment #3)
I have used ports-mgmt/poudriere, every port is built in a clean environment.
Comment 5 Geoffrey Mainland 2018-06-27 14:49:44 UTC
I'm afraid I have no other ideas. The port should probably be marked BROKEN on arm for now.
Comment 6 Mikael Urankar freebsd_committer freebsd_triage 2018-06-27 16:57:30 UTC
(In reply to Mark Linimon from comment #1)
I think it's the problem with base libgcc vs ports libgcc.
Comment 7 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2018-10-17 08:52:06 UTC
Not sure if it's somehow related, I had this error with scikit-learn:


In [8]: import scipy.special

--------------------

ImportError                               Traceback (most recent call last)
<ipython-input-8-f4252bb1d87c> in <module>()
----> 1 import scipy.special

/usr/local/lib/python3.7/site-packages/scipy/special/init.py in <module>()
	638 from .sf_error import SpecialFunctionWarning, SpecialFunctionError
	639 
--> 640 from ._ufuncs import *
	641 
	642 from .basic import *

ImportError: /usr/local/lib/python3.7/site-packages/scipy/special/_ufuncs.so: Undefined symbol "cpow@GFORTRAN_C99_7"

It failed to import scipy until I rebuilt math/py-scipy with this lines commented on:

#PYDISTUTILS_BUILDARGS= --fcompiler=gnu95
#PYDISTUTILS_CONFIGUREARGS=     --fcompiler=gnu95

May be something similar should be done for matplotlib (yet it works well for me here)
Comment 8 Walter Schwarzenfeld freebsd_triage 2019-08-15 05:02:23 UTC
We have version 2.2.4. Does the problem still exist?
Comment 9 Ulrich Grey 2019-11-03 08:05:20 UTC
I have built math/py-matplotlib (py36-matplotlib-2.2.4_1)
on a wandboard-quad running: 
FreeBSD 13.0-CURRENT r352778 GENERIC  arm
The version of the ports tree is:
Last Changed Rev: 516289
Last Changed Date: 2019-11-02 07:24:29 +0000 (Sat, 02 Nov 2019)
The build (using ports-mgmt/poudriere-3.3.2_1) finished successfully.
Comment 10 Walter Schwarzenfeld freebsd_triage 2019-11-03 11:45:52 UTC
Close here with overcome by events. If there still problems reopen.