Discngine / fpocket

fpocket is a very fast open source protein pocket detection algorithm based on Voronoi tessellation. The platform is suited for the scientific community willing to develop new scoring functions and extract pocket descriptors on a large scale level. fpocket is distributed as free open source software. If you are interested in integrating fpocket in an industrial setting and require official support, please contact Discngine (www.discngine.com).
MIT License
271 stars 60 forks source link

Problem compiling fpocket 4.1 #100

Closed xavgit closed 8 months ago

xavgit commented 1 year ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

Smartphone (please complete the following information):

Additional context Add any other context about the problem here.

When I use make to compile I receive the following error: ............................................................................... ............................................................................... make[1]: Leaving directory '/home/xxxx/sources/fpocket-4.1/src/qhull' gcc -W -Wextra -Wwrite-strings -Wstrict-prototypes -DM_OS_LINUX -DMNO_MEM_DEBUG -O2 -g -pg -std=c99 -Iplugins/include -Iplugins/LINUXAMD64/molfile -c src/fpmain.c -o obj/fpmain.o In file included from src/../headers/atom.h:18, from src/../headers/rpdb.h:18, from src/../headers/fpocket.h:23, from src/../headers/fpmain.h:23, from src/fpmain.c:2: src/../headers/utils.h:37:9: warning: ISO C99 requires whitespace after the macro name 37 | #define M_MAX_CUSTOM_PÖCKET_LEN 8000 / maximum length for a custom pocket string*/ | ^~~~~~ src/../headers/utils.h:37:23: error: stray ‘\303’ in program 37 | #define M_MAX_CUSTOM_P��CKET_LEN 8000 /* maximum length for a custom pocket string/ | ^ src/../headers/fparams.h:185:25: note: in expansion of macro ‘M_MAX_CUSTOM_P’ 185 | char custom_pocket_arg[M_MAX_CUSTOM_PÖCKET_LEN]; | ^~~~~~ src/../headers/utils.h:37:24: error: stray ‘\226’ in program 37 | #define M_MAX_CUSTOM_P��CKET_LEN 8000 / maximum length for a custom pocket string*/ | ^ src/../headers/fparams.h:185:25: note: in expansion of macro ‘M_MAX_CUSTOM_P’ 185 | char custom_pocket_arg[M_MAX_CUSTOM_PÖCKET_LEN]; | ^~~~~~ src/../headers/utils.h:37:25: error: ‘CKET_LEN’ undeclared here (not in a function) 37 | #define M_MAX_CUSTOM_PÖCKET_LEN 8000 /* maximum length for a custom pocket string/ | ^~~~ src/../headers/fparams.h:185:25: note: in expansion of macro ‘M_MAX_CUSTOM_P’ 185 | char custom_pocket_arg[M_MAX_CUSTOM_PÖCKET_LEN]; | ^~~~~~ src/../headers/utils.h:37:34: error: expected ‘]’ before numeric constant 37 | #define M_MAX_CUSTOM_PÖCKET_LEN 8000 / maximum length for a custom pocket string/ | ^~~~ src/../headers/fparams.h:185:25: note: in expansion of macro ‘M_MAX_CUSTOM_P’ 185 | char custom_pocket_arg[M_MAX_CUSTOM_PÖCKET_LEN]; | ^~~~~~ In file included from src/../headers/rpdb.h:23, from src/../headers/fpocket.h:23, from src/../headers/fpmain.h:23, from src/fpmain.c:2: src/../headers/fparams.h:185:39: error: stray ‘\303’ in program 185 | char custom_pocket_arg[M_MAX_CUSTOM_P��CKET_LEN]; | ^ src/../headers/fparams.h:185:40: error: stray ‘\226’ in program 185 | char custom_pocket_arg[M_MAX_CUSTOM_P��CKET_LEN]; | ^ make: [makefile:148: obj/fpmain.o] Error 1

I have downloaded fpocket-4.1.tar.gz in ~/sources and then tar xzvf `ls -t | head -n 1` cd fpocket-4.1/ make

On my laptop is installed Ubuntu. uname -a && cat /etc/*release Linux xxxx-Lenovo-IdeaPad-S340-15API 5.4.0-74-generic #83-Ubuntu SMP Sat May 8 02:35:39 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.5 LTS" NAME="Ubuntu" VERSION="20.04.5 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.5 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal

Thanks. Saverio

xavgit commented 1 year ago

Hi, analyzing the make errors I have made some fixes in fparams.c , fparms.h and utils.h. Now make seems that works fine. But I am not sure about the working of the the executables as I have not made the code. Attached is the make output. Thanks. Saverio

fpocket-4.1_make_output.txt

Yorick-126 commented 1 year ago

Hi Saverio,

I got the same problem, how did you fix your errors? I was thinking about swapping the "Ö" characters with normal O's, as I think that breaks the compiler. Would be great if you could share your solution!

Cheers, Yorick

xavgit commented 1 year ago

Hi Yorick, I don't remember exactly the steps made to run make without errors. If you have a bit of experience in compiling C/C++ program then it is a very easy task fix the errors by the substitution of the strings that the compiler don't want to process. In my case I have analyzed the reported errors and then I have made the fixes in the corresponding files. I also use Ubuntu 22.04 and for this version Fpocket make runs without any problem. In the case of the version 20.04 I have compiled the Fpocket version 4.0.3 without any problems and I have used this version because I guess that the fixes that I have made cannot give me any warranty about workings of the program.

Best. Saverio

Mishakolok commented 1 year ago

Hi, just wanted to say that this error appeared for me when compiling FPocket with GCC-9. Switching to GCC-11 fixed everything to normal

pschmidtke commented 8 months ago

merged -> closing the issue, thx for reporting