gtDMMB / RNAStructViz

Visualization, comparison, and analysis of RNA secondary structures via a cross-platform GUI
https://github.com/gtDMMB/RNAStructViz/wiki
GNU General Public License v3.0
17 stars 5 forks source link

Failed to install with brew #104

Closed benchengl closed 3 years ago

benchengl commented 3 years ago

I tried to install RNAStructViz using brew.

brew install gtDMMB/core/RNAStructViz

But the installation stopped when it's downloading "https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20200124-5929" and I got the following error:

curl: (22) The requested URL returned error: 404 Not Found Error: Failed to download resource "fltkwithcairo" Download failed: https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20200124-59295b52.tar.gz

When I opened the URL above, it seems I don't have the permission to access the page. Does anyone know to fix this?

maxieds commented 3 years ago

@benchengl My apologies. Confirming that the original link has been removed:

$ wget https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20200124-59295b52.tar.gz
--2021-05-24 20:04:10--  https://www.fltk.org/pub/fltk/snapshots/fltk-1.4.x-20200124-59295b52.tar.gz
Resolving www.fltk.org (www.fltk.org)... 173.230.155.139
Connecting to www.fltk.org (www.fltk.org)|173.230.155.139|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2021-05-24 20:04:19 ERROR 404: Not Found.

I mirrored the most recent tarball for FLTK 1.4.x on our brew tap formula repo. Please retest and let me know if it works now. Remember to run brew update before reinstalling. 😸

benchengl commented 3 years ago

@maxieds Thank you! I reinstalled and it went through this time. But I got another error at the end:

Error: gtdmmb/core/fltkwithcairo fltk-1.4.x-20210514-cbee4880 did not build
Logs:
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/02.configure
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/01.make
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/00.options.out
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/02.configure.cc
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/config.log
     /Users/benchengli/Library/Logs/Homebrew/fltkwithcairo/01.make.cc

Do you know what is going on?

maxieds commented 3 years ago

@benchengl Are you using MacOS 10.14/Mojave? Please keep in mind that we are not able to support 10.15/Catalina. Either way, would you mind uploading each of the files in your list above so I can see them?

benchengl commented 3 years ago

@maxieds I am currently using MacOS 11.3 Big Sur. Is the software supported on it? It seems I can only upload the following file here. config.log

maxieds commented 3 years ago

@benchengl We debated testing on MacOS 10.15/Catalina for a while. It is known to be a broken platform from the perspective of its compiler tools. We did not have the resources to dedicate to it during the main development. You are using an even newer MacOS, so I surmise that it will not build on your platform either (see here for reference).

I would still find the compiler outputs of all the files you listed above very useful to take a look at. You can upload them to the GitHub thread here if you append .txt to the file name (same issue with CT/FASTA file uploads 😄 ).

Do you have access to an older Mac, or maybe a Linux box you can try to install RNAStructViz on?

benchengl commented 3 years ago

@maxieds Here I attached all the files in the list above. 00.options.out.txt 02.configure.cc.txt 02.configure.txt 01.make.cc.txt 01.make.txt I don't have access to an older Mac right now, but I can try to use Linux with a virtual machine. Would it be helpful?

maxieds commented 3 years ago

@benchengl Yes, compiling on Linux is very much known to work! The catch is that the brew package I wrote for it does not work with linux-brew as there are too many Apple platform specific compiler options needed to get FLTK to build. The WIKI instructions for Linux (from-source) may be slightly out of date. Which flavor of Linux are you using? I can try to help here if you run into any issues.

Thanks for the Mac compiler output. I will grok at it to see if I can see what happened.

maxieds commented 3 years ago

@benchengl Can you run uname -a on your Mac and post the output for me?

benchengl commented 3 years ago

@maxieds Sure! The output is

Darwin BenchengdeiMac.local 20.4.0 Darwin Kernel Version 20.4.0: Fri Mar  5 01:14:02 PST 2021; root:xnu-7195.101.1~3/RELEASE_ARM64_T8101 arm64

I have currently no idea of how to use Linux using a virtual machine, but I will search online and give it a try. Thank you for your help! I am pretty new at this...

maxieds commented 3 years ago

@benchengl OK! I think I have something good to try. My desktop Mac is x86_64 whereas yours is arm64. I changed the brew formula and checked that it still works with my local MacOS on Mojave. Can you try running the following commands again on your local Mac?

$ brew update
$ brew install gtDMMB/core/RNAStructViz
benchengl commented 3 years ago

@maxieds I have tried it again and at the end it says

checking build system type... arm-apple-darwin20.4.0
checking host system type... arm-apple-darwin20.4.0
checking for gcc... clang -g -DBUILD_SHARED_LIBS -D__APPLE__ -D__APPLE_QUARTZ__ -DROTATE -arch arm64 -I /usr/local/opt/cairo/include/cairo
checking whether the C compiler works... no
configure: error: in `/private/tmp/fltkwithcairo-20210527-17770-1lxz7bf/fltk-1.4.x-20200124-59295b52':
configure: error: C compiler cannot create executables
See `config.log' for more details
maxieds commented 3 years ago

@benchengl And the broken compiler tools on MacOS past release 10.14 rear their ugly head! There is not much I can do about this. Sorry.

If you want to try running Linux in your virtual machine, then I will be happy to help. If you are new to it, I would use something based on the apt package manager like Ubuntu or Mint (nicer desktop for beginners). The install instructions I linked above for Linux (from-source) should cover most of the details. Again, let me know if you run into anything installing.

benchengl commented 3 years ago

@maxieds OK! Thank you so much.

benchengl commented 3 years ago

@maxieds I managed to use Ubuntu 20.04 by the Parallels Desktop. But when I install libboost1.62-all-dev using

sudo apt-get install libboost1.62-all-dev

I got the following error saying

E: Unable to locate package libboost1.62-all-dev
E: Couldn't find any package by glob 'libboost1.62-all-dev'
E: Couldn't find any package by regex 'libboost1.62-all-dev'

Do you know what is going on?

maxieds commented 3 years ago

@benchengl A quick search leads me to an alternate version of the package name / version:

sudo apt-get install libboost-all-dev

Please do keep me up to date if you find problems with the WIKI install instructions. To get yourself up and running quicker, you can search packages by running:

sudo apt-get update
apt-cache search <package-keywords> 
# For example:
apt-cache search libboost
maxieds commented 3 years ago

@benchengl One BIG exception is that you DO NOT want to install the Ubuntu packages for FLTK (with cairo). Please follow the instructions in the WIKI to do that. RNAStructViz requires a few non-standard options at compile time that will not be enabled with the Unbuntu distro versions.

benchengl commented 3 years ago

@maxieds Thank you! Following the instructions, when I typed

CPPFLAGS=`pkg-config --cflags libpng` LDFLAGS=`pkg-config --libs libpng` ./configure --enable-cairo --enable-threads --with-x --enable-x11 --enable-xft --enable-debug

I ended up with this message:

configure: WARNING: could not find the required Xft headers and/or libraries.
configure: please install Xft headers and libraries or use 'configure --disable-xft'.
configure: error: Aborting.
maxieds commented 3 years ago

@benchengl Please install this package:

sudo apt-get install libxft-dev

After you do that, repeat the build procedure for FLTK. Let me know if that works so I can update the WIKI.

maxieds commented 3 years ago

@benchengl It looks like you didn't follow the complete set of instructions for the Debian derivative Linux distros linked here (Ubuntu / apt based systems are based on the archaic, and harder to use, Debian linux platform...)

benchengl commented 3 years ago

@maxieds It does work! Thank you!

@benchengl Please install this package:

sudo apt-get install libxft-dev

After you do that, repeat the build procedure for FLTK. Let me know if that works so I can update the WIKI.

benchengl commented 3 years ago

@maxieds When I installed the Vienna RNA and typed

make clean

I got

make: *** No rule to make target 'clean'.  Stop.

So I tried

make -f Makefile.in clean

but I ended up with another error saying

Makefile.in:15: *** missing separator.  Stop.
maxieds commented 3 years ago

@benchengl Try this modification to the WIKI instructions to build FLTK:

$ CPPFLAGS=`pkg-config --cflags libpng` LDFLAGS=`pkg-config --libs libpng` ./configure --enable-cairo --enable-threads --with-x --enable-x11 --enable-xft --enable-debug
$ make clean && make
$ sudo make install 

The Makefile.in is an automake template for the Makefile that the configure script creates. This was probably an artifact of my writing the instructions after already having run configure. What I meant was to clean up any old build files first to make sure that all of the new configure-time settings get applied when compiling the source. My bad.

benchengl commented 3 years ago

@maxieds When I tried the first line above, I got the following configure error

configure: error: cannot guess build type; you must specify one
configure: error: ./configure failed for g2-0.72
configure: error: ./configure failed for src/RNAforester
maxieds commented 3 years ago

@benchengl I misunderstood what you meant. I thought you were still stuck on building FLTK! 😅

When you try the WIKI instructions for Vienna does it work correctly?

benchengl commented 3 years ago

@maxieds Sorry, I didn't express it clearly. This is a problem when I tried to install Vienna RNA. So when I typed

$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ make clean

I got the error message saying

make: *** No rule to make target 'clean'.  Stop.

And after I tried

make -f Makefile.in clean

I got

Makefile.in:15: *** missing separator.  Stop.

Do you know how to fix it?

maxieds commented 3 years ago

I have the same explanation forwhy invoking the Makefile.in does not work as above (it's an automake template file, not a real bonafide Makefile that can be run as-is without calling automake, which I assume is done by the configure script).

Try running this (without the make clean step included):

$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install
maxieds commented 3 years ago

@benchengl

I have the same explanation forwhy invoking the Makefile.in does not work as above (it's an automake template file, not a real bonafide Makefile that can be run as-is without calling automake, which I assume is done by the configure script).

Try running this (without the make clean step included):

$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install

Then pick up with the remaining instructions for Vienna in the WIKI. We're almost there!

benchengl commented 3 years ago

@maxieds Yeah! Sorry about so many questions these days, but it's really struggling for a beginner like me.

So when I ran the commands below (without make clean),

I have the same explanation forwhy invoking the Makefile.in does not work as above (it's an automake template file, not a real bonafide Makefile that can be run as-is without calling automake, which I assume is done by the configure script).

Try running this (without the make clean step included):

$ tar xvzf ViennaRNA-2.4.14.tar.gz
$ cd ViennaRNA-2.4.14
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install

I got the following configure errors (same as I said above),

configure: error: cannot guess build type; you must specify one
configure: error: ./configure failed for g2-0.72
configure: error: ./configure failed for src/RNAforester
maxieds commented 3 years ago

@benchengl I am more than happy to help you get RNAStructViz installed on Linux. Your feedback is important and helps me keep the WIKI install instructions up-to-date.

Following from this post idea, I suggest running:

find /usr/share/automake* -iname 'config.guess'

Write that file path down (or copy it on the terminal) -- call it <CONFIG-GUESS-PATH> below. On my Mac, it's located at /usr/local/Cellar/automake/1.16.2/share/automake-1.16/config.guess (Linux should be similar, but not the same).

Now from within the directory ViennaRNA-2.4.14 run:

mv config.guess config.guess-dist
cp <CONFIG-GUESS-PATH> ./config.guess
# Please, if you don't mind, post the output of the following command:
diff config.guess config.guess-dist

Then re-run the Vienna install instructions from the configure step.

benchengl commented 3 years ago

@maxieds Hi, thank you for your response! My CONFIG-GUESS-PATH is /usr/share/automake-1.16/config.guess and there seems no output after I ran

diff config.guess config.guess-dist

When I re-run the configure step, it seems that I got the same error messages at the end as before:

configure: error: cannot guess build type; you must specify one
configure: error: ./configure failed for g2-0.72
configure: error: ./configure failed for src/RNAforester
maxieds commented 3 years ago

@benchengl Can you try to reinstall with the latest version of ViennaRNA:

$ wget https://www.tbi.univie.ac.at/RNA/download/sourcecode/2_4_x/ViennaRNA-2.4.18.tar.gz
$ tar xvzf ViennaRNA-2.4.18.tar.gz
$ cd ViennaRNA-2.4.18
$ ./configure --disable-debug --disable-dependency-tracking --with-python
$ make
$ sudo make install

If that doesn't do it, try running

$ sudo apt-get install -y automake

then repeat the install process above for Vienna.

maxieds commented 3 years ago

@benchengl Did it work with the updated version of Vienna?

benchengl commented 3 years ago

@maxieds Apologies for the late reply! It seems it works right now. Thank you for your help!

benchengl commented 3 years ago

@maxieds In the RNAStructViz directory, when I tried to use make clean to build the source, I got the error messages as follows,

cd src && make -f Makefile clean
make[1]: Entering directory '/home/parallels/RNAStructViz/src'
make[1]: /fltk-config: Command not found
make[1]: /fltk-config: Command not found
make[1]: /fltk-config: Command not found
make[1]: /fltk-config: Command not found
make[1]: /fltk-config: Command not found
make[1]: /fltk-config: Command not found
make[1]: Leaving directory '/home/parallels/RNAStructViz/src'

Do you know how to fix it?

maxieds commented 3 years ago

@benchengl Try running: unset BUILD_FLTK_LOCAL. Does that solve the issue?

maxieds commented 3 years ago

@benchengl In addition to trying the above suggestion, please run the following to rebuild RNAStructViz:

cd RNAStructViz
git pull
make
./src/RNAStructViz
benchengl commented 3 years ago

@maxieds It doesn't work. When I ran git pull in the RNAStructViz folder, it says

fatal: unable to access 'https://github.com/gtDMMB/RNAStructViz.git/': Failed to connect to github.com port 443: Connection refused
maxieds commented 3 years ago

@benchengl That's really weird. It doesn't look like a problem on my end though, probably more like an internet connectivity problem, or the directory was corrupted somehow. What happens when you delete the directory, re-clone it, and then try building again?

benchengl commented 3 years ago

@maxieds Yeah, it seems that's because of my bad internet connection at that time. But when I tried running make when rebuilding RNAStructViz, I got the following messages which seems to be the same problem I had earlier.

cd src && make -f Makefile default
make[1]: Entering directory '/home/parallels/RNAStructViz/src'

/home/parallels/RNAStructViz/src/BuildInclude/BuildTargetInfo.h information already up-to-date ... 

g++   -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -pthread -I/usr/local/include -I/usr/local/include/ViennaRNA -I/usr/include/libpng16 -DTARGETOS_LINUX -I/usr/local/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/local/include/FL/images -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT -DFLTK_HAVE_CAIRO -DFLTKSTATIC -D_LARGEFILE_SOURCE -DBOOST_MPL_LIMIT_LIST_SIZE=10 -D_LARGEFILE64_SOURCE -funsigned-char -fwrapv -freciprocal-math -ffinite-math-only  -DPERFORM_BRANCH_TYPE_ID=0 -DBUILD_WITH_EXTERNAL_SAMPLING_SUPPORT=0 -DBUILD_WITH_VIENNARNA=1 -DBUILD_WITH_RNASTRUCTURE=0 -DBUILD_WITH_NCBI_LOOKUP_SUPPORT=0 -D__RNASTRUCTVIZ_ENABLE_BETA_TESTING_FEATURES=1 -DWITHGPERFTOOLS=0 -DWITH_FASTA_FORMAT_SUPPORT=0 -DUSE_SCHEDULED_DELETION=1 -g3 -O0 -march=native -m64 -std=c++17 -I/usr/include -Wall -Wextra   -c AutoloadIndicatorButton.cpp -o BuildObjects/AutoloadIndicatorButton.o
g++: error: unrecognized command line option ‘-m64’
make[1]: *** [Makefile:263: BuildObjects/AutoloadIndicatorButton.o] Error 1
make[1]: Leaving directory '/home/parallels/RNAStructViz/src'
make: *** [Makefile:2: default] Error 2
maxieds commented 3 years ago

@benchengl Ahh, ok, I forgot that you were not building on an Intel-based x86_64 architecture. My best guess is that whatever emulation software you are using to run Linux defaults to the native platform architecture. So the "-m64" compiler flags would be a no-go on your incompatible system. This is the first time I have run into that case.

To fix the problem for now, run the following:

cd RNAStructViz
git pull 
make clean && make
./src/RNAStructViz
benchengl commented 3 years ago

@maxieds Thank you! Now it's successfully installed.

maxieds commented 3 years ago

@benchengl Awesome! I'm going to close out the issue. Let me know if you run into anything else. 😺