hdl / Termux-packages

Electronic design automation (EDA) package recipes for Termux (Android)
Apache License 2.0
6 stars 1 forks source link

ABC compilation fails in arch armv71 #2

Open rodrigomelo9 opened 3 years ago

rodrigomelo9 commented 3 years ago

After run ./base.sh, then ./yosys.sh (I installed tcl and python, see #1):

[ 94%] ABC: `` Generating dependency: /src/bdd/reo/reoApi.c
[ 94%] ABC: `` Generating dependency: /src/bdd/mtr/mtrGroup.c
make[1]: * duping jobs pipe: Bad file descriptor.  Stop.
make[1]: * Waiting for unfinished jobs....
make: * [Makefile:752: abc/abc-4f5f73d] Error 2
rodrigomelo9 commented 3 years ago

Maybe related:

make[1]: Entering directory '/data/data/com.termux/files/home/Termux-packages/scripts/yosys/abc'
Using CC=gcc
Using CXX=g++
Using AR=ar
Using LD=g++
CANNOT LINK EXECUTABLE "gcc": library "libiconv.so" not found
Compiling with CUDD
Using libreadline
Using pthreads
CANNOT LINK EXECUTABLE "gcc": library "libiconv.so" not found
Found GCC_VERSION
CANNOT LINK EXECUTABLE "gcc": library "libiconv.so" not found
CANNOT LINK EXECUTABLE "gcc": library "libiconv.so" not found
Found GCC_MAJOR>=5

Seems a missing library. I will investigate.

umarcor commented 3 years ago

Maybe pkg install libiconv? It exists for aarch64.

Alternatively, you can try building Yosys without ABC: ENABLE_ABC=0.

rodrigomelo9 commented 3 years ago

In make -j4 install ... I removed -j4 and it compiles (it takes around 12 hours XD).

However, I detect some problems:

3.40. Executing ABC pass (technology mapping using ABC). ERROR: Assert `p != NULL' failed in kernel/yosys.cc:453.


Could you verify what happens on your mobile?
umarcor commented 3 years ago

You need to pass -noabc to synth_ice40, since you built Yosys without ABC. See http://www.clifford.at/yosys/cmd_synth_ice40.html. Maybe this can be changed upstream so that Yosys does not try to use ABC.

With regard to the Segmentation fault, I guess it can be reported to Yosys maintainers. However, I would expect it to be a very low priority issue, because testing is a PITA.

rodrigomelo9 commented 3 years ago

I built Yosys with ABC support (I only remove -j4 from the make instruction).

Anyway, adding -noabc it works.

umarcor commented 3 years ago

built Yosys with ABC support

Did you fix the issue with libiconv?

rodrigomelo9 commented 3 years ago

Did you fix the issue with libiconv?

Not yet. Running now trying a workaround :P

rodrigomelo9 commented 3 years ago

Running LD_LIBRARY_PATH=$PREFIX/lib ./yosys.sh' themake -j4 ...` instruction works, but it still fails in synthesis (same error).

rodrigomelo9 commented 3 years ago

I installed the last Termux from F-Droid. There, no complaints about libiconv, but still problems with 4 jobs: yosys.log