#60811 closed defect (fixed)
simulavr @1.0.0_2: Could not locate libbfd.so/libbfd.a and/or bfd.h
Reported by: | neilt (Neil Tiffin) | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | ||
Port: | simulavr |
Description
Trying a new install of simulavr fails.
% sudo port install simulavr ---> Computing dependencies for simulavr ---> Fetching archive for simulavr ---> Attempting to fetch simulavr-1.0.0_2.darwin_19.x86_64.tbz2 from https://packages.macports.org/simulavr ---> Attempting to fetch simulavr-1.0.0_2.darwin_19.x86_64.tbz2 from http://aus.us.packages.macports.org/macports/packages/simulavr ---> Attempting to fetch simulavr-1.0.0_2.darwin_19.x86_64.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/simulavr ---> Configuring simulavr Error: Failed to configure simulavr, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_simulavr/simulavr/work/simulavr-1.0.0/config.log Error: Failed to configure simulavr: configure failure: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_simulavr/simulavr/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. Error: Processing of port simulavr failed
Relevant spot in the log is:
:info:configure with_bfd = /opt/local/avr/host :info:configure with_libiberty = /opt/local/avr/host :info:configure checking bfd search- /opt/local/avr/host/i386-apple-darwin19.5.0/avr in "include" and "lib"... no :info:configure checking bfd search- /opt/local/avr/host/avr in "include" and "lib"... no :info:configure checking bfd search- /opt/local/avr/host in "" and ""... no :info:configure checking bfd search- /opt/local/avr/host in "bfd" and "bfd"... no :info:configure checking bfd search- /opt/local/avr/host in "include" and "lib64"... no :info:configure checking bfd search- /opt/local/avr/host in "include" and "lib"... no :info:configure checking bfd search- /opt/local/avr/host in "include" and ""... no :info:configure configure: error: :info:configure Could not locate libbfd.so/libbfd.a and/or bfd.h. :info:configure Please use the --with-bfd=<path to your libbfd library> :info:configure
:debug:sysinfo macOS 10.15 (darwin/19.5.0) arch i386 :debug:sysinfo MacPorts 2.6.2 :debug:sysinfo Xcode 12.0 :debug:sysinfo SDK 10.15 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 10.15
Actual log attached.
Attachments (1)
Change History (7)
Changed 4 years ago by neilt (Neil Tiffin)
comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | simulavr removed |
---|---|
Summary: | simulavr failed to configure Catalina → simulavr @1.0.0_2: Could not locate libbfd.so/libbfd.a and/or bfd.h |
comment:2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
We should probably update the port to 1.1.0 first. It was released earlier this year. It's here:
http://git.savannah.nongnu.org/cgit/simulavr.git
Version 1.0.0 which we're using now is 8 years old.
In the git repo I also see a 6-year-old tag "last-libbfd-libiberty" which suggests that the current version might not use libbfd and libiberty at all, which would solve the problem you're seeing.
The current port has a lot of patches and reinplaces that will take awhile to examine to determine which, if any, are still needed with 1.1.0.
comment:3 follow-up: 4 Changed 4 years ago by neilt (Neil Tiffin)
You may not need any patches. See below.
I cloned the savannah git locally.
Then did make build
. I did not apply any patches.
Xcode Version 12.0 beta 2 (12A6163b).
ProductName: Mac OS X
ProductVersion: 10.15.5
BuildVersion: 19F101
A few warnings no errors.
Then make check
.
[==========] Running 23 tests from 4 test suites. [----------] Global test environment set-up. [----------] 1 test from EXAMPLE_SESSION_001 [ RUN ] EXAMPLE_SESSION_001.TEST1 [ OK ] EXAMPLE_SESSION_001.TEST1 (18 ms) [----------] 1 test from EXAMPLE_SESSION_001 (18 ms total) [----------] 6 tests from SESSION_IRQ [ RUN ] SESSION_IRQ.IRQ1 [ OK ] SESSION_IRQ.IRQ1 (17 ms) [ RUN ] SESSION_IRQ.TC1 [ OK ] SESSION_IRQ.TC1 (17 ms) [ RUN ] SESSION_IRQ.TC2 [ OK ] SESSION_IRQ.TC2 (17 ms) [ RUN ] SESSION_IRQ.TC3 [ OK ] SESSION_IRQ.TC3 (19 ms) [ RUN ] SESSION_IRQ.TC4 [ OK ] SESSION_IRQ.TC4 (17 ms) [ RUN ] SESSION_IRQ.TC5 [ OK ] SESSION_IRQ.TC5 (16 ms) [----------] 6 tests from SESSION_IRQ (103 ms total) [----------] 8 tests from SESSION_IO_PIN [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M128 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M128 (65 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M16 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M16 (14 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M8 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M8 (12 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M164 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M164 (14 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M48 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M48 (12 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_M640 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_M640 (24 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_T2313 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_T2313 (12 ms) [ RUN ] SESSION_IO_PIN.OPEN_DRAIN_T25 [ OK ] SESSION_IO_PIN.OPEN_DRAIN_T25 (11 ms) [----------] 8 tests from SESSION_IO_PIN (164 ms total) [----------] 8 tests from SESSION_TRACE [ RUN ] SESSION_TRACE.TRACE_M128 [ OK ] SESSION_TRACE.TRACE_M128 (62 ms) [ RUN ] SESSION_TRACE.TRACE_M16 [ OK ] SESSION_TRACE.TRACE_M16 (15 ms) [ RUN ] SESSION_TRACE.TRACE_M8 [ OK ] SESSION_TRACE.TRACE_M8 (13 ms) [ RUN ] SESSION_TRACE.TRACE_M164 [ OK ] SESSION_TRACE.TRACE_M164 (15 ms) [ RUN ] SESSION_TRACE.TRACE_M48 [ OK ] SESSION_TRACE.TRACE_M48 (14 ms) [ RUN ] SESSION_TRACE.TRACE_M640 [ OK ] SESSION_TRACE.TRACE_M640 (25 ms) [ RUN ] SESSION_TRACE.TRACE_T2313 [ OK ] SESSION_TRACE.TRACE_T2313 (12 ms) [ RUN ] SESSION_TRACE.TRACE_T25 [ OK ] SESSION_TRACE.TRACE_T25 (12 ms) [----------] 8 tests from SESSION_TRACE (168 ms total) [----------] Global test environment tear-down [==========] 23 tests from 4 test suites ran. (453 ms total) [ PASSED ] 23 tests.
Then
Ran 14706 tests in 7.380 seconds [1992.683 tests/second]. Number of Passing Tests: 13850 Number of Failing Tests: 0 Number of Skipped Tests: 856 (opcode not supported by target)
comment:4 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to neilt:
You may not need any patches. See below.
I can confirm that. I've looked at each patch and reinplace.
Patchfiles:
- patch-at90can-elpm was backported from https://git.savannah.nongnu.org/cgit/simulavr.git/commit?id=e3d323e664884003673a00559c14d8e799699b52
- patch-at90can-ivs was backported from https://git.savannah.nongnu.org/cgit/simulavr.git/commit?id=6ef1c1455becac93f445c3100520ab498ecf240c
- patch-msleep was fixed differently in https://git.savannah.nongnu.org/cgit/simulavr.git/commit?id=23ba1114d63ed51d10eae3814851ae8c428ba94b
- patch-src_Makefile.in was for the deleted autotools build system
- patch-src_systemclock.cpp was fixed differently in https://git.savannah.nongnu.org/cgit/simulavr.git/commit?id=dd9818452e8f0fd2a301e041df60f406ad7ea96c
Reinplaces:
- Swig version patch was for the deleted autotools build system
- The rest were backported from https://savannah.nongnu.org/bugs/?35737
Hopefully the fixes for the deleted autotools build system aren't needed for the new cmake build system.
I cloned the savannah git locally.
We prefer not to git clone
in MacPorts—we prefer to use distfiles—but they don't offer an official distfile for 1.1.0 (I filed https://savannah.nongnu.org/bugs/?65923) and the automatically-generated tarball from their git web interface doesn't work (I filed https://savannah.nongnu.org/bugs/?65943).
Then did
make build
. I did not apply any patches.
The Makefile is a wrapper around the cmake build system so we wouldn't want to use that; we'd want to use the cmake portgroup and all of the options that it adds.
It uses C++11 now so the port needs to specify that with compiler.cxx_standard 2011
.
The cmake build does all sorts of things automatically if it finds the right dependencies. If help2man is found, it builds the manpage. If makeinfo is found, it builds the info page. If gzip is found, it gzips the changelog. These are fine and we can add the help2man dependency so that the manpage gets built. The port already has a makeinfo dependency.
Some of the other things it does are less fine. If python 3.5 or later with the sphinx, rst2pdf, bs4, and requests modules is found, it builds the web site and manual. If doxygen and dot are found, it builds API documentation. If dpkg and fakeroot are found, it builds debian packaging. I don't think there are any switches to disable that behavior. Some of those are heavy dependencies (graphviz) that I'd rather not add, and others (debian) are just plain unnecessary for us. I may have to patch the CMakeLists.txt to ensure these optional features are not built even if the dependencies are found (due to our desire for ReproducibleBuilds).
comment:5 Changed 5 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to ryandesign |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:6 Changed 5 months ago by neilt (Neil Tiffin)
Confirmed this compiles in my environment, thank you.
Looks very similar to a previous problem you reported in #60807. Maybe a similar fix is needed here.