[GNC] Building GnuCash from src distributions

John Ralls jralls at ceridwen.us
Wed May 19 17:34:23 EDT 2021



> On May 19, 2021, at 1:52 PM, mike823 <fkjasdhf878 at mailinator.com> wrote:
> 
> Thank you John,
> 
> How do I get support for build? I've sent two days ago a message to "GnuCash
> - Dev" but no answer.
> 
> Here is the error I am getting:
> 
> 
> [******@CentOS-8dot1 gnucash-build]$ cat
> /home/******/gnucash-build/CMakeFiles/CMakeError.log
> Determining if the pthread_create exist failed with the following output:
> Change Dir: /home/******/gnucash-build/CMakeFiles/CMakeTmp
> 
> Run Build Command:"/usr/bin/gmake" "cmTC_8837a/fast"
> /usr/bin/gmake -f CMakeFiles/cmTC_8837a.dir/build.make
> CMakeFiles/cmTC_8837a.dir/build
> gmake[1]: Entering directory
> '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> Building C object CMakeFiles/cmTC_8837a.dir/CheckSymbolExists.c.o
> /usr/bin/cc    -o CMakeFiles/cmTC_8837a.dir/CheckSymbolExists.c.o   -c
> /home/******/gnucash-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
> Linking C executable cmTC_8837a
> /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8837a.dir/link.txt
> --verbose=1
> /usr/bin/cc      CMakeFiles/cmTC_8837a.dir/CheckSymbolExists.c.o  -o
> cmTC_8837a
> CMakeFiles/cmTC_8837a.dir/CheckSymbolExists.c.o: In function `main':
> CheckSymbolExists.c:(.text+0x16): undefined reference to `pthread_create'
> collect2: error: ld returned 1 exit status
> gmake[1]: *** [CMakeFiles/cmTC_8837a.dir/build.make:87: cmTC_8837a] Error 1
> gmake[1]: Leaving directory '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> gmake: *** [Makefile:126: cmTC_8837a/fast] Error 2
> 
> File /home/******/gnucash-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
> /* */
> #include <pthread.h>
> 
> int main(int argc, char** argv)
> {
>  (void)argv;
> #ifndef pthread_create
>  return ((int*)(&pthread_create))[argc];
> #else
>  (void)argc;
>  return 0;
> #endif
> }
> 
> Determining if the function pthread_create exists in the pthreads failed
> with the following output:
> Change Dir: /home/******/gnucash-build/CMakeFiles/CMakeTmp
> 
> Run Build Command:"/usr/bin/gmake" "cmTC_fead3/fast"
> /usr/bin/gmake -f CMakeFiles/cmTC_fead3.dir/build.make
> CMakeFiles/cmTC_fead3.dir/build
> gmake[1]: Entering directory
> '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> Building C object CMakeFiles/cmTC_fead3.dir/CheckFunctionExists.c.o
> /usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create   -o
> CMakeFiles/cmTC_fead3.dir/CheckFunctionExists.c.o   -c
> /usr/share/cmake/Modules/CheckFunctionExists.c
> Linking C executable cmTC_fead3
> /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_fead3.dir/link.txt
> --verbose=1
> /usr/bin/cc  -DCHECK_FUNCTION_EXISTS=pthread_create   
> CMakeFiles/cmTC_fead3.dir/CheckFunctionExists.c.o  -o cmTC_fead3 -lpthreads
> /usr/bin/ld: cannot find -lpthreads
> collect2: error: ld returned 1 exit status
> gmake[1]: *** [CMakeFiles/cmTC_fead3.dir/build.make:87: cmTC_fead3] Error 1
> gmake[1]: Leaving directory '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> gmake: *** [Makefile:126: cmTC_fead3/fast] Error 2
> 
> 
> Determining if the AB_Banking_RuntimeConfig_SetCharValue exist failed with
> the following output:
> Change Dir: /home/******/gnucash-build/CMakeFiles/CMakeTmp
> 
> Run Build Command:"/usr/bin/gmake" "cmTC_0b53b/fast"
> /usr/bin/gmake -f CMakeFiles/cmTC_0b53b.dir/build.make
> CMakeFiles/cmTC_0b53b.dir/build
> gmake[1]: Entering directory
> '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> Building C object CMakeFiles/cmTC_0b53b.dir/CheckSymbolExists.c.o
> /usr/bin/cc  -I/usr/include/aqbanking6 -I/usr/include/gwenhywfar5   -o
> CMakeFiles/cmTC_0b53b.dir/CheckSymbolExists.c.o   -c
> /home/******/gnucash-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c
> Linking C executable cmTC_0b53b
> /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0b53b.dir/link.txt
> --verbose=1
> /usr/bin/cc      CMakeFiles/cmTC_0b53b.dir/CheckSymbolExists.c.o  -o
> cmTC_0b53b
> CMakeFiles/cmTC_0b53b.dir/CheckSymbolExists.c.o: In function `main':
> CheckSymbolExists.c:(.text+0x16): undefined reference to
> `AB_Banking_RuntimeConfig_SetCharValue'
> collect2: error: ld returned 1 exit status
> gmake[1]: *** [CMakeFiles/cmTC_0b53b.dir/build.make:87: cmTC_0b53b] Error 1
> gmake[1]: Leaving directory '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> gmake: *** [Makefile:126: cmTC_0b53b/fast] Error 2
> 
> File /home/******/gnucash-build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
> /* */
> #include <aqbanking/banking.h>
> 
> int main(int argc, char** argv)
> {
>  (void)argv;
> #ifndef AB_Banking_RuntimeConfig_SetCharValue
>  return ((int*)(&AB_Banking_RuntimeConfig_SetCharValue))[argc];
> #else
>  (void)argc;
>  return 0;
> #endif
> }
> 
> Determining if compiler accepts -pthread failed with the following output:
> Change Dir: /home/******/gnucash-build/CMakeFiles/CMakeTmp
> 
> Run Build Command:"/usr/bin/gmake" "cmTC_45026/fast"
> /usr/bin/gmake -f CMakeFiles/cmTC_45026.dir/build.make
> CMakeFiles/cmTC_45026.dir/build
> gmake[1]: Entering directory
> '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> Building C object CMakeFiles/cmTC_45026.dir/CheckForPthreads.c.o
> /usr/bin/cc   -Wno-error=deprecated-declarations -Wno-error=parentheses
> -Werror -Wdeclaration-after-statement -Wno-pointer-sign -Wall
> -Wmissing-prototypes -Wmissing-declarations -Wno-unused     -std=gnu11 -o
> CMakeFiles/cmTC_45026.dir/CheckForPthreads.c.o   -c
> /usr/share/cmake/Modules/CheckForPthreads.c
> /usr/share/cmake/Modules/CheckForPthreads.c:3:7: error: no previous
> prototype for ‘start_routine’ [-Werror=missing-prototypes]
> void* start_routine(void* args)
>       ^~~~~~~~~~~~~
> cc1: all warnings being treated as errors
> gmake[1]: *** [CMakeFiles/cmTC_45026.dir/build.make:66:
> CMakeFiles/cmTC_45026.dir/CheckForPthreads.c.o] Error 1
> gmake[1]: Leaving directory '/home/******/gnucash-build/CMakeFiles/CMakeTmp'
> gmake: *** [Makefile:126: cmTC_45026/fast] Error 2
> 
> 
> [******@CentOS-8dot1 gnucash-build]$

Mike,

I don't know who or what "Gnucash - Dev" might be. If it's our gnucash-devel mailing list then you need to subscribe at https://lists.gnucash.org/mailman/listinfo/gnucash-devel before you can post.

It's generally more useful to act on the errors CMake writes to terminal as it runs and leave the log files for digging into details if the cmake output is anomalous. The snippet above looks like it's just part of the normal cmake compiler and standard library probes and doesn't necessarily indicate a problem.

That said, Centos doesn't support GnuCash and several of its dependencies so getting GnuCash running there is more difficult on distros that do. Are you currently running GnuCash, presumably without Python bindings, on Centos?

Regards,





More information about the gnucash-user mailing list