marbl / seqrequester

A tool for summarizing, extracting, generating and modifying DNA sequences.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Make error

crj0139 opened this issue · comments

Make does not seem to be working, at least on Ubuntu. Running "make" gives extremely long output (I cannot scroll all the way up), but it all looks like:

/usr/include/string.h:28:1: note: ‘extern "C"’ linkage started here
28 | __BEGIN_DECLS
| ^~~~~~~~~~~~~
In file included /path......................................

There are also many lines like:

utility/src/datastructures/types-v1.H:222:8: error: ‘strcasecmp’ was not declared in this scope; did you mean ‘strcasestr’?
222 | if ((strcasecmp(str, "yes") == 0) ||
| ^~~~~~~~~~
| strcasestr
In file included from utility/src/system.H:26,
from utility/src/align/align-ksw2-driver.H:20,
from utility/src/align/align-ksw2-driver.C:20:
utility/src/system/time-v1.H: In member function ‘merylutil::system::v1::muTime& merylutil::system::v1::muTime::getTime(uint32)’:
utility/src/system/time-v1.H:86:5: error: ‘gettimeofday’ was not declared in this scope
86 | gettimeofday(&tp, nullptr);
| ^~~~~~~~~~~~

Only the build folder is made and one file in it. It does not appear to be a gcc version error.

I made a few changes that should fix some of these problems. It now builds on Ubuntu 22.04.1 with gcc-9.5.0.

You'll probably need to do git pull ; git submodule update to get all the changes.

If it still fails to build - or if you're feeling generous - attach the output of make > make.out 2>&1

make.out.txt

This was with a fresh clone.

Forgot, this is using Ubuntu 22.04.2

It appears to be 'Windows Subsystem for Linux'. The case-insensitive filesystem is confusing system 'strings.h' and my 'strings.H'. I've seen similar on MacOS.

Unfortunately, I don't have anything running WSL to test on, so I'm shooting blind. See if the attached Makefile.boilermake (in m.zip) will work.

How do I use the boilermake file? I have never used make like that.

Just unzip it in the src/ directory to replace the one that is there.

Worked perfectly, that Makefile.boilermake is the solution.

Awesome! I'll commit it later today.