boost upgrade from 1.70.0_0 to 1.71.0_0 does not trigger ledger rebuilt

Kastus Shchuka macports at tprfct.net
Mon Sep 2 03:38:11 UTC 2019


I ran “port upgrade outdated” today and it installed a new version of boost:

--->  Computing dependencies for boost
--->  Fetching archive for boost
--->  Attempting to fetch boost-1.71.0_0+no_single+no_static+python27.darwin_17.x86_64.tbz2 from https://packages.macports.org/boost
--->  Attempting to fetch boost-1.71.0_0+no_single+no_static+python27.darwin_17.x86_64.tbz2.rmd160 from https://packages.macports.org/boost
--->  Installing boost @1.71.0_0+no_single+no_static+python27
--->  Cleaning boost
--->  Computing dependencies for boost
--->  Deactivating boost @1.70.0_0+no_single+no_static+python27
--->  Cleaning boost
--->  Activating boost @1.71.0_0+no_single+no_static+python27
--->  Cleaning boost

After that ledger fails to start:

$ /opt/local/bin/ledger -f ledger/journal 
dyld: lazy symbol binding failed: Symbol not found: __ZN5boost16re_detail_10700027cpp_regex_traits_char_layerIcE4initEv
  Referenced from: /opt/local/lib/libledger.3.dylib
  Expected in: /opt/local/lib/libboost_regex-mt.dylib

dyld: Symbol not found: __ZN5boost16re_detail_10700027cpp_regex_traits_char_layerIcE4initEv
  Referenced from: /opt/local/lib/libledger.3.dylib
  Expected in: /opt/local/lib/libboost_regex-mt.dylib

Abort

Ledger is not reported as outdated. Running port rev-upgrade does not find any problems with it either:

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


If I uninstall and install again ledger, I am getting the same error.

I had to build ledger from source:

$ sudo port install -s ledger                                        
--->  Computing dependencies for ledger
--->  Fetching distfiles for ledger
--->  Attempting to fetch ledger-3.1.3.tar.gz from https://distfiles.macports.org/ledger
--->  Verifying checksums for ledger                                                 
--->  Extracting ledger
--->  Configuring ledger
--->  Building ledger
--->  Staging ledger into destroot
--->  Installing ledger @3.1.3_0
--->  Activating ledger @3.1.3_0
--->  Cleaning ledger
--->  Scanning binaries for linking errors
--->  No broken files found.                             
--->  No broken ports found.

Now ledger runs properly.

Is it a bug in ledger port file that ledger does not detect upgrade of boost? Should I better report it in trac? Or is there a different way of going through boost upgrade?

Thanks,

Kastus




More information about the macports-users mailing list