Closed jpummil closed 6 years ago
You can recompile everything with gcc to get rid of the warning, but note that it's just a warning and if you don't encounter any problems at runtime it's probably fine. Anecdotally I've never had any errors with the stdc++ mismatch. Feel free to open a new issue if you do encounter problems when running software.
It does in fact throw an error during execution:
dyld: Library not loaded: /usr/local/opt/gcc/lib/gcc/7/libgomp.1.dylib Referenced from: /usr/local/Cellar/canu/1.7/Darwin-amd64/bin/gatekeeperCreate Reason: image not found
While gcc was loaded by brew install process...the clang instance seems to be default:
gcc --version Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 9.1.0 (clang-902.0.39.1) Target: x86_64-apple-darwin17.5.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
try reinstalling canu
from source with brew reinstall -s canu
if that works then please file a new pull request to bump the revision number of canu, thanks!
(the libstdc++ warning is a red herring in this case - the real reason is that the current version of gcc is 8.1 but canu is trying to link against gcc 7)
Same error after brew reinstall -s canu...
No obvious errors during the process however:
brew reinstall -s canu
==> Reinstalling brewsci/bio/canu
==> Downloading https://github.com/marbl/canu/archive/v1.7.tar.gz
==> Downloading from https://codeload.github.com/marbl/canu/tar.gz/v1.7
######################################################################## 100.0%
==> make -C src
Last 15 lines from /Users/jpummil/Library/Logs/Homebrew/canu/01.make:
^~~~
In file included from /usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/memory:80,
from utgcns/libboost/boost/unordered/unordered_set_fwd.hpp:14,
from utgcns/libboost/boost/unordered/unordered_set.hpp:17,
from utgcns/libboost/boost/unordered_set.hpp:17,
from utgcns/libboost/boost/graph/adjacency_list.hpp:21,
from utgcns/libpbutgcns/AlnGraphBoost.H:69,
from utgcns/libcns/unitigConsensus.C:77:
/usr/local/Cellar/gcc/8.1.0/include/c++/8.1.0/bits/unique_ptr.h:53:28: note: declared here
template~~~
utgcns/libcns/unitigConsensus.C: In function 'char generateTemplateStitch(abAbacus, tgPosition*, uint32, double, bool)':
utgcns/libcns/unitigConsensus.C:464:8: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
if (verbose)
^
@jpummil Please surround copied-and-pasted logs with triple back ticks. See GitHub Help / Quoting Code.
Hi, Jeff. Could you please open a PR to bump the revision of canu
?
brew edit canu
then after sha256
add a line
revision 1
Hey Shaun,
Sorry about the back ticks...just now getting in to the details of posting to Git.
On that note, I've never filed a Pull Request, and when I hop over there, it's asking for both a base:master and a pull:master?
Hang with me...I'll only have to learn this once ;-)
Edit: Ahhh! This is from the command line! So, I believe I have accomplished this step...
That error in the build process is also a red herring, here's the real build error:
In file included from utgcns/libNDalign/NDalign.C:39:
AS_UTL/stddev.H: In member function 'const std::vector<long long unsigned int>& genericStatistics<TT>::histogram()':
AS_UTL/stddev.H:341:12: error: invalid initialization of reference of type 'const std::vector<long long unsigned int>&' from expression of type 'std::vector<long long unsigned int>*'
return(&_histogram);
~^~~~~~~~~~~~
AS_UTL/stddev.H: In member function 'const std::vector<long long unsigned int>& genericStatistics<TT>::Nstatistics()':
AS_UTL/stddev.H:346:12: error: invalid initialization of reference of type 'const std::vector<long long unsigned int>&' from expression of type 'std::vector<long long unsigned int>*'
return(&_Nstatistics);
~^~~~~~~~~~~~~~
Taking a reference of a pointer seems like a mistake (why not just pass the pointer by value?) so changing it to return(_histogram)
and return(_Nstatistics)
will probably work...
Sorry about the back ticks...just now getting in to the details of posting to Git.
No worries!
Odd. That does look like it may be a bug. I'd suggest reporting that build error to the upstream developers at https://github.com/marbl/canu/
To bump the revision, you can also use the GitHub web interface if you prefer. The defaults for the base and branch should be correct. For the command like, I like using hub
.
brew install hub
hub fork
git push
hub pull-request
Not my day, Shaun...
brew install hub
==> Downloading https://homebrew.bintray.com/bottles/hub-2.2.9.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring hub-2.2.9.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completions have been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/hub/2.2.9: 10 files, 9.4MB
jeffs-imac-pro:~ jpummil$ hub fork
fatal: Not a git repository
@jpummil maybe lets do something simpler and see if brew doctor
confirms your setup is correct?
Hey Torsten!
brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!
Warning: Broken symlinks were found. Remove them with `brew prune`:
/usr/local/bin/docker-credential-osxkeychain.backup
/usr/local/bin/hyperkit.backup
/usr/local/bin/notary.backup
/usr/local/bin/vpnkit.backup
I should note that other packages exhibit similar issues. I just tried quickmerge for example:
brew install quickmerge
Updating Homebrew...
==> Auto-updated Homebrew!
Updated Homebrew from 5c3ec3e7c to 3794d5357.
Updated 1 tap (homebrew/core).
==> Updated Formulae
agedu fluent-bit imagemagick@6 mupdf purescript vala
annie folly infer mupdf-tools qjackctl vte3
bcal geoserver ispc nss redshift x265
clang-format git-lfs jenkins osm2pgrouting restic zsh-autosuggestions
cockroach gitlab-runner jsonpp petsc spdlog
coffeescript glib-networking libxo plantuml stella
dependency-check gnome-latex logtalk plowshare stunnel
diffoscope heroku mill pre-commit telegraf
firebase-cli imagemagick mongo-c-driver pumba texmath
==> Installing quickmerge from brewsci/bio
==> Installing dependencies for brewsci/bio/quickmerge: mummer, gdbm, openssl, sqlite, python@2
==> Installing brewsci/bio/quickmerge dependency: mummer
==> Downloading https://linuxbrew.bintray.com/bottles-bio/mummer-3.23_3.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring mummer-3.23_3.sierra.bottle.tar.gz
🍺 /usr/local/Cellar/mummer/3.23_3: 147 files, 6.5MB
==> Installing brewsci/bio/quickmerge dependency: gdbm
==> Downloading https://homebrew.bintray.com/bottles/gdbm-1.14.1_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring gdbm-1.14.1_1.high_sierra.bottle.tar.gz
🍺 /usr/local/Cellar/gdbm/1.14.1_1: 20 files, 555.7KB
==> Installing brewsci/bio/quickmerge dependency: openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2o_1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring openssl-1.0.2o_1.high_sierra.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
/usr/local/etc/openssl/certs
and run
/usr/local/opt/openssl/bin/c_rehash
This formula is keg-only, which means it was not symlinked into /usr/local,
because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
==> Summary
🍺 /usr/local/Cellar/openssl/1.0.2o_1: 1,791 files, 12.3MB
==> Installing brewsci/bio/quickmerge dependency: sqlite
==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.23.1.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring sqlite-3.23.1.high_sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides an older sqlite3.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> ~/.bash_profile
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/sqlite/lib
CPPFLAGS: -I/usr/local/opt/sqlite/include
==> Summary
🍺 /usr/local/Cellar/sqlite/3.23.1: 11 files, 3MB
==> Installing brewsci/bio/quickmerge dependency: python@2
==> Downloading https://homebrew.bintray.com/bottles/python@2-2.7.15.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring python@2-2.7.15.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/python@2/2.7.15/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --r
==> /usr/local/Cellar/python@2/2.7.15/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --r
==> /usr/local/Cellar/python@2/2.7.15/bin/python -s setup.py --no-user-cfg install --force --verbose --single-version-externally-managed --r
==> Caveats
Pip and setuptools have been installed. To update them
pip install --upgrade pip setuptools
You can install Python packages with
pip install <package>
They will install into the site-package directory
/usr/local/lib/python2.7/site-packages
See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
🍺 /usr/local/Cellar/python@2/2.7.15: 4,669 files, 82.7MB
==> Installing brewsci/bio/quickmerge
==> Downloading https://linuxbrew.bintray.com/bottles-bio/quickmerge-0.2.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring quickmerge-0.2.sierra.bottle.tar.gz
🍺 /usr/local/Cellar/quickmerge/0.2: 6 files, 164.0KB
Then, a quick test:
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range: basic_string
Abort trap: 6
What command did you run?
❯❯❯ quickmerge --help
All options were not supplied :(
Usage: quickmerge -d delta_file.out -q hybrid.fasta -r self.fasta -hco (default=5.0) -c (default=1.5) -l seed_length_cutoff -ml merging_length_cutoff
@jpummil Try using the GitHub web interface to edit canu.rb
Navigate to the canu
formula
https://github.com/brewsci/homebrew-bio/blob/master/Formula/canu.rb
then click the pencil edit icon. Then add
revision 1
below sha256
and submit the pull request.
Shaun,
On quickmerge, I successfully executed the first two steps described in the "Manual" operation of the package listed here:
https://github.com/mahulchak/quickmerge
It's when I executed the final step that I got the error:
quickmerge -d out.rq.delta -q hybrid_assembly.fasta -r self_assembly.fasta -hco 5.0 -c 1.5 -l n -ml m
Shaun,
Believe I successfully added the revision 1 piece and submitted the pull request.
Regarding quickmerge, that may be a bug in quickmerge. I'd suggest contacting the developers of quickmerge.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
This issue is addressed by PR #285.
Warning: brewsci/bio/canu dependency gmp was built with a different C++ standard library (libc++ from clang). This may cause problems at runtime. 🍺 /usr/local/Cellar/canu/1.7: 96 files, 10.2MB
Install Canu assembly package
Warning: brewsci/bio/canu dependency gmp was built with a different C++ standard library (libc++ from clang). This may cause problems at runtime. 🍺 /usr/local/Cellar/canu/1.7: 96 files, 10.2MB
For Homebrew to resolve dependencies and set up paths to avoid possible warnings and issues with things like C++ libraries.
brew install
commands)Completely removed all existing brew installed apps, then completely removed old brew. Re-installed brew after updating system (no errors)... Then: brew tap brewsci/bio brew install canu ==> Installing canu from brewsci/bio ==> Installing dependencies for brewsci/bio/canu: gmp, isl, mpfr, libmpc, gcc ==> Installing brewsci/bio/canu dependency: gmp ==> Downloading https://homebrew.bintray.com/bottles/gmp-6.1.2_2.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring gmp-6.1.2_2.high_sierra.bottle.tar.gz 🍺 /usr/local/Cellar/gmp/6.1.2_2: 18 files, 3.1MB ==> Installing brewsci/bio/canu dependency: isl ==> Downloading https://homebrew.bintray.com/bottles/isl-0.19.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring isl-0.19.high_sierra.bottle.tar.gz 🍺 /usr/local/Cellar/isl/0.19: 66 files, 3.8MB ==> Installing brewsci/bio/canu dependency: mpfr ==> Downloading https://homebrew.bintray.com/bottles/mpfr-4.0.1.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring mpfr-4.0.1.high_sierra.bottle.tar.gz 🍺 /usr/local/Cellar/mpfr/4.0.1: 28 files, 4.6MB ==> Installing brewsci/bio/canu dependency: libmpc ==> Downloading https://homebrew.bintray.com/bottles/libmpc-1.1.0.high_sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring libmpc-1.1.0.high_sierra.bottle.tar.gz 🍺 /usr/local/Cellar/libmpc/1.1.0: 12 files, 353.8KB ==> Installing brewsci/bio/canu dependency: gcc ==> Downloading https://homebrew.bintray.com/bottles/gcc-8.1.0.high_sierra.bottle.1.tar.gz ######################################################################## 100.0% ==> Pouring gcc-8.1.0.high_sierra.bottle.1.tar.gz 🍺 /usr/local/Cellar/gcc/8.1.0: 1,495 files, 336.1MB ==> Installing brewsci/bio/canu ==> Downloading https://linuxbrew.bintray.com/bottles-bio/canu-1.7.sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring canu-1.7.sierra.bottle.tar.gz Warning: brewsci/bio/canu dependency gmp was built with a different C++ standard library (libc++ from clang). This may cause problems at runtime. 🍺 /usr/local/Cellar/canu/1.7: 96 files, 10.2MB
I believe there are additional warnings similar to this one as I attempted to add new packages with "brew install" last time. Is there a best method to resolve this situation and make everything just "work" again? Clang seems to have thrown a wrench into things...