Additional libs needed to link Unify application
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
In discussions with Cameron today, he suggested me to create an issue to document this, as it might require some addition tot he current documentation.
After doing a fresh Unify build on Catalyst, based on the version that was created for the 0.9.2 release (i.e. after PR#611), I had a new failure when trying to build an application and linking it to the Unify library. This was the error message:
```
/usr/bin/ld: warning: libjson-c.so.5, needed by /g/g12/mendes3/UnifyFS-611/UnifyFS/install/lib/libunifyfs_gotcha.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libspath.so, needed by /g/g12/mendes3/UnifyFS-611/UnifyFS/install/lib/libunifyfs_gotcha.so, not found (try using -rpath or -rpath-link)
/g/g12/mendes3/UnifyFS-611/UnifyFS/install/lib/libunifyfs_gotcha.so: undefined reference to `spath_strdup_reduce_str'
//g/g12/mendes3/UnifyFS-611/UnifyFS/install/lib/libmargo.so.0: undefined reference to `json_object_array_get_idx@JSONC_0.14'
. . .
//g/g12/mendes3/UnifyFS-611/UnifyFS/install/lib/libmargo.so.0: undefined reference to `json_tokener_error_desc@JSONC_0.14'
make: *** [testphdf5-gotcha] Error 1
```
This did not occur in previous Unify versions. I noticed that both libspath and libjson-c are now created under install/lib64/, while previously only libgotcha existed there. Thus, I had to add those two libraries explicitly to my link line, and then that application could build and run fine as expected.
Cameron says the need for libspath could go away with a proper Unify config flag, but libjson-c is a "dependency of a dependency", so it is harder to handle.
Anyway, the need for these two libs in the link line should be documented somewhere. Right now, their absence seems to make the link to fail, and this makes the slide for the tutorial example to be invalid (as it only shows libgotcha).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the tutorial example slide and its application link line, then compare them with the fresh 0.9.2 Catalyst build output. Document the need for libspath and libjson-c alongside libgotcha, including the observed linker failure and the successful link result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100