source-highlight error after upgrade to 10.9

Ryan Schmidt ryandesign at macports.org
Wed Mar 5 18:19:03 PST 2014


On Mar 5, 2014, at 15:13, Jean-François Caron wrote:

> On Mar 4, 2014, at 17:33 , Ryan Schmidt wrote:
> 
>> On Mar 4, 2014, at 18:05, Jean-François Caron wrote:
>> 
>>> Hi, I finally caved in and upgraded to 10.9 from 10.7 in order to get reasonable C++11 support.  One of the not-unexpected side-effects is random other problems coming up because of it.  
>>> 
>>> I have the environment variables LESS and LESSOPEN set for less to use source-highlight (e.g. http://superuser.com/questions/71588/how-to-syntax-highlight-via-less).  With the upgrade, now I get this error whenever I use less:
>>> 
>>> dyld: Symbol not found: __ZN5boost13match_resultsIN9__gnu_cxx17__normal_iteratorIPKcSsEESaINS_9sub_matchIS5_EEEE12maybe_assignERKS9_
>>> Referenced from: /opt/local/lib/libsource-highlight.4.dylib
>>> Expected in: /opt/local/lib/libboost_regex-mt.dylib
>>> in /opt/local/lib/libsource-highlight.4.dylib
>>> /opt/local/bin/src-hilite-lesspipe.sh: line 4: 15153 Trace/BPT trap: 5       source-highlight --failsafe --infer-lang -f esc --style-file=esc.style -i "$source"
>>> 
>>> I did rebuild all my ports after upgrading, and all the other ones that I tested work.  Is this because source-highlight is a GNU (thus libstcxx) program and 10.9 uses libcxx?  Or some other problem?
>> 
>> It works fine for me on Mavericks.
>> 
>> I do believe the error occurred because boost and source-highlight were not both compiled with clang and thus libc++ on your system. If you really did uninstall and reinstall all ports, as per the wiki Migration page, then the only reason that should happen is if you requested that, by overriding configure.compiler. Did you?
> 
> My boost was build with options +no_static+python27+no_single, using the default compiler afaik (I did not change configure.compiler).  Boost does have variants in order to build it with different compilers, so I tried re-building it with +clang32 (since I already have clang32 installed for something else), but the error message remains.

I see these compiler variants were recently added to the boost port (r116366). I don’t know why. Usually, you should not need to set a specific compiler, and should let MacPorts choose the correct default for you.


> Is there a config file or log that I could provide for more precise diagnostic?

Logs are automatically deleted upon successful installation, unless you asked at installation time for them to be retained. For example, if you set “keeplogs yes” in macports.conf at the time that you installed those ports, then their main.log would be retained. If you used the “-k” flag while installing them (e.g. “sudo port -k install boost”), then in addition to the main.log, the entire work directory (which, if the port’s build system produces one, would contain the config.log file) would be retained.

Please show the output of the following commands:

port -v installed boost source-highlight

otool -L /opt/local/lib/lib{boost_regex-mt,source-highlight.4}.dylib





More information about the macports-users mailing list