[MacPorts] #70015: ettercap opportunistically uses libtapi if it is installed
MacPorts
noreply at macports.org
Fri May 17 20:54:42 UTC 2024
#70015: ettercap opportunistically uses libtapi if it is installed
-------------------------------------------+----------------------
Reporter: barracuda156 | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.9.3
Keywords: leopard, snowleopard, powerpc | Port: ettercap
-------------------------------------------+----------------------
I do not really get why this happens, since nothing in the source seems to
ask for it, but if `libtapi` is installed and active, build picks it,
which breaks compilation at least on PowerPC:
{{{
:info:build [ 19%] Linking C shared library libettercap-ui.dylib
:info:build cd
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
&& /opt/local/bin/cmake -E cmake_link_script
CMakeFiles/ec_interfaces.dir/link.txt --verbose=ON
:info:build /usr/bin/gcc-4.2 -pipe -Os -O2 -w -D_FORTIFY_SOURCE=2 -arch
ppc -mmacosx-version-min=10.6 -dynamiclib -Wl,-headerpad_max_install_names
-undefined dynamic_lookup -current_version 0.8.3 -o libettercap-
ui.0.8.3.1.dylib -install_name /opt/local/lib/libettercap-ui.0.dylib
CMakeFiles/ec_interfaces.dir/__/ec_interfaces.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text_conn.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text_display.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text_plugin.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text_profile.c.o
CMakeFiles/ec_interfaces.dir/text/ec_text_redirect.c.o
CMakeFiles/ec_interfaces.dir/daemon/ec_daemon.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_compound.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_debug.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_dialog.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_dynlist.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_error.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_file.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_input.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_list.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_menu.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_panel.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_percentage.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_scroll.c.o
CMakeFiles/ec_interfaces.dir/curses/widgets/wdg_window.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_filters.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_help.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_hosts.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_live.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_logging.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_mitm.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_offline.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_plugins.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_start.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_targets.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_view.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_view_connections.c.o
CMakeFiles/ec_interfaces.dir/curses/ec_curses_view_profiles.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_conf.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_filters.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_help.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_hosts.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_live.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_logging.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_menus.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_mitm.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_offline.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_plugins.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_redirect.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_start.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_targets.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_view.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_view_connections.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_view_profiles.c.o
CMakeFiles/ec_interfaces.dir/gtk3/ec_gtk3_shortcuts.c.o
-Wl,-rpath,/opt/local/lib /opt/local/lib/libncurses.dylib
/opt/local/lib/libform.dylib /opt/local/lib/libncurses.dylib
/opt/local/lib/libform.dylib /opt/local/lib/libpanel.dylib
/opt/local/lib/libmenu.dylib /opt/local/lib/libfreetype.dylib
/opt/local/lib/libglib-2.0.dylib /opt/local/lib/libgthread-2.0.dylib
/opt/local/lib/libgobject-2.0.dylib /opt/local/lib/libgio-2.0.dylib
/opt/local/lib/libgdk_pixbuf-2.0.dylib /opt/local/lib/libgdk-3.0.dylib
/opt/local/lib/libgtk-3.0.dylib /opt/local/lib/libcairo.dylib
/opt/local/lib/libpango-1.0.dylib /opt/local/lib/libatk-1.0.dylib
/opt/local/lib/libgthread-2.0.dylib /opt/local/lib/libpcap.dylib
/opt/local/libexec/openssl3/lib/libssl.dylib
/opt/local/libexec/openssl3/lib/libcrypto.dylib /opt/local/lib/libz.dylib
/opt/local/lib/libiconv.dylib /opt/local/lib/libGeoIP.dylib
/opt/local/lib/libnet.dylib //usr/lib/libresolv.dylib
/opt/local/lib/libpcre.dylib /opt/local/lib/libgobject-2.0.dylib
/opt/local/lib/libgio-2.0.dylib /opt/local/lib/libgdk_pixbuf-2.0.dylib
/opt/local/lib/libgdk-3.0.dylib /opt/local/lib/libgtk-3.0.dylib
/opt/local/lib/libcairo.dylib /opt/local/lib/libpango-1.0.dylib
/opt/local/lib/libatk-1.0.dylib /opt/local/lib/libpcap.dylib
/opt/local/libexec/openssl3/lib/libssl.dylib
/opt/local/libexec/openssl3/lib/libcrypto.dylib /opt/local/lib/libz.dylib
/opt/local/lib/libiconv.dylib /opt/local/lib/libGeoIP.dylib
/opt/local/lib/libnet.dylib //usr/lib/libresolv.dylib
/opt/local/lib/libpcre.dylib
:info:build cd
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
&& /opt/local/bin/cmake -E cmake_symlink_library libettercap-
ui.0.8.3.1.dylib libettercap-ui.0.dylib libettercap-ui.dylib
:info:build cd
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
&& /opt/local/bin/tapi stubify -isysroot / -o libettercap-ui.0.8.3.1.tbd
libettercap-ui.0.8.3.1.dylib
:info:build error: cannot read file
'/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
/libettercap-ui.0.8.3.1.dylib': unknown/unsupported architecture
:info:build make[2]: *** [src/interfaces/libettercap-ui.0.8.3.1.tbd] Error
1
:info:build make[2]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build'
:info:build make[1]: *** [src/interfaces/CMakeFiles/ec_interfaces.dir/all]
Error 2
:info:build make[1]: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build'
:info:build make: *** [all] Error 2
:info:build make: Leaving directory
`/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build'
:info:build Command failed: cd
"/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build"
&& /usr/bin/make -j6 -w all VERBOSE=ON
:info:build Exit code: 2
:error:build Failed to build ettercap: command execution failed
:debug:build Error code: CHILDSTATUS 90528 2
}}}
While in complains about `libettercap-ui.0.8.3.1.dylib`, in fact it is
built correctly:
{{{
36-244% file
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
/libettercap-ui.0.8.3.1.dylib
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_net_ettercap/ettercap/work/build/src/interfaces
/libettercap-ui.0.8.3.1.dylib: Mach-O ppc_7400 dynamically linked shared
library, flags:<NOUNDEFS|DYLDLINK|TWOLEVEL|NO_REEXPORTED_DYLIBS>
}}}
The real issue is this: `/opt/local/bin/tapi stubify -isysroot / -o
libettercap-ui.0.8.3.1.tbd`. `libtapi` is untested on PowerPC and may not
work as expected, but why is the build even trying to produce `.tbd`
version? That is unneeded.
Deactivating `libtapi` lets the port build normally (with same compiler,
linker and cctools being used).
--
Ticket URL: <https://trac.macports.org/ticket/70015>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list