Opened 4 years ago

Closed 19 months ago

#60665 closed defect (fixed)

transmission @3.00 +daemon: error: Build input file cannot be found: .../build/Release/libevent.a

Reported by: pdvnl Owned by: kurthindenburg (Kurt Hindenburg)
Priority: Normal Milestone:
Component: ports Version: 2.6.2
Keywords: Cc: i0ntempest
Port: transmission

Description

port clean --all transmission && port -dv install transmission +daemon
:info:build ** BUILD FAILED **
:info:build The following build commands failed:
:info:build     Libtool /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00/build/Release/libdht.a normal x86_64
:info:build (1 failure)
:info:build Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00" && /usr/bin/xcodebuild  -target "Transmission" -configuration Release build INSTALL_PATH=/Applications/MacPorts  OBJROOT="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00/build/" SYMROOT="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00/build/" MACOSX_DEPLOYMENT_TARGET=10.13 ARCHS=x86_64 SDKROOT="" GCC_VERSION=com.apple.compilers.llvm.clang.1_0 CLANG_CXX_LIBRARY="libc++"
:info:build Exit code: 65

Attachments (2)

main.log (262.9 KB) - added by pdvnl 4 years ago.
/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/main.log
patch-transmission-libevent.diff (37.6 KB) - added by kencu (Ken) 4 years ago.
ugly patch to use libevent.dylib -- there must be a better way

Download all attachments as: .zip

Change History (16)

Changed 4 years ago by pdvnl

Attachment: main.log added

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/main.log

comment:1 Changed 4 years ago by pdvnl

Port: transmission added

comment:2 Changed 4 years ago by kencu (Ken)

it's looking for an in-tree libevent, which presumably doesn't exist:

:info:build error: Build input file cannot be found: '/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00/build/Release/libevent.a'

comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to kurthindenburg
Status: newassigned
Summary: transmission transmission @3.00 +daemon fails to build on 10.13transmission @3.00 +daemon: error: Build input file cannot be found: .../build/Release/libevent.a

The port already has a dependency on the libevent port and does a reinplace that looks like it's supposed to make the port use MacPorts libevent.a instead of the built-in one. So maybe that's not working anymore.

Would be better if transmission used MacPorts libevent.dylib instead of libevent.a.

comment:4 Changed 4 years ago by kurthindenburg (Kurt Hindenburg)

Cc: i0ntempest added

comment:5 Changed 4 years ago by i0ntempest

Probably needs some additional patching. I'll try to find some time to investigate

comment:6 Changed 4 years ago by i0ntempest

I can't find where it's referencing to that file. After patch and reinplace the build should use macports provided libraries. No idea why it's not doing that in 10.13.

comment:7 Changed 4 years ago by i0ntempest

For now you can symlink the library to make it build.

comment:8 Changed 4 years ago by burdges (Jeff Burdges)

I noticed this build failure with

port upgrade transmission

when not using +daemon

If I manually ran the build command it gives then it complained about lacking libevent.a so I managed to fix it with cp locate libevent.a /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_transmission/transmission/work/transmission-3.00/build/Release/libevent.a

I’m unsure if these mac os binaries must be statically linked (ugh) but if not then maybe it should be linking the .so instead.

I'd imagined this failure to be related to the Transmission.app, like why else should it be using the libevent.a instead of a dynamic link, but I guess not if the +daemon build encounters this failure too.

comment:9 Changed 4 years ago by kencu (Ken)

manipulating Xcode builds is an order of magnitude more complicated than most everything else.

Best luck I've had is setting things up with sudo port patch, then opening the Xcode workspace directly with Xcode, changing what needs to be changed if you can sort it out, and then diffing the folder to see exactly what changed in the guts of the workspace.

comment:10 Changed 4 years ago by kencu (Ken)

well, I did exactly what I mentioned -- altered the Xcode project in Xcode, replacing libevent.a with libevent.dylib.

It's a big, ugly, messy, patch. Surely there is a better way. But it works, at least on my system, with /opt/local ..

Changed 4 years ago by kencu (Ken)

ugly patch to use libevent.dylib -- there must be a better way

comment:11 Changed 4 years ago by i0ntempest

I can't seem to get this patch to work, is it supposed to be used with all existing patches?

comment:12 Changed 4 years ago by kencu (Ken)

has dup #61247

comment:13 Changed 4 years ago by kencu (Ken)

smartest thing to do here might be to symlink our libevent.a into the right spot pre-build with a Portfile command, rather than fight with xcode.

Last edited 4 years ago by kencu (Ken) (previous) (diff)

comment:14 Changed 19 months ago by i0ntempest

Resolution: fixed
Status: assignedclosed

Should be fixed in the update to v4.0.3

Note: See TracTickets for help on using tickets.