how to make build for centos
I was able to successfully build it in Fedora 29.
But it makes troubles in CentOS.
We need new CMake and libs which are not available in CentOS 7.
Easiest way (not tested, though) is to convert .deb to .rpm using alien: yum install alien alien -r PACKAGE_FILE_NAME.deb sudo yum localinstall PACKAGE_FILE_NAME.rpm
debs available here: https://github.com/unxed/far2l-deb consider trying versions for the oldest distros first
ps: not sure if alien is able to correctly process dependencies.
This does not work. It requires the following:
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libwx_gtk2u_core-3.0.so.0()(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libcrypto.so.1.1()(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libwx_gtk2u_core-3.0.so.0(WXU_3.0)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libstdc++.so.6(GLIBCXX_3.4.21)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libstdc++.so.6(GLIBCXX_3.4.22)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libstdc++.so.6(CXXABI_1.3.8)(64bit)
Error: Package: far2l-2.0-2.x86_64 (/far2l-2.0-2.x86_64)
Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit)
I guess you can add the following instructions for CentOS 7:
Install development packages and tools:
yum install gawk m4 glib2-devel wxGTK3-devel cmake gcc-c++ git
Install cmake3, and new gcc, use it with scl:
yum install cmake3
yum install centos-release-scl
yum install devtoolset-8-gcc*
scl enable devtoolset-8 bash
which gcc
gcc --version
Clone far2l and do the same thing as described in readme:
git clone https://github.com/elfmz/far2l
mkdir build
cd build
cmake3 -DUSEWX=no -DCMAKE_BUILD_TYPE=Release ..
make -j4
make install
Enjoy!
--
centos-release-7-6.1810.2.el7.centos.x86_64

Here is a script for installing Far2l on CentOS 8:
https://github.com/pgagarinov/centos-config/blob/master/centos8/basic/install_far2l.sh
Here is a script for installing Far2l on CentOS 8:
https://github.com/pgagarinov/centos-config/blob/master/centos8/basic/install_far2l.sh
have two issues with this script on centos 8:
- wxGTK3-devel was not available, need to: dnf search epel-release sudo dnf install epel-release sudo dnf install wxGTK3-devel
- After installation, change Terminal flag in /usr/local/share/applications/far2l.desktop: Terminal=true
Here is a script for installing Far2l on CentOS 8: https://github.com/pgagarinov/centos-config/blob/master/centos8/basic/install_far2l.sh
have two issues with this script on centos 8:
1. wxGTK3-devel was not available, need to: dnf search epel-release sudo dnf install epel-release sudo dnf install wxGTK3-devel 2. After installation, change Terminal flag in /usr/local/share/applications/far2l.desktop: Terminal=true
Fixed in https://github.com/Alliedium/awesome-linux-config/blob/master/centos8/basic/install_far2l.sh
I guess you can add the following instructions for CentOS 7:
Install development packages and tools:
yum install gawk m4 glib2-devel wxGTK3-devel cmake gcc-c++ gitInstall cmake3, and new gcc, use it with scl:
yum install cmake3 yum install centos-release-scl yum install devtoolset-8-gcc* scl enable devtoolset-8 bash which gcc gcc --versionClone far2l and do the same thing as described in readme:
git clone https://github.com/elfmz/far2l mkdir build cd build cmake3 -DUSEWX=no -DCMAKE_BUILD_TYPE=Release .. make -j4 make installEnjoy!
--
centos-release-7-6.1810.2.el7.centos.x86_64
Has a problem with configuring on centos 7
-- git hash: 706304a
-- Build Type: Release Version: 2.5.2-706304a-beta
-- Enabling registry support due to enabled LEGACY
-- generating headers and languages
-- Building with libuchardet
CMake Error at /usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find Uchardet (missing: UCHARDET_LIBRARY UCHARDET_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/share/cmake3/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
cmake/modules/FindUchardet.cmake:16 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
far2l/CMakeLists.txt:214 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/kadmin/far2l/_build/CMakeFiles/CMakeOutput.log".
See also "/home/kadmin/far2l/_build/CMakeFiles/CMakeError.log"
Inside /home/kadmin/far2l/_build/CMakeFiles/CMakeError.log
Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
Change Dir: /home/kadmin/far2l/_build/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake cmTC_0d082/fast && /bin/gmake -f CMakeFiles/cmTC_0d082.dir/build.make CMakeFiles/cmTC_0d082.dir/build
gmake[1]: Entering directory `/home/kadmin/far2l/_build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_0d082.dir/src.c.o
/opt/rh/devtoolset-8/root/usr/bin/cc -Wall -std=c99 -fPIC -Wno-unused-function -D_FILE_OFFSET_BITS=64 -ffunction-sections -fdata-sections -Wl,--gc-sections -DWINPORT_REGISTRY -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_0d082.dir/src.c.o -c /home/kadmin/far2l/_bui
ld/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_0d082
/usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_0d082.dir/link.txt --verbose=1
/opt/rh/devtoolset-8/root/usr/bin/cc -Wall -std=c99 -fPIC -Wno-unused-function -D_FILE_OFFSET_BITS=64 -ffunction-sections -fdata-sections -Wl,--gc-sections -DWINPORT_REGISTRY -DCMAKE_HAVE_LIBC_PTHREAD -rdynamic CMakeFiles/cmTC_0d082.dir/src.c.o -o cmTC_0d082
CMakeFiles/cmTC_0d082.dir/src.c.o: In function `main':
src.c:(.text.main+0x21): undefined reference to `pthread_create'
src.c:(.text.main+0x2d): undefined reference to `pthread_detach'
src.c:(.text.main+0x39): undefined reference to `pthread_cancel'
src.c:(.text.main+0x4a): undefined reference to `pthread_join'
src.c:(.text.main+0x5e): undefined reference to `pthread_atfork'
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_0d082] Error 1
gmake[1]: Leaving directory `/home/kadmin/far2l/_build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_0d082/fast] Error 2
Source file was:
#include <pthread.h>
void* test_func(void* data)
{
return data;
}
int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, test_func, NULL);
pthread_detach(thread);
pthread_cancel(thread);
pthread_join(thread, NULL);
pthread_atfork(NULL, NULL, NULL);
pthread_exit(NULL);
return 0;
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/kadmin/far2l/_build/CMakeFiles/CMakeTmp
Run Build Command(s):/bin/gmake cmTC_d6556/fast && /bin/gmake -f CMakeFiles/cmTC_d6556.dir/build.make CMakeFiles/cmTC_d6556.dir/build
gmake[1]: Entering directory `/home/kadmin/far2l/_build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d6556.dir/CheckFunctionExists.c.o
/opt/rh/devtoolset-8/root/usr/bin/cc -Wall -std=c99 -fPIC -Wno-unused-function -D_FILE_OFFSET_BITS=64 -ffunction-sections -fdata-sections -Wl,--gc-sections -DWINPORT_REGISTRY -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_d6556.dir/CheckFunctionExists.c.o
-c /usr/share/cmake3/Modules/CheckFunctionExists.c
Linking C executable cmTC_d6556
/usr/bin/cmake3 -E cmake_link_script CMakeFiles/cmTC_d6556.dir/link.txt --verbose=1
/opt/rh/devtoolset-8/root/usr/bin/cc -Wall -std=c99 -fPIC -Wno-unused-function -D_FILE_OFFSET_BITS=64 -ffunction-sections -fdata-sections -Wl,--gc-sections -DWINPORT_REGISTRY -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_d6556.dir/CheckFunctionExi
sts.c.o -o cmTC_d6556 -lpthreads
/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_d6556] Error 1
gmake[1]: Leaving directory `/home/kadmin/far2l/_build/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_d6556/fast] Error 2
ldconfig has output
ldconfig -p | grep pthread
libpthread.so.0 (libc6,x86-64, OS ABI: Linux 2.6.32) => /lib64/libpthread.so.0
libpthread.so.0 (libc6, OS ABI: Linux 2.6.32) => /lib/libpthread.so.0
libgpgme-pthread.so.11 (libc6,x86-64) => /lib64/libgpgme-pthread.so.11
libevent_pthreads-2.0.so.5 (libc6,x86-64) => /lib64/libevent_pthreads-2.0.so.5