Opened 3 years ago

Last modified 6 months ago

#55550 new defect

Current ntop broken (and fails to rebuild) by current rrdtool

Reported by: gthb (Gunnlaugur Thor Briem) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula), jpoliv (José Pedro Oliveira), basmac, MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), willpush (Will Coulter), antimirov (Yevgen Antymyrov)
Port: ntop

Description

Port rev-upgrade is reporting ntop as broken and failing to rebuild it, because ntop references a lib that's no longer present in the current rrdtool.

$ sudo port -v rev-upgrade
--->  Scanning binaries for linking errors
Could not open /opt/local/lib/librrd_th.4.dylib: Error opening or reading file (referenced from /opt/local/bin/ntop)
--->  Found 4 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: ntop @5.0.1
Continue? [Y/n]:
--->  Computing dependencies for ntop
--->  Cleaning ntop
--->  Scanning binaries for linking errors
--->  Found 4 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
--->  Rebuilding in order
     ntop @5.0.1
--->  Computing dependencies for ntop
--->  Fetching distfiles for ntop
--->  Verifying checksums for ntop
--->  Extracting ntop
--->  Applying patches to ntop
--->  Configuring ntop
Error: Failed to configure ntop, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/work/ntop-5.0.1/config.log
Error: Failed to configure ntop: configure failure: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/main.log for details.
Error: rev-upgrade failed: Error rebuilding ntop
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
$ port log ntop
[...]
checking for RRD home... yes
checking for main in -lrrd_th... no
configure: error: Unable to find RRD at /opt/local: please use --with-rrd-home=DIR
Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/work/ntop-5.0.1" && /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/work/ntop-5.0.1/autogen.sh --prefix=/opt/local --with-rrd-home=/opt/local --without-ssl
Exit code: 1
Error: Failed to configure ntop, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/work/ntop-5.0.1/config.log
Error: Failed to configure ntop: configure failure: command execution failed
DEBUG: Error code: NONE
DEBUG: Backtrace: configure failure: command execution failed
DEBUG:     while executing
DEBUG: "$procedure $targetname"
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_net_ntop/ntop/main.log for details.
$ port installed rrdtool
The following ports are currently installed:
  rrdtool @1.5.5_1
  rrdtool @1.7.0_0 (active)

Indeed the current rrdtool doesn't contain that lib:

$ port contents rrdtool | grep _th

... outputs nothing.

Now if I activate the older version:

$ sudo port activate rrdtool @1.5.5_1
--->  Computing dependencies for rrdtool
--->  Deactivating rrdtool @1.7.0_0
--->  Cleaning rrdtool
--->  Activating rrdtool @1.5.5_1
--->  Cleaning rrdtool

then I do have that lib:

$ port contents rrdtool | grep _th
  /opt/local/lib/librrd_th.4.dylib
  /opt/local/lib/librrd_th.a
  /opt/local/lib/librrd_th.dylib

and the rev-upgrade no longer finds ntop broken:

sudo port -v rev-upgrade
--->  Scanning binaries for linking errors
--->  No broken files found.

So current MacPorts version of ntop is not compatible with current MacPorts version of rrdtool. Probably should explicitly depend on an older version, or be updated itself. (Or maybe the current rrdtool is just broken by not having that library; I don't know.)

Attachments (1)

main.log (29.4 KB) - added by gthb (Gunnlaugur Thor Briem) 3 years ago.
main.log from the failing build

Download all attachments as: .zip

Change History (13)

Changed 3 years ago by gthb (Gunnlaugur Thor Briem)

Attachment: main.log added

main.log from the failing build

comment:1 Changed 3 years ago by mf2k (Frank Schima)

looking at the ntop homepage, I don't see what the latest version of ntop is? Do you know?

Last edited 3 years ago by mf2k (Frank Schima) (previous) (diff)

comment:2 Changed 3 years ago by gthb (Gunnlaugur Thor Briem)

I don't know for sure. But from the homepage it seems like ntop is a deprecated old codebase and the “modern” replacement is ntopng (ng probably meaning “next generation”).

Indeed the current ntop version in MacPorts is 5.0.1 and it appears that 5.0 was released in summer 2012. There is no ntopng in MacPorts.

Last edited 3 years ago by gthb (Gunnlaugur Thor Briem) (previous) (diff)

comment:3 Changed 3 years ago by mf2k (Frank Schima)

There is a submission ticket with a version of ntopng from 3 years ago. #39667. I think updating that to the latest version and adding to Macports is the best solution.

comment:4 Changed 3 years ago by Schamschula (Marius Schamschula)

Cc: Schamschula added

comment:5 Changed 3 years ago by jpoliv (José Pedro Oliveira)

According to this mail thread

librrd_th has been deprecated as librrd is now thread safe.

<quote>
On 3/6/2016 2:09:17 AM, Tobi Oetiker <tobi at oetiker.ch [mailto:tobi at oetiker.ch]> wrote:
Hi Paul

if you are looking at the master branch ... librrd_th is gone since librrd is now thread-safe

cheers
tobi 

Tobias Oetiker
tobi at oetiker.ch [mailto:tobi at oetiker.ch]
062 775 9902
</quote>

comment:6 Changed 3 years ago by jpoliv (José Pedro Oliveira)

Cc: jpoliv added

comment:7 Changed 3 years ago by basmac

Cc: basmac added

comment:8 Changed 22 months ago by TheLastLovemark

So what is the solution?

comment:9 Changed 22 months ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: MarcusCalhoun-Lopez added

comment:10 Changed 19 months ago by willpush (Will Coulter)

Cc: willpush added

comment:11 Changed 7 months ago by antimirov (Yevgen Antymyrov)

Cc: antimirov added

comment:12 Changed 6 months ago by nsk-dev

Why do you keep this port although it is outdated and always failing to build?

ntopng native installer is already available for MacOS by the way. https://www.ntop.org/announce/introducing-ntopng-for-macos-finally/

It failed to start after installing the package:

~ % sudo ntopng
Password:
13/Jun/2020 12:58:37 [Ntop.cpp:2255] Setting local networks to 127.0.0.0/8
13/Jun/2020 12:58:37 [Redis.cpp:99] ERROR: Connection error [Connection refused]
...
13/Jun/2020 12:58:53 [Redis.cpp:148] ERROR: ntopng requires redis server to be up and running
13/Jun/2020 12:58:53 [Redis.cpp:149] ERROR: Please start it and try again or use -r
13/Jun/2020 12:58:53 [Redis.cpp:150] ERROR: to specify a redis server other than the default

It susccessfully runs after the following steps:

sudo port install redis   
sudo redis-server /opt/local/etc/redis.conf
sudo ntopng &
http://localhost:3000
Note: See TracTickets for help on using tickets.