missing symbol

Bug #1297397 reported by Kyle Nitzsche
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity-scopes-api
Fix Released
High
Marcus Tomlinson
unity-scopes-api (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I created a new scope from the sdk using its new scope template for c++.

mkdir build; cd build; cmake .. ; make

Then try to launch the new scope with:
unity-scope-tool src/s2-scope.ini

It fails with missing symbol:
scoperegistry: no remote registry configured, only local scopes will be available
/usr/lib/x86_64-linux-gnu/scoperegistry/scoperegistry: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE
file:///usr/share/unity8/Dash/DashContent.qml:104: TypeError: Cannot read property 'loaded' of null
file:///usr/share/unity8/ScopeTool.qml:77:31: Unable to assign [undefined] to scopes_ng::Scope*
file:///usr/share/unity8/ScopeTool.qml:149:23: Unable to assign null to QString
unity-scope-tool: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE

$ apt-cache policy unity-scope-tool
unity-scope-tool:
  Installed: 7.84+14.04.20140324.4-0ubuntu1
  Candidate: 7.84+14.04.20140324.4-0ubuntu1
  Version table:
 *** 7.84+14.04.20140324.4-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status

$ apt-cache policy qtcreator-plugin-ubuntu
qtcreator-plugin-ubuntu:
  Installed: 3.0.1+14.04.20140324.1-0ubuntu1
  Candidate: 3.0.1+14.04.20140324.1-0ubuntu1
  Version table:
 *** 3.0.1+14.04.20140324.1-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
     2.8.1.3bzr104trusty0 0
        500 http://ppa.launchpad.net/ubuntu-sdk-team/ppa/ubuntu/ trusty/main amd64 Package

Related branches

description: updated
David Planella (dpm)
tags: added: scopes-template
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

I also get this bug when I build the scope from the SDK (Crtl + B) then in shell move to the build dir (../build-...) and launch the unity-scope-tool/src/MYSCOPE.ini file.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

and the same error when I (in build dir) do 'make install' and launch the unity-scope-tool pointing at the installed scope:
$ unity-scope-tool /usr/local/lib/x86_64-linux-gnu/unity-scopes/s3-scope/s3-scope.ini
scoperegistry: ignoring scope "s3-scope": cannot create metadata: unity::LogicException: Could not get string value (/usr/local/lib/x86_64-linux-gnu/unity-scopes/s3-scope/s3-scope.ini, group: ScopeConfig): Key file does not have key 'Author'
scoperegistry: no remote registry configured, only local scopes will be available
/usr/lib/x86_64-linux-gnu/scoperegistry/scoperegistry: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE
file:///usr/share/unity8/Dash/DashContent.qml:104: TypeError: Cannot read property 'loaded' of null
file:///usr/share/unity8/ScopeTool.qml:77:31: Unable to assign [undefined] to scopes_ng::Scope*
file:///usr/share/unity8/ScopeTool.qml:149:23: Unable to assign null to QString
unity-scope-tool: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

fyi, here is a brand new scope from the sdk template that fails with the above error:
lp:~knitzsche/+junk/scope-bug-1297397

Thomas Strehl (strehl-t)
Changed in unity-scopes-api:
assignee: nobody → Marcus Tomlinson (marcustomlinson)
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

finally, I see that it has nothing to do with any scope I created since you can run unity-scope-tool without an arg and it should work, but does not:
$ unity-scope-tool
file:///usr/share/unity8/Dash/DashContent.qml:104: TypeError: Cannot read property 'loaded' of null
file:///usr/share/unity8/ScopeTool.qml:77:31: Unable to assign [undefined] to scopes_ng::Scope*
file:///usr/share/unity8/ScopeTool.qml:149:23: Unable to assign null to QString
unity-scope-tool: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

Hi Kyle, thanks for bringing this to our attention.
Could I please ask that you first ensure that you have built your scope against the very latest unity-scopes API:

1. sudo apt-get update
2. sudo apt-get install libunity-scopes-dev
3. <build your scope>

Then ensure that you have all the latest revisions of the required runtime software:

1. sudo apt-get install unity8 unity-plugin-scopes unity-scope-tool
2. unity-scope-tool

Let me know if this helps / doesn't help.

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

Hmmm, there also seems to be a problem with the scope template project itself.
Scope ini files now require a mandatory "Author" field.

Adding the line: "Author = Kyle Nitzsche" to: scopekyle-scope.ini, fixes your scope.

I will make sure the template gets updated as soon as possible.

Changed in unity-scopes-api:
status: New → In Progress
David Planella (dpm)
tags: added: scope-template
removed: scopes-template
Revision history for this message
David Planella (dpm) wrote :

From talking to Kyle yesterday, and comparing installed packages, it seems he was up-to-date.

The missing symbol seems to come from libzmq3, but he had that up-to-date too.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

Hi Marcus,

As David mentioned, I appear to have the needed software installed and updated, yet I still have the undefined symbol:

$ apt-cache policy libunity-scopes-dev
libunity-scopes-dev:
  Installed: 0.4.0+14.04.20140324-0ubuntu1
  Candidate: 0.4.0+14.04.20140324-0ubuntu1
  Version table:
 *** 0.4.0+14.04.20140324-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
$ apt-cache policy unity8
unity8:
  Installed: 7.84+14.04.20140324.4-0ubuntu1
  Candidate: 7.84+14.04.20140324.4-0ubuntu1
  Version table:
 *** 7.84+14.04.20140324.4-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
$ apt-cache policy unity-plugin-scopes
unity-plugin-scopes:
  Installed: 0.4.0+14.04.20140324-0ubuntu1
  Candidate: 0.4.0+14.04.20140324-0ubuntu1
  Version table:
 *** 0.4.0+14.04.20140324-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
$ apt-cache policy unity-scope-tool
unity-scope-tool:
  Installed: 7.84+14.04.20140324.4-0ubuntu1
  Candidate: 7.84+14.04.20140324.4-0ubuntu1
  Version table:
 *** 7.84+14.04.20140324.4-0ubuntu1 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
        100 /var/lib/dpkg/status
$ unity-scope-tool
file:///usr/share/unity8/Dash/DashContent.qml:104: TypeError: Cannot read property 'loaded' of null
file:///usr/share/unity8/ScopeTool.qml:77:31: Unable to assign [undefined] to scopes_ng::Scope*
file:///usr/share/unity8/ScopeTool.qml:149:23: Unable to assign null to QString
unity-scope-tool: symbol lookup error: /usr/lib/x86_64-linux-gnu/libunity-scopes.so.0: undefined symbol: _ZN5zmqpp6socketC1ERKNS_7contextERKNS_11socket_typeE

Revision history for this message
Paweł Stołowski (stolowski) wrote :

Ok, problem discussed on IRC and solved; it was caused by local installation of zmqpp.

Changed in unity-scopes-api:
status: In Progress → Invalid
Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

Ok, so the issue was that there was a rogue installation of zmqpp floating around that needed nuking.
Once that was removed and the zmqpp from distro was installed correctly, everything worked :)

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

OK, This is now resolved.

I must have had zmqpp installed from a git separately because after doing 'sudo make uninstall' in a zmqpp git dir it works fine.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

And this is why I installed zmqpp from git.

The unity-scopes-api branch INSTALL file contains this:

 Some dependencies need to be installed manually as they are not yet available in Ubuntu:
 33
 34 - Zmqpp:
 35 $ git clone https://github.com/benjamg/zmqpp.git
 36 $ cd zmqpp && make && sudo mkdir -p /usr/local/include/zmqpp && sudo make install

I wanted to build the package last week, hit some issues, and followed those instructions.
(I should have remembered this but it was one thing in a list of things).

Revision history for this message
Marcus Tomlinson (marcustomlinson) wrote :

Ah yes, sorry about that. I had a feeling after we spoke that this was the cause of the issue.
I've MR-ed a branch to fix the INSTALL file.

Changed in unity-scopes-api:
status: Invalid → In Progress
importance: Undecided → High
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-scopes-api/devel at revision 286, scheduled for release in unity-scopes-api, milestone Unknown

Changed in unity-scopes-api:
status: In Progress → Fix Committed
David Planella (dpm)
tags: removed: scope-template
Michal Hruby (mhr3)
Changed in unity-scopes-api:
status: Fix Committed → Fix Released
Changed in unity-scopes-api (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.