-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
installing without root #27
Comments
Hello @ksahlin , Thank you for your message. You should be able to install Please let me know if these suggestions helped you with the installation. Best, |
Thanks for your help @mohsenzakeri; it is appreciated. The way I interpret this is to do this:
I still get
and I get the same downstream error in make. Did I misinterpret your answer? Best, |
Hi @ksahlin, So it looks like the setting of the compilers is being registered (by these lines in the CMake log):
but it looks like these are not being passed to the downstream build of Thanks, |
Two quick addenda to my last message:
--Rob |
Hi @rob-p , Thanks, I can confirm that rebooting, removing complete pufferfish directory, and following the below steps got me a lot further.
This is what I now get:
|
@ksahlin looks like you are missing |
@ksahlin I was having problems compiling within a conda environment too but at the SeqLib part. But I didn’t specify the cmake env vars mentioned here, though even without that with the conda environment activated OneTBB compiled. Will have to try it again with those env vars conda-forge also has a |
@ksahlin @rob-p I spent forever trying to get Pufferfish to build within a conda environment... OneTBB isn't the problem it builds, really it's SeqLib, no matter what I tried, with Pufferfish cmake options, bash environment vars, SeqLib configure options, SeqLib make options, it just refused to find the conda Pufferfish and the dependencies including SeqLib build no problem on my Linux box using system-wide dependencies and no conda. But I also need to build Pufferfish without root for use on an HPC cluster where the system C and C++ versions are quite old and I have no rights to install any system dependencies unlike on my Linux box. Tried to build Pufferfish on the HPC using their existing system dependencies but it didn't work. I went through the pain to get Pufferfish to statically build on my Linux box. Got it to finally work. Not an easy feat given all the dependencies needing static compilation or pointing to existing "*.a" files and cmake gymnastics. But it's possible, and I tested it on the HPC and all working. |
Hi @hermidalc, Given that SeqLib works OK by itself, I wonder if the problem is the specific commit / branch of SeqLib we depend upon. I recall that we pull from our own fork, because SeqLib also contains a lot of stuff we didn't need and wanted to avoid building. It would be great if we could figure out how to minimize this dependency (or even what's necessary to drop it entirely) and ease the build of pufferfish. Perhaps, also, @fataltes has a better recollection of this than do I. |
The latest SeqLib version on GitHub doesn't build on my Linux box using system-wide libraries (error in bwa part), though your fork builds, so glad you might've reduced unneeded parts, because SeqLib building seems really fragile. All other Pufferfish dependencies are in conda-forge or bioconda already, including htslib (which SeqLib uses), so if eventually it could be more decoupled from SeqLib it would be a big step toward being able to have pufferfish as as a prebuilt conda package on bioconda (which would really raise exposure). I would be happy to work on the bioconda recipe for it and test it via my personal conda channel. |
@rob-p I wonder how do you get the bioconda salmon package to build in a conda environment when I believe it has and uses pufferfish internally? I believe you would run into the same SeqLib problem I'm running into on Linux.
|
To show you what happens with SeqLib. On my vanilla Fedora 36 and Mambaforge install, here's the name: pufferfish
channels:
- conda-forge
dependencies:
- boost-cpp
- bzip2
- cmake
- curl
- icu
- gcc
- gxx
- libjemalloc
- libblas=*[build=*mkl]
- libhwloc
- libopenblas
- jsoncpp
- make
- tbb
- wget
- xz
- zlib Then: mamba env create -y pufferfish.yaml
mamba activate pufferfish git clone [email protected]:COMBINE-lab/pufferfish.git
mkdir pufferfish/build
cd pufferfish/build export PATH="/home/hermidalc/soft/mambaforge/envs/pufferfish/lib:/home/hermidalc/soft/mambaforge/envs/pufferfish/include:$PATH"
export LDFLAGS="-L/home/hermidalc/soft/mambaforge/envs/pufferfish/lib"
export CPPFLAGS="-I/home/hermidalc/soft/mambaforge/envs/pufferfish/include"
export CXXFLAGS="-I/home/hermidalc/soft/mambaforge/envs/pufferfish/include"
cmake \
-DCMAKE_C_COMPILER=/home/hermidalc/soft/mambaforge/envs/pufferfish/bin/cc \
-DCMAKE_CXX_COMPILER=/home/hermidalc/soft/mambaforge/envs/pufferfish/bin/c++ \
../ Which looks good and finds the conda environment dependencies not system-wide ones:
Then
Tried many different things could't figure out why it keeps failing, all of its checks look good. |
If anyone wants or needs a Linux x86_64 statically compiled Pufferfish |
Hello,
I would like to test puffAligner but the installation fails with the wrong C++ compiler detected when following the installation instructions. It seems that cmake it is skipping my local
g++
, and the error occurs at themake
stage.I am on a server without root access and use
cmake
andg++
in a conda environment. The system-installedcmake
andg++
are too old for building puffalign (I tried with them before updating cmake and g++).Any suggestions for fixing this, or is it possible to supply a static build of puffaligner?
Versions
Here are the versions:
LOG
Log when running cmake:
Log when running make:
The text was updated successfully, but these errors were encountered: