Package Details: yosys-git r8603.2ce7a0d3-1

Git Clone URL: https://aur.archlinux.org/yosys-git.git (read-only, click to copy)
Package Base: yosys-git
Description: A framework for RTL synthesis
Upstream URL: http://www.clifford.at/yosys/
Keywords: fpga
Licenses: custom:ISC
Conflicts: yosys
Provides: yosys
Submitter: sebo
Maintainer: thasti
Last Packager: thasti
Votes: 13
Popularity: 0.59
First Submitted: 2015-10-05 19:00
Last Updated: 2020-01-30 22:40

Dependencies (9)

Required by (5)

Sources (3)

Latest Comments

1 2 3 Next › Last »

thasti commented on 2020-01-06 21:12

I checked today and since the pull request has been accepted upstream, the PKGBUILD modification concerning BOOST_PYTHON_LIB is not required anymore.

xiretza commented on 2019-12-29 19:29

The package has some messed up paths (for example, yosys-config --exec echo --cxxflags contains -I/usr/local/share/yosys/include), so here's a patch that fixes the make options (and additionally removes the python patch, which has become unnecessary):

diff --git a/PKGBUILD b/PKGBUILD
index 1ef6caf..e888ce5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -27,8 +27,7 @@ build(){
     make config-gcc
     echo "ENABLE_LIBYOSYS=1" >> Makefile.conf
     echo "ENABLE_PYOSYS=1" >> Makefile.conf
-    echo "BOOST_PYTHON_LIB=-lboost_python38 -lpython3.8" >>Makefile.conf
-    make
+    make PREFIX="/usr"
 }

 pkgver() {
@@ -38,7 +37,7 @@ pkgver() {

 package() {
     cd ${srcdir}/yosys
-    make PREFIX=$pkgdir/usr/ PYTHON_PREFIX=$pkgdir/usr/ install
+    make PREFIX="/usr" PYTHON_PREFIX="$pkgdir/usr" DESTDIR="$pkgdir" install

     install -D -m 644 \
     "${srcdir}/LICENSE" \

swedishhat commented on 2019-11-26 17:00

It looks like @grahamedgecombe's PR has been approved and is just waiting to be merged. I'm going to update the PKGBUILD with @vogelchr's fix for now and then revert back when upstream merges in the fix.

grahamedgecombe commented on 2019-11-19 21:53

I've submitted a pull request to fix this upstream: https://github.com/YosysHQ/yosys/pull/1504

potatoe commented on 2019-11-17 23:01

I think the linking problems are maybe due to a change in python-config (a script in /usr/bin included with python) in 3.8, specifically: https://github.com/python/cpython/commit/8c3ecc6bacc8d0cd534f2b5b53ed962dd1368c7b which dropped the -lpython3.8 from the output of python-config --ldflags. The new way seems to be to call python-config with an extra flag --embed to include the python library in addition to the regular --ldflags, per https://github.com/python/cpython/commit/0a8e57248b913851640c64375600f05157c997df .

So I guess that might mean it's an upstream issue, yosys's Makefile's usage of python-config (or $(PYTHON_EXECUTABLE)-config, rather) could be updated to be compatible with python 3.8? It will need a few extra fallbacks around trying calls with and without --embed to continue working on both 3.8 and older ones (which don't support passing an --embed flag), though.

thasti commented on 2019-11-17 12:11

Is it expected that building against boost_python3 now requires this additional linker flag? I wonder whether this is to be considered a bug in the yosys Makefile (in which case I would file an issue with yosys upstream) or an unintended change in the behavior of boost-libs after updating to Python3.8.

vogelchr commented on 2019-11-17 12:01

Adding this to the PKGBUILD's build() allows makepkg to build yosys successfully.

echo "BOOST_PYTHON_LIB=-lboost_python38 -lpython3.8" >>Makefile.conf

Not adding the -lpython3.8 for me results in a huge amount of unresolved symbols, and I cannot see -lpython being added to the build command when manually running "make PRETTY=0".

thasti commented on 2019-11-16 18:45

@gnurise: It looks like it. It appears as if the yosys Makefile tries to do it's check for which libboost to use, but runs into the same compilation errors you get when providing the correct library manually. Not quite sure where to flag this, but boost-libs could be the best fit I believe.

It appears to me that building any C program with -lboost_python is broken as it stands now.

gururise commented on 2019-11-16 18:33

@thasti wonder if this has something to do with the recent upgrade in Arch to Python 3.8? I tried:

export BOOST_PYTHON_LIB=/lib/libboost_python38.so

But ended up with a bunch of compilation errors complaining about symbols not found.

thasti commented on 2019-11-16 09:14

@gnurise: Can't reproduce with current git master. For me, no modifications of the PKGBUILD are required. Are you sure boost is installed and functional on your system?

EDIT: Actually can reproduce after updating other packages. Potentially something in boost library contents changed. Will investigate.