odyssey icon indicating copy to clipboard operation
odyssey copied to clipboard

Can not build on centos 7

Open qiuwenhuifx opened this issue 5 years ago • 11 comments

OS info: cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) uname -a Linux node1-127-0-0-1 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux [root@node1-127-0-0-1 build]# cmake --version cmake version 3.15.4

CMake suite maintained and supported by Kitware (kitware.com/cmake). [root@node1-127-0-0-1 build]# gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@node1-127-0-0-1 opt]# git clone https://github.com/yandex/odyssey Cloning into 'odyssey'... remote: Enumerating objects: 45, done. remote: Counting objects: 100% (45/45), done. remote: Compressing objects: 100% (44/44), done. remote: Total 11714 (delta 14), reused 7 (delta 1), pack-reused 11669 Receiving objects: 100% (11714/11714), 2.53 MiB | 755.00 KiB/s, done. Resolving deltas: 100% (8997/8997), done. [root@node1-127-0-0-1 opt]# cd odyssey/

[root@node1-127-0-0-1 odyssey]# mkdir -p build [root@node1-127-0-0-1 odyssey]# cd build/ [root@node1-127-0-0-1 build]# cd /opt/app/pg11/ bin/ include/ lib/ share/
[root@node1-127-0-0-1 build]# cd /opt/app/pg11/^C

[root@node1-127-0-0-1 build]# cmake -DPOSTGRESQL_LIBRARY=/opt/app/pg11/lib -DPOSTGRESQL_INCLUDE_DIR=/opt/app/pg11/include -DPQ_LIBRARY=/opt/app/pg11/lib -DCMAKE_BUILD_TYPE=Release .. -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found POSTGRESQL: /opt/app/pg11/lib
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.0.2k")
-- Found PAM: /usr/lib64/libpam.so
-- Use shipped libmachinarium: /opt/odyssey/third_party/machinarium -- Use shipped libkiwi: /opt/odyssey/third_party/kiwi

-- Odyssey (version: eb72997 release)

-- CMAKE_BUILD_TYPE: Release -- BUILD_DEBIAN: OFF -- POSTGRESQL_INCLUDE_DIR: /opt/app/pg11/include -- POSTGRESQL_LIBRARY: /opt/app/pg11/lib -- PQ_LIBRARY: /opt/app/pg11/lib -- USE_BORINGSSL: OFF -- BORINGSSL_ROOT_DIR:
-- BORINGSSL_INCLUDE_DIR:
-- OPENSSL_VERSION: 1.0.2k -- OPENSSL_ROOT_DIR:
-- OPENSSL_INCLUDE_DIR: /usr/include -- PAM_LIBRARY: /usr/lib64/libpam.so -- PAM_INCLUDE_DIR: /usr/include/security

-- Configuring done WARNING: Target "odyssey" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. WARNING: Target "odyssey" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. WARNING: Target "odyssey_test" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. WARNING: Target "odyssey_test" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. WARNING: Target "odyssey_stress" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. WARNING: Target "odyssey_stress" requests linking to directory "/opt/app/pg11/lib". Targets may link only to libraries. CMake is dropping the item. -- Generating done -- Build files have been written to: /opt/odyssey/build [root@node1-127-0-0-1 build]# make Scanning dependencies of target libkiwi [ 1%] Generating third_party/kiwi/kiwi/libkiwi.a -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done

-- Kiwi: PostgreSQL protocol interaction library.

-- CMAKE_BUILD_TYPE: Release -- MACHINARIUM_INCLUDE_DIRS: /opt/odyssey/third_party/machinarium/sources -- MACHINARIUM_LIBRARIES: /opt/odyssey/build/third_party/machinarium/sources/libmachinarium.a

-- Configuring done -- Generating done -- Build files have been written to: /opt/odyssey/build/third_party/kiwi Scanning dependencies of target kw_library_static [ 50%] Building C object kiwi/CMakeFiles/kw_library_static.dir/md5.c.o [100%] Linking C static library libkiwi.a [100%] Built target kw_library_static [ 1%] Built target libkiwi Scanning dependencies of target libmachinarium [ 2%] Generating third_party/machinarium/sources/libmachinarium.a -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.0.2k")

-- Machinarium: Cooperative multitasking framework.

-- CMAKE_BUILD_TYPE: Release -- BUILD_SHARED: OFF -- BUILD_VALGRIND: ON -- USE_BORINGSSL: OFF -- BORINGSSL_ROOT_DIR:
-- BORINGSSL_INCLUDE_DIR: -- OPENSSL_VERSION: 1.0.2k -- OPENSSL_ROOT_DIR:
-- OPENSSL_INCLUDE_DIR: /usr/include

-- Configuring done -- Generating done -- Build files have been written to: /opt/odyssey/build/third_party/machinarium Scanning dependencies of target machine_library_static [ 2%] Building C object sources/CMakeFiles/machine_library_static.dir/thread.c.o [ 5%] Building C object sources/CMakeFiles/machine_library_static.dir/pg_rand48.c.o [ 8%] Building C object sources/CMakeFiles/machine_library_static.dir/lrand48.c.o [ 10%] Building C object sources/CMakeFiles/machine_library_static.dir/loop.c.o [ 13%] Building C object sources/CMakeFiles/machine_library_static.dir/clock.c.o /opt/odyssey/build/third_party/machinarium/sources/clock.c:64:12: warning: ‘mm_clock_list_is_sorted’ defined but not used [-Wunused-function] static int mm_clock_list_is_sorted(mm_timer_t **list, int count) ^ [ 16%] Building C object sources/CMakeFiles/machine_library_static.dir/socket.c.o [ 18%] Building C object sources/CMakeFiles/machine_library_static.dir/epoll.c.o [ 21%] Building C object sources/CMakeFiles/machine_library_static.dir/context_stack.c.o [ 24%] Building C object sources/CMakeFiles/machine_library_static.dir/context.c.o [ 27%] Building C object sources/CMakeFiles/machine_library_static.dir/coroutine.c.o [ 29%] Building C object sources/CMakeFiles/machine_library_static.dir/coroutine_cache.c.o [ 32%] Building C object sources/CMakeFiles/machine_library_static.dir/scheduler.c.o [ 35%] Building C object sources/CMakeFiles/machine_library_static.dir/call.c.o [ 37%] Building C object sources/CMakeFiles/machine_library_static.dir/signal_mgr.c.o [ 40%] Building C object sources/CMakeFiles/machine_library_static.dir/event_mgr.c.o [ 43%] Building C object sources/CMakeFiles/machine_library_static.dir/machine.c.o [ 45%] Building C object sources/CMakeFiles/machine_library_static.dir/mm.c.o [ 48%] Building C object sources/CMakeFiles/machine_library_static.dir/machine_mgr.c.o [ 51%] Building C object sources/CMakeFiles/machine_library_static.dir/msg_cache.c.o [ 54%] Building C object sources/CMakeFiles/machine_library_static.dir/msg.c.o [ 56%] Building C object sources/CMakeFiles/machine_library_static.dir/channel_fast.c.o [ 59%] Building C object sources/CMakeFiles/machine_library_static.dir/channel.c.o [ 62%] Building C object sources/CMakeFiles/machine_library_static.dir/channel_api.c.o [ 64%] Building C object sources/CMakeFiles/machine_library_static.dir/task_mgr.c.o [ 67%] Building C object sources/CMakeFiles/machine_library_static.dir/tls.c.o [ 70%] Building C object sources/CMakeFiles/machine_library_static.dir/io.c.o [ 72%] Building C object sources/CMakeFiles/machine_library_static.dir/iov.c.o [ 75%] Building C object sources/CMakeFiles/machine_library_static.dir/close.c.o [ 78%] Building C object sources/CMakeFiles/machine_library_static.dir/connect.c.o [ 81%] Building C object sources/CMakeFiles/machine_library_static.dir/bind.c.o [ 83%] Building C object sources/CMakeFiles/machine_library_static.dir/eventfd.c.o [ 86%] Building C object sources/CMakeFiles/machine_library_static.dir/cond.c.o [ 89%] Building C object sources/CMakeFiles/machine_library_static.dir/read.c.o [ 91%] Building C object sources/CMakeFiles/machine_library_static.dir/write.c.o [ 94%] Building C object sources/CMakeFiles/machine_library_static.dir/accept.c.o [ 97%] Building C object sources/CMakeFiles/machine_library_static.dir/dns.c.o [100%] Linking C static library libmachinarium.a [100%] Built target machine_library_static [ 2%] Built target libmachinarium Scanning dependencies of target build_libs [ 2%] Built target build_libs Scanning dependencies of target odyssey [ 3%] Building C object sources/CMakeFiles/odyssey.dir/daemon.c.o In file included from /opt/odyssey/sources/odyssey.h:34:0, from /opt/odyssey/sources/daemon.c:24: /opt/odyssey/sources/postgres.h:27:27: fatal error: common/base64.h: No such file or directory #include <common/base64.h> ^ compilation terminated. make[2]: *** [sources/CMakeFiles/odyssey.dir/daemon.c.o] Error 1 make[1]: *** [sources/CMakeFiles/odyssey.dir/all] Error 2 make: *** [all] Error 2

qiuwenhuifx avatar Dec 03 '19 06:12 qiuwenhuifx

cmake -DPOSTGRESQL_LIBRARY=/opt/app/pg11/lib/postgresql/plpgsql.so -DPOSTGRESQL_INCLUDE_DIR=/opt/app/pg11/include -DPQ_LIBRARY=/opt/app/pg11/lib/libpq.so -DCMAKE_BUILD_TYPE=Release .. -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found POSTGRESQL: /opt/app/pg11/lib/postgresql/plpgsql.so
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.0.2k")
-- Found PAM: /usr/lib64/libpam.so
-- Use shipped libmachinarium: /opt/odyssey/third_party/machinarium -- Use shipped libkiwi: /opt/odyssey/third_party/kiwi

-- Odyssey (version: eb72997 release)

-- CMAKE_BUILD_TYPE: Release -- BUILD_DEBIAN: OFF -- POSTGRESQL_INCLUDE_DIR: /opt/app/pg11/include -- POSTGRESQL_LIBRARY: /opt/app/pg11/lib/postgresql/plpgsql.so -- PQ_LIBRARY: /opt/app/pg11/lib/libpq.so -- USE_BORINGSSL: OFF -- BORINGSSL_ROOT_DIR:
-- BORINGSSL_INCLUDE_DIR:
-- OPENSSL_VERSION: 1.0.2k -- OPENSSL_ROOT_DIR:
-- OPENSSL_INCLUDE_DIR: /usr/include -- PAM_LIBRARY: /usr/lib64/libpam.so -- PAM_INCLUDE_DIR: /usr/include/security

-- Configuring done -- Generating done -- Build files have been written to: /opt/odyssey/build

qiuwenhuifx avatar Dec 03 '19 06:12 qiuwenhuifx

make Scanning dependencies of target libkiwi [ 1%] Generating third_party/kiwi/kiwi/libkiwi.a -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done

-- Kiwi: PostgreSQL protocol interaction library.

-- CMAKE_BUILD_TYPE: Release -- MACHINARIUM_INCLUDE_DIRS: /opt/odyssey/third_party/machinarium/sources -- MACHINARIUM_LIBRARIES: /opt/odyssey/build/third_party/machinarium/sources/libmachinarium.a

-- Configuring done -- Generating done -- Build files have been written to: /opt/odyssey/build/third_party/kiwi Scanning dependencies of target kw_library_static [ 50%] Building C object kiwi/CMakeFiles/kw_library_static.dir/md5.c.o [100%] Linking C static library libkiwi.a [100%] Built target kw_library_static [ 1%] Built target libkiwi Scanning dependencies of target libmachinarium [ 2%] Generating third_party/machinarium/sources/libmachinarium.a -- The C compiler identification is GNU 4.8.5 -- Check for working C compiler: /bin/cc -- Check for working C compiler: /bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE
-- Found OpenSSL: /usr/lib64/libcrypto.so (found version "1.0.2k")

-- Machinarium: Cooperative multitasking framework.

-- CMAKE_BUILD_TYPE: Release -- BUILD_SHARED: OFF -- BUILD_VALGRIND: ON -- USE_BORINGSSL: OFF -- BORINGSSL_ROOT_DIR:
-- BORINGSSL_INCLUDE_DIR: -- OPENSSL_VERSION: 1.0.2k -- OPENSSL_ROOT_DIR:
-- OPENSSL_INCLUDE_DIR: /usr/include

-- Configuring done -- Generating done -- Build files have been written to: /opt/odyssey/build/third_party/machinarium Scanning dependencies of target machine_library_static [ 2%] Building C object sources/CMakeFiles/machine_library_static.dir/thread.c.o [ 5%] Building C object sources/CMakeFiles/machine_library_static.dir/pg_rand48.c.o [ 8%] Building C object sources/CMakeFiles/machine_library_static.dir/lrand48.c.o [ 10%] Building C object sources/CMakeFiles/machine_library_static.dir/loop.c.o [ 13%] Building C object sources/CMakeFiles/machine_library_static.dir/clock.c.o /opt/odyssey/build/third_party/machinarium/sources/clock.c:64:12: warning: ‘mm_clock_list_is_sorted’ defined but not used [-Wunused-function] static int mm_clock_list_is_sorted(mm_timer_t **list, int count) ^ [ 16%] Building C object sources/CMakeFiles/machine_library_static.dir/socket.c.o [ 18%] Building C object sources/CMakeFiles/machine_library_static.dir/epoll.c.o [ 21%] Building C object sources/CMakeFiles/machine_library_static.dir/context_stack.c.o [ 24%] Building C object sources/CMakeFiles/machine_library_static.dir/context.c.o [ 27%] Building C object sources/CMakeFiles/machine_library_static.dir/coroutine.c.o [ 29%] Building C object sources/CMakeFiles/machine_library_static.dir/coroutine_cache.c.o [ 32%] Building C object sources/CMakeFiles/machine_library_static.dir/scheduler.c.o [ 35%] Building C object sources/CMakeFiles/machine_library_static.dir/call.c.o [ 37%] Building C object sources/CMakeFiles/machine_library_static.dir/signal_mgr.c.o [ 40%] Building C object sources/CMakeFiles/machine_library_static.dir/event_mgr.c.o [ 43%] Building C object sources/CMakeFiles/machine_library_static.dir/machine.c.o [ 45%] Building C object sources/CMakeFiles/machine_library_static.dir/mm.c.o [ 48%] Building C object sources/CMakeFiles/machine_library_static.dir/machine_mgr.c.o [ 51%] Building C object sources/CMakeFiles/machine_library_static.dir/msg_cache.c.o [ 54%] Building C object sources/CMakeFiles/machine_library_static.dir/msg.c.o [ 56%] Building C object sources/CMakeFiles/machine_library_static.dir/channel_fast.c.o [ 59%] Building C object sources/CMakeFiles/machine_library_static.dir/channel.c.o [ 62%] Building C object sources/CMakeFiles/machine_library_static.dir/channel_api.c.o [ 64%] Building C object sources/CMakeFiles/machine_library_static.dir/task_mgr.c.o [ 67%] Building C object sources/CMakeFiles/machine_library_static.dir/tls.c.o [ 70%] Building C object sources/CMakeFiles/machine_library_static.dir/io.c.o [ 72%] Building C object sources/CMakeFiles/machine_library_static.dir/iov.c.o [ 75%] Building C object sources/CMakeFiles/machine_library_static.dir/close.c.o [ 78%] Building C object sources/CMakeFiles/machine_library_static.dir/connect.c.o [ 81%] Building C object sources/CMakeFiles/machine_library_static.dir/bind.c.o [ 83%] Building C object sources/CMakeFiles/machine_library_static.dir/eventfd.c.o [ 86%] Building C object sources/CMakeFiles/machine_library_static.dir/cond.c.o [ 89%] Building C object sources/CMakeFiles/machine_library_static.dir/read.c.o [ 91%] Building C object sources/CMakeFiles/machine_library_static.dir/write.c.o [ 94%] Building C object sources/CMakeFiles/machine_library_static.dir/accept.c.o [ 97%] Building C object sources/CMakeFiles/machine_library_static.dir/dns.c.o [100%] Linking C static library libmachinarium.a [100%] Built target machine_library_static [ 2%] Built target libmachinarium Scanning dependencies of target build_libs [ 2%] Built target build_libs Scanning dependencies of target odyssey [ 3%] Building C object sources/CMakeFiles/odyssey.dir/daemon.c.o In file included from /opt/odyssey/sources/odyssey.h:34:0, from /opt/odyssey/sources/daemon.c:24: /opt/odyssey/sources/postgres.h:27:27: fatal error: common/base64.h: No such file or directory #include <common/base64.h> ^ compilation terminated. make[2]: *** [sources/CMakeFiles/odyssey.dir/daemon.c.o] Error 1 make[1]: *** [sources/CMakeFiles/odyssey.dir/all] Error 2 make: *** [all] Error 2

qiuwenhuifx avatar Dec 03 '19 06:12 qiuwenhuifx

Hi! I think the problem is that in FindPostgreSQL.cmake we assume postgresql 10. Can you please change number to 11 there and try again?

Also please check that file exists /opt/app/pg11/include/postgresql/11/server/common/base65.h

x4m avatar Dec 03 '19 11:12 x4m

same problem on alpine build against pg12.

[100%] Linking C executable odyssey
/usr/lib/gcc/x86_64-alpine-linux-musl/9.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /usr/lib/gcc/x86_64-alpine-linux-musl/9.2.0/../../../../lib/libpgcommon.a(scram-common.o): in function `scram_build_verifier':
scram-common.c:(.text+0x604): undefined reference to `pg_sprintf'
collect2: error: ld returned 1 exit status
make[2]: *** [sources/CMakeFiles/odyssey.dir/build.make:436: sources/odyssey] Error 1
make[1]: *** [CMakeFiles/Makefile2:191: sources/CMakeFiles/odyssey.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

uu avatar Dec 11 '19 16:12 uu

@uu I think your problem is related to the fact that libpq and libpgcommon are taken from different locations?

x4m avatar Dec 11 '19 17:12 x4m

-- The C compiler identification is GNU 9.2.0
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Found POSTGRESQL: /usr/lib/libpgcommon.a  
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "1.1.1d")  
-- Found PAM: /lib/libpam.so  
-- Use shipped libmachinarium: /home/uu/aports_uu_gitlab/testing/odyssey/src/odyssey-1.0/third_party/machinarium
-- Use shipped libkiwi: /home/uu/aports_uu_gitlab/testing/odyssey/src/odyssey-1.0/third_party/kiwi
-- 
-- Odyssey (version: v3.11_rc1-192-g9ebc70866e release)
-- 
-- CMAKE_BUILD_TYPE:       Release
-- BUILD_DEBIAN:           OFF
-- POSTGRESQL_INCLUDE_DIR: /usr/include/postgresql/server
-- POSTGRESQL_LIBRARY:     /usr/lib/libpgcommon.a
-- PQ_LIBRARY:             /usr/lib/libpq.a
-- USE_BORINGSSL:          OFF
-- BORINGSSL_ROOT_DIR:     
-- BORINGSSL_INCLUDE_DIR:  
-- OPENSSL_VERSION:        1.1.1d
-- OPENSSL_ROOT_DIR:       
-- OPENSSL_INCLUDE_DIR:    /usr/include
-- PAM_LIBRARY:            /lib/libpam.so
-- PAM_INCLUDE_DIR:        /usr/include/security
-- 
-- Configuring done
-- Generating done
...

looks like the same :-/

uu avatar Dec 11 '19 19:12 uu

-- Found OpenSSL: /usr/lib64/libssl.so;/usr/lib64/libcrypto.so (found version "1.0.2k")
-- Use shipped libmachinarium: /root/rpmbuild/BUILD/odyssey-1.1/third_party/machinarium
-- Use shipped libkiwi: /root/rpmbuild/BUILD/odyssey-1.1/third_party/kiwi
--
-- Odyssey (version: unknown release)
--
-- CMAKE_BUILD_TYPE:       Release
-- BUILD_DEBIAN:           OFF
-- POSTGRESQL_INCLUDE_DIR: /usr/include/pgsql/server #!!! <--- Ive pass other dir!!!
-- POSTGRESQL_LIBRARY:     /usr/pgsql-10/lib/libpq.so
-- POSTGRESQL_LIBPGPORT:   /usr/pgsql-10/lib/libpgport.a
-- PG_VERSION_NUM:         OFF
-- PQ_LIBRARY:             /usr/pgsql-10/lib/libpq.a
-- USE_BORINGSSL:          OFF
-- BORINGSSL_ROOT_DIR:
-- BORINGSSL_INCLUDE_DIR:
-- OPENSSL_VERSION:        1.0.2k
-- OPENSSL_ROOT_DIR:
-- OPENSSL_INCLUDE_DIR:    /usr/include
-- PAM_LIBRARY:            /usr/lib64/libpam.so
-- PAM_INCLUDE_DIR:        /usr/include/security
--
-- Configuring done
-- Generating done
-- Build files have been written to: /root/rpmbuild/BUILD/odyssey-1.1/build
[root@57bea1654fbf build]# make
Scanning dependencies of target libkiwi
[  1%] Generating third_party/kiwi/kiwi/libkiwi.a
--
-- Kiwi: PostgreSQL protocol interaction library.
--
-- CMAKE_BUILD_TYPE:         Release
-- MACHINARIUM_INCLUDE_DIRS: /root/rpmbuild/BUILD/odyssey-1.1/third_party/machinarium/sources
-- MACHINARIUM_LIBRARIES:    /root/rpmbuild/BUILD/odyssey-1.1/build/third_party/machinarium/sources/libmachinarium.a
--
-- Configuring done
-- Generating done
-- Build files have been written to: /root/rpmbuild/BUILD/odyssey-1.1/build/third_party/kiwi`

make:
`Scanning dependencies of target odyssey
[  3%] Building C object sources/CMakeFiles/odyssey.dir/daemon.c.o
In file included from /root/rpmbuild/BUILD/odyssey-1.1/sources/odyssey.h:34:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/sources/daemon.c:24:
/root/rpmbuild/BUILD/odyssey-1.1/sources/postgres.h:27:27: fatal error: common/base64.h: No such file or directory
 #include <common/base64.h>```

Fix it please

zloyded avatar Nov 17 '20 10:11 zloyded

in other spec

/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_parse_verifier’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:68:2: error: too many arguments to function ‘pg_b64_decode’
  int salt_len = od_b64_decode(salt_raw, salt_raw_len, salt, salt_dst_len);
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:85:2: error: too many arguments to function ‘pg_b64_decode’
  int stored_key_len = od_b64_decode(
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:98:2: error: too many arguments to function ‘pg_b64_decode’
  int server_key_len = od_b64_decode(
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_init_from_plain_password’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:148:4: error: too many arguments to function ‘pg_b64_encode’
    od_b64_encode(salt, sizeof(salt), scram_state->salt, salt_dst_len);
    ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:14:12: note: declared here
 extern int pg_b64_encode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_create_client_first_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:182:2: error: too many arguments to function ‘pg_b64_encode’
  int base64_nonce_len                        = od_b64_encode((char *)nonce,
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:14:12: note: declared here
 extern int pg_b64_encode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘read_server_first_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:256:4: error: too many arguments to function ‘pg_b64_decode’
    od_b64_decode(base64_salt, base64_salt_size, salt, salt_dst_len);
    ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘calculate_server_signature’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:381:2: error: too many arguments to function ‘pg_b64_encode’
  int base64_signature_len = od_b64_encode((char *)server_signature,
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:14:12: note: declared here
 extern int pg_b64_encode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_create_client_final_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:438:2: error: too many arguments to function ‘pg_b64_encode’
  size += od_b64_encode((char *)client_proof,
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:14:12: note: declared here
 extern int pg_b64_encode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘read_server_final_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:478:2: error: too many arguments to function ‘pg_b64_decode’
  decoded_signature_len = od_b64_decode(
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_read_client_final_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:681:4: error: too many arguments to function ‘pg_b64_decode’
    od_b64_decode(base64_proof, base64_proof_size, proof, proof_size);
    ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:15:12: note: declared here
 extern int pg_b64_decode(const char *src, int len, char *dst);
            ^
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c: In function ‘od_scram_create_server_first_message’:
/root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:726:2: error: too many arguments to function ‘pg_b64_encode’
  int base64_nonce_len                        = od_b64_encode((char *)nonce,
  ^
In file included from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/postgres.h:27:0,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/odyssey.h:46,
                 from /root/rpmbuild/BUILD/odyssey-1.1/odyssey/sources/scram.c:10:
/usr/pgsql-11/include/server/common/base64.h:14:12: note: declared here
 extern int pg_b64_encode(const char *src, int len, char *dst);
            ^
make[2]: *** [sources/CMakeFiles/odyssey.dir/scram.c.o] Error 1
make[1]: *** [sources/CMakeFiles/odyssey.dir/all] Error 2

zloyded avatar Nov 17 '20 11:11 zloyded

@zloyded I think 1.1 is based on PG11, not 10

x4m avatar Nov 17 '20 16:11 x4m

@zloyded I think 1.1 is based on PG11, not 10

and next release will use pg13

reshke avatar Nov 17 '20 19:11 reshke

@x4m ive tryed PG10|11|12, same effect

zloyded avatar Nov 19 '20 10:11 zloyded