#8827 closed Bugs (worksforme)
libboost_regex missing link to libicuuc in openSUSE
| Reported by: | Owned by: | John Maddock | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | regex | 
| Version: | Boost 1.53.0 | Severity: | Problem | 
| Keywords: | opensuse ROS | Cc: | 
Description
I am running openSUSE 12.3, which installs with Boost v1.49 and just used YaST to update Boost to v1.53 along with a number of associated libraries. But when I go to install ROS, which uses libboost_regex, I get a series of errors that all look like the following:
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../lib64/libboost_regex-mt.so: undefined reference to `u_tolower_51'
After talking with someone on the Boost IRC channel who was very helpful, I was able to use readelf to look at the Version needs section of libboost_regex.so.1.53.0 and determine that libicuuc.so is not linked, which provides those missing references. I wish that I could offer a fix, but I'm way out of my depth here. If someone could please fix this linking issue and let me know how to do so on my system, I would greatly appreciate it. Thanks very much.
Change History (3)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
| Resolution: | → worksforme | 
|---|---|
| Status: | new → closed | 
comment:3 by , 9 years ago
Thanks very much for looking into it. I'll pass it along to the openSUSE community.


I just built regex on Ubuntu and the ICU libraries are definitely linked in there. I suspect that whoever packaged the binaries for that platform messed up - especially as it worked for 1.49, and I don't recall any significant changes to our build scripts. Suggest you file a bug report with Suse - sorry to pass the buck :-(
Possible workarounds would be to: