Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging for MSYS2 #546

Open
umarcor opened this issue Dec 27, 2020 · 6 comments
Open

Packaging for MSYS2 #546

umarcor opened this issue Dec 27, 2020 · 6 comments

Comments

@umarcor
Copy link

umarcor commented Dec 27, 2020

I'm finding it difficult to package nextpnr for MSYS2 cleanly. See: https://github.com/umarcor/nextpnr/blob/ci/msys2/msys2/PKGBUILD#L27-L69

I worked around this issue by not using MSYS2_ARG_CONV_EXCL=- and copying the assets manually, instead of using mingw32-make DESTDIR="${pkgdir}" install:

  _bin="${pkgdir}${MINGW_PREFIX}/bin"
  mkdir -p "${_bin}"
  cp nextpnr-ice40.exe "${_bin}"
@umarcor
Copy link
Author

umarcor commented Dec 28, 2020

Using MSYS2_ARG_CONV_EXCL but setting -DICESTORM_INSTALL_PREFIX explicitly (umarcor@6fbb0e0), allows the build to succeed and mingw32-make DESTDIR="${pkgdir}" install places the assets properly. Unfortunately, when nextpnr-ice40 --help is executed, it complains about Qt5Widgets.dll not being found. That's surprising, because the file exists, and it was found during the build. See: https://github.com/umarcor/nextpnr/runs/1616015155?check_suite_focus=true#step:5:8

Run which Qt5Widgets.dll
  which Qt5Widgets.dll
  nextpnr-ice40 --help
  
  shell: D:\a\_temp\msys\msys2.CMD {0}
  env:
    MSYSTEM: MINGW64
    
/mingw64/bin/Qt5Widgets.dll

D:/a/_temp/msys/msys64/mingw64/bin/nextpnr-ice40.exe: error while loading shared libraries: Qt5Widgets.dll: cannot open shared object file: No such file or directory

Error: Process completed with exit code 127.

@umarcor
Copy link
Author

umarcor commented Dec 30, 2020

FTR, the Qt5Widgets error was a red herring. The problem was boost missing in the runtime dependency list.

Some minutes ago, Yosys and nextpnr were accepted in MSYS2 🎉. In the following days, both will be shown in mingw-w64-x86_64-eda and mingw-w64-i686-eda.

However, the only enabled ARCH in the uploaded nextpnr package is ice40. I'd like to enable ecp5 too. prjtrellis is packaged already and it works (see msys2/MINGW-packages#7509). Enabling ecp5 on MINGW64 works too. Unfortunately, an error is produced on MINGW32:

2020-12-30T17:36:41.2036800Z Traceback (most recent call last):
2020-12-30T17:36:41.2533383Z   File "C:/_/mingw-w64-nextpnr/src/nextpnr/ecp5/trellis_import.py", line 645, in <module>
2020-12-30T17:36:41.2538567Z     main()
2020-12-30T17:36:41.2938824Z   File "C:/_/mingw-w64-nextpnr/src/nextpnr/ecp5/trellis_import.py", line 633, in main
2020-12-30T17:36:41.2950644Z     ddrg = pytrellis.make_dedup_chipdb(chip)
2020-12-30T17:36:41.3002726Z MemoryError: std::bad_alloc
2020-12-30T17:36:41.3099468Z make[2]: *** [ecp5/CMakeFiles/chipdb-ecp5-bbas.dir/build.make:103: ecp5/chipdb/chipdb-85k.bba] Error 1
2020-12-30T17:36:41.3100502Z make[2]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2020-12-30T17:36:41.3118116Z make[1]: *** [CMakeFiles/Makefile2:935: ecp5/CMakeFiles/chipdb-ecp5-bbas.dir/all] Error 2

@daveshah1
Copy link
Contributor

daveshah1 commented Dec 30, 2020

The database build needs more memory than a 32bit address space can provide. Use the bba files from the 64bit build.

@umarcor
Copy link
Author

umarcor commented Jun 16, 2021

I'm trying to update the nextpnr package on MSYS2. Unfortunately, the last commit I can build is 326b348. This is the result with 9df05c4: https://github.com/umarcor/MINGW-packages/runs/2837837400?check_suite_focus=true

2021-06-16T10:10:48.7339574Z /D/a/_temp/msys/msys64/mingw64/bin/g++.exe -march=x86-64 -mtune=generic -O2 -pipe -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-array-bounds -fPIC -O3 -g -pipe -fopenmp -flto -fno-fat-lto-objects -pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high -Wl,--whole-archive CMakeFiles/nextpnr-ice40-test.dir/objects.a -Wl,--no-whole-archive -o nextpnr-ice40-test.exe -Wl,--out-implib,libnextpnr-ice40-test.dll.a -Wl,--major-image-version,0,--minor-image-version,0  generated/3rdparty/googletest/libgtest_main.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_filesystem-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_program_options-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_iostreams-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_system-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_thread-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_regex-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_chrono-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_date_time-mt.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libboost_atomic-mt.dll.a -lpthread generated/gui/ice40/libgui_ice40.a /D/a/_temp/msys/msys64/mingw64/lib/libQt5OpenGL.dll.a -lopengl32 -lglu32 generated/3rdparty/QtPropertyBrowser/src/libQtPropertyBrowser.a /D/a/_temp/msys/msys64/mingw64/lib/libpython3.8.dll.a generated/3rdparty/googletest/libgtest.a /D/a/_temp/msys/msys64/mingw64/lib/libQt5Widgets.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libQt5Gui.dll.a /D/a/_temp/msys/msys64/mingw64/lib/libQt5Core.dll.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 
2021-06-16T10:10:49.1632030Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn8_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn24_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T10:10:49.2653026Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn8_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn24_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T10:10:49.3533443Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn8_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[_ZThn24_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T10:10:53.8533726Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn8_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn32_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T10:10:53.8547788Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn8_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn32_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T10:10:54.0002624Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn8_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[_ZThn32_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T10:10:54.0482299Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn16_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T10:10:54.1909953Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn16_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T10:10:54.2392531Z D:/a/_temp/msys/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; hx1k.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[_ZThn16_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T10:13:15.4314282Z collect2.exe: error: ld returned 1 exit status
2021-06-16T10:13:15.4372398Z make[2]: *** [CMakeFiles/nextpnr-ice40-test.dir/build.make:889: nextpnr-ice40-test.exe] Error 1
2021-06-16T10:13:15.4373564Z make[2]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T10:13:15.4392128Z make[1]: *** [CMakeFiles/Makefile2:346: CMakeFiles/nextpnr-ice40-test.dir/all] Error 2
2021-06-16T10:15:45.6034253Z cd /C/_/mingw-w64-nextpnr/src/nextpnr/ecp5 && /D/a/_temp/msys/msys64/mingw64/bin/cmake.exe -E rename chipdb/chipdb-85k.bba.new chipdb/chipdb-85k.bba
2021-06-16T10:15:45.6657434Z make[2]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T10:15:45.7196778Z [ 56%] Built target chipdb-ecp5-bbas
2021-06-16T10:15:45.7247561Z make[1]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T10:15:45.7421671Z make: *** [Makefile:149: all] Error 2
...
2021-06-16T09:55:23.2864200Z C:/_/mingw-w64-nextpnr/src/nextpnr/common/router2.cc: In member function 'bool nextpnr_ice40::{anonymous}::Router2::bind_and_check_all()':
2021-06-16T09:55:23.3511507Z C:/_/mingw-w64-nextpnr/src/nextpnr/common/router2.cc:1025:33: warning: unknown conversion type character 'z' in format [-Wformat=]
2021-06-16T09:55:23.3611108Z  1025 |                 log("Ripped up %zu wires on net %s\n", net_wires.size(), ctx->nameOf(net));
2021-06-16T09:55:23.3650277Z       |                                 ^
2021-06-16T09:55:23.3724103Z C:/_/mingw-w64-nextpnr/src/nextpnr/common/router2.cc:1025:50: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'std::vector<nextpnr_ice40::WireId>::size_type' {aka 'unsigned int'} [-Wformat=]
2021-06-16T09:55:23.3780450Z  1025 |                 log("Ripped up %zu wires on net %s\n", net_wires.size(), ctx->nameOf(net));
2021-06-16T09:55:23.4826581Z       |                                                 ~^     ~~~~~~~~~~~~~~~~
2021-06-16T09:55:23.5038880Z       |                                                  |                   |
2021-06-16T09:55:23.5041035Z       |                                                  char*               std::vector<nextpnr_ice40::WireId>::size_type {aka unsigned int}
2021-06-16T09:55:23.5179785Z       |                                                 %d
2021-06-16T09:55:23.6769732Z C:/_/mingw-w64-nextpnr/src/nextpnr/common/router2.cc:1025:21: warning: too many arguments for format [-Wformat-extra-args]
2021-06-16T09:55:23.8704208Z  1025 |                 log("Ripped up %zu wires on net %s\n", net_wires.size(), ctx->nameOf(net));
2021-06-16T09:55:24.0042106Z       |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-06-16T09:55:29.3081039Z collect2.exe: error: ld returned 1 exit status
2021-06-16T09:55:29.3331952Z make[2]: *** [CMakeFiles/nextpnr-generic.dir/build.make:661: nextpnr-generic.exe] Error 1
2021-06-16T09:55:29.3333840Z make[2]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T09:55:29.3616863Z make[1]: *** [CMakeFiles/Makefile2:216: CMakeFiles/nextpnr-generic.dir/all] Error 2
2021-06-16T09:55:29.3636335Z make[1]: *** Waiting for unfinished jobs....
...
2021-06-16T09:57:22.6202349Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn4_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn12_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T09:57:22.6206926Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn4_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn12_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T09:57:22.6211347Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: basectx.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn4_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_function_call>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_17bad_function_callEED1Ev[__ZThn12_N5boost10wrapexceptINS_17bad_function_callEED1Ev]+0x0): first defined here
2021-06-16T09:57:22.8735667Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn4_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn16_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T09:57:22.8740202Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn4_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn16_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T09:57:22.8744405Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: place_common.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn4_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<boost::bad_lexical_cast>::~wrapexcept()'; command.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptINS_16bad_lexical_castEED1Ev[__ZThn16_N5boost10wrapexceptINS_16bad_lexical_castEED1Ev]+0x0): first defined here
2021-06-16T09:57:23.0661753Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn4_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T09:57:23.0666608Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn4_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T09:57:23.0670815Z D:/a/_temp/msys/msys64/mingw32/lib/gcc/i686-w64-mingw32/10.3.0/../../../../i686-w64-mingw32/bin/ld.exe: placer_heap.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn4_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): multiple definition of `non-virtual thunk to boost::wrapexcept<std::bad_alloc>::~wrapexcept()'; archcheck.cc.obj (symbol from plugin):(.gnu.linkonce.t._ZN5boost10wrapexceptISt9bad_allocED1Ev[__ZThn8_N5boost10wrapexceptISt9bad_allocED1Ev]+0x0): first defined here
2021-06-16T09:59:53.0098301Z collect2.exe: error: ld returned 1 exit status
2021-06-16T09:59:53.0145088Z make[2]: *** [CMakeFiles/nextpnr-ice40.dir/build.make:759: nextpnr-ice40.exe] Error 1
2021-06-16T09:59:53.0146037Z make[2]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T09:59:53.0156492Z make[1]: *** [CMakeFiles/Makefile2:299: CMakeFiles/nextpnr-ice40.dir/all] Error 2
2021-06-16T09:59:53.0157311Z make[1]: Leaving directory '/c/_/mingw-w64-nextpnr/src/nextpnr'
2021-06-16T09:59:53.0174781Z make: *** [Makefile:149: all] Error 2

Any help/hint is welcome.

@gatecat
Copy link
Member

gatecat commented Jun 16, 2021

Have you tried without LTO (-DUSE_IPO=OFF) - see #684

@umarcor
Copy link
Author

umarcor commented Jun 16, 2021

@gatecat, thanks a lot! ❤️ That worked: https://github.com/umarcor/MINGW-packages/actions/runs/942581055

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants