New Base Image added for use in Dockerfile#253
New Base Image added for use in Dockerfile#253thesharmanitish wants to merge 1 commit intoababaian:masterfrom
Conversation
Step1: build Dockerfile_BaseImg
Step 2: Build Dockerfile
Currently Dockerfile is failing in last step with below error. I need to check the source code of gappa to understand furthur the root cause.
[ 2%] Building CXX object libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o
/gappa/build/genesis_unity_sources/lib/all.cpp: In function 'std::string genesis::utils::strerror_()':
/gappa/build/genesis_unity_sources/lib/all.cpp:36523:41: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
36523 | std::string tmp(p, std::strlen( p ));
| ^
| |
| int
In file included from /usr/include/fortify/wchar.h:30,
from /usr/include/c++/10.3.1/cwchar:44,
from /usr/include/c++/10.3.1/bits/postypes.h:40,
from /usr/include/c++/10.3.1/iosfwd:40,
from /usr/include/c++/10.3.1/memory:74,
from /gappa/libs/genesis/lib/genesis/placement/sample.hpp:34,
from /gappa/libs/genesis/lib/genesis/placement/function/helper.hpp:34,
from /gappa/build/genesis_unity_sources/lib/all.cpp:33:
/usr/include/string.h:52:16: note: initializing argument 1 of 'size_t strlen(const char*)'
52 | size_t strlen (const char *);
| ^~~~~~~~~~~~
make[3]: *** [libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/build.make:76: libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/__/__/__/__/genesis_unity_sources/lib/all.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:141: libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/all] Error 2
make[1]: *** [Makefile:91: all] Error 2
make: *** [Makefile:44: build] Error 2
|
Sorry I forgot to mention, the containers which need optimization are: |
|
No problem, I will take a look at them as well, Meanwhile can you please review this as well, If it requires some changes let me know, |
| @@ -0,0 +1,7 @@ | |||
| FROM alpine:latest | |||
There was a problem hiding this comment.
This was a very large rabbit-hole in the early days of Serratus development, but Alpine Linux is not the preferred distribution for a lightweight deployment. The C compiler (musl) ended up throwing weird errors when building some bioinformatics software.
For lightweight build the go to distro has been amazonlinux:2. This will make it more consistent with the rest of the project.
Step1: build Dockerfile_BaseImg
Step 2: Build Dockerfile
Currently Dockerfile is failing in last step with below error. I need to check the source code of gappa to understand furthur the root cause.
[ 2%] Building CXX object libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/////genesis_unity_sources/lib/all.cpp.o
/gappa/build/genesis_unity_sources/lib/all.cpp: In function 'std::string genesis::utils::strerror_()':
/gappa/build/genesis_unity_sources/lib/all.cpp:36523:41: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
36523 | std::string tmp(p, std::strlen( p ));
| ^
| |
| int
In file included from /usr/include/fortify/wchar.h:30,
from /usr/include/c++/10.3.1/cwchar:44,
from /usr/include/c++/10.3.1/bits/postypes.h:40,
from /usr/include/c++/10.3.1/iosfwd:40,
from /usr/include/c++/10.3.1/memory:74,
from /gappa/libs/genesis/lib/genesis/placement/sample.hpp:34,
from /gappa/libs/genesis/lib/genesis/placement/function/helper.hpp:34,
from /gappa/build/genesis_unity_sources/lib/all.cpp:33:
/usr/include/string.h:52:16: note: initializing argument 1 of 'size_t strlen(const char*)'
52 | size_t strlen (const char *);
| ^~~~~~~~~~~~
make[3]: *** [libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/build.make:76: libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/////genesis_unity_sources/lib/all.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:141: libs/genesis/lib/genesis/CMakeFiles/genesis_lib_static.dir/all] Error 2
make[1]: *** [Makefile:91: all] Error 2
make: *** [Makefile:44: build] Error 2