Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27

Ошибка с доступом к членам класса библиотеки или что?

15.08.2023, 12:00. Показов 2691. Ответов 53
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Пытаюсь запустить пример кода взаимодействия с базой Postgres из библиотеки fastcgi++. Возникла странная проблема при компиляции – либо не верно установлена библиотека (хотя другие примеры из неё работают), либо в сам код библиотеки вкрались ошибки. Но возможно просто мой косяк, но я не понимаю какой. Дополнительно прописывал инклюды разных файлов, но дело явно не в этом. Прошу помощи.

Привожу код примера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
#include <fastcgi++/sql/connection.hpp>
#include <fastcgi++/request.hpp>
#include <fastcgi++/log.hpp>
#include <random>
#include <iomanip>
 
class Database: public Fastcgipp::Request<char>
{
private:
    static const std::array<std::string, 8> s_strings;
    static std::random_device s_device;
    static std::uniform_int_distribution<unsigned> s_dist;
 
    static Fastcgipp::SQL::Connection s_connection;
 
    std::shared_ptr<Fastcgipp::SQL::Results<>> m_insertResult;
 
    std::shared_ptr<Fastcgipp::SQL::Results<
        Fastcgipp::SQL::TIMESTAMPTZ,
        Fastcgipp::SQL::INET,
        Fastcgipp::SQL::TEXT>> m_selectResults;
 
    unsigned m_state;
 
public:
    Database():
        m_state(0)
    {}
 
    bool response()
    {
        using Fastcgipp::Encoding;
 
        switch(m_state)
        {
            case 0:
            {
                m_insertResult.reset(new Fastcgipp::SQL::Results<>);
 
                Fastcgipp::SQL::Query query;
                query.statement =
                    "INSERT INTO fastcgipp_example (stamp, address, string) "
                    "VALUES ($1, $2, $3);";
                query.parameters = Fastcgipp::SQL::make_Parameters(
                        std::chrono::time_point_cast<Fastcgipp::SQL::TIMESTAMPTZ::duration>(
                            std::chrono::system_clock::now()),
                        environment().remoteAddress,
                        s_strings[s_dist(s_device)]);
                query.results = m_insertResult;
                query.callback = callback();
 
                if(!s_connection.queue(query))
                {
                    ERROR_LOG("Unable to queue up SQL insert query")
                    errorHandler();
                    return true;
                }
                ++m_state;
                return false;
            }
 
            case 1:
            {
                if(m_insertResult->status() != Fastcgipp::SQL::Status::commandOk)
                {
                    ERROR_LOG("SQL insert gave unexpected status '" \
                            << Fastcgipp::SQL::statusString( \
                                m_insertResult->status()) \
                            << "' with error message '" \
                            <<m_insertResult->errorMessage() << '\'')
                    errorHandler();
                    return true;
                }
                if(m_insertResult->verify() != 0)
                {
                    ERROR_LOG("SQL column verification failed: " << \
                            m_insertResult->verify())
                    errorHandler();
                    return true;
                }
                if(m_insertResult->rows() != 0)
                {
                    ERROR_LOG("SQL insert returned rows when it shouldn't have")
                    errorHandler();
                    return true;
                }
                if(m_insertResult->affectedRows() != 1)
                {
                    ERROR_LOG("SQL insert should have affected 1 row but " \
                            "instead affected " \
                            << m_insertResult->affectedRows() << '.')
                    errorHandler();
                    return true;
                }
 
                m_selectResults.reset(new Fastcgipp::SQL::Results<
                        Fastcgipp::SQL::TIMESTAMPTZ,
                        Fastcgipp::SQL::INET,
                        Fastcgipp::SQL::TEXT>);
                Fastcgipp::SQL::Query query;
                query.statement =
                    "SELECT stamp, address, string FROM fastcgipp_example "
                    "ORDER BY stamp DESC LIMIT 20;";
                query.results = m_selectResults;
                query.callback = callback();
 
                if(!s_connection.queue(query))
                {
                    ERROR_LOG("Unable to queue up SQL select query")
                    errorHandler();
                    return true;
                }
                ++m_state;
                m_insertResult.reset();
                return false;
            }
 
            case 2:
            {
                if(m_selectResults->status() != Fastcgipp::SQL::Status::rowsOk)
                {
                    ERROR_LOG("SQL select gave unexpected status '" \
                            << Fastcgipp::SQL::statusString( \
                                m_selectResults->status()) \
                            << "' with message '" \
                            << m_selectResults->errorMessage() << '\'')
                    errorHandler();
                    return true;
                }
                if(m_selectResults->verify() != 0)
                {
                    ERROR_LOG("SQL column verification failed: " << \
                            m_selectResults->verify())
                    errorHandler();
                    return true;
                }
                if(m_selectResults->rows() == 0)
                {
                    ERROR_LOG("SQL select didn't return rows when it should "\
                            "have")
                    errorHandler();
                    return true;
                }
 
                out <<
"Content-Type: text/html; charset=iso-8859-1\r\n\r\n"
"<!DOCTYPE html>\n"
"<html lang='en'>"
    "<head>"
        "<meta charset='iso-8859-1' />"
        "<title>fastcgi++: Database</title>"
    "</head>"
    "<body>"
        "<table>"
            "<thead>"
                "<tr>"
                    "<th>Timestamp</th>"
                    "<th>IP Address</th>"
                    "<th>Random String</th>"
                "</tr>"
            "</thead>";
 
                for(unsigned index=0; index != m_selectResults->rows(); ++index)
                {
                    const auto& row = m_selectResults->row(index);
                    const auto timestamp = std::chrono::system_clock::to_time_t(
                            std::get<0>(row));
                    out <<
            "<tr>"
                "<td>" 
                    << std::put_time(
                            std::localtime(&timestamp),
                            "%A, %B %e %Y at %H:%M:%S %Z") <<
                "</td>"
                "<td>" << std::get<1>(row) << "</td>"
                "<td>" 
                    << Encoding::HTML << std::get<2>(row) << Encoding::NONE <<
                "</td>"
            "</tr>";
                }
 
                out <<
        "</table>"
    "</body>"
"</html>";
                return true;
            }
        }
 
        return true;
    }
 
    static void start()
    {
        s_connection.init(
                "",
                "fastcgipp_example",
                "fastcgipp_example",
                "fastcgipp_example",
                8);
        s_connection.start();
    }
 
    static void terminate()
    {
        s_connection.terminate();
        s_connection.join();
    }
};
 
const std::array<std::string, 8> Database::s_strings
{
    "Leviathan Wakes",
    "Caliban's War",
    "Abaddon's Gate",
    "Cibola Burn",
    "Nemesis Games",
    "Babylon's Ashes",
    "Persepolis Rising",
    "Tiamat's Wrath"
};
std::random_device Database::s_device;
std::uniform_int_distribution<unsigned> Database::s_dist(0,7);
Fastcgipp::SQL::Connection Database::s_connection;
 
#include <fastcgi++/manager.hpp>
 
int main()
{
    Fastcgipp::Manager<Database> manager;
    manager.setupSignals();
    manager.listen();
    Database::start();
    manager.start();
    manager.join();
    Database::terminate();
 
    return 0;
}
Копмилятор:
g++ (Debian 13.1.0-9) 13.1.0

Команда:
g++ sql.cpp -o test -I/usr/local/include -L/usr/local/lib -pthread -lfastcgipp

Показания flycheck:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
In "../../../../usr/include/fastcgi++/sql/types.hpp":
‘year_month_day’ in namespace ‘std::chrono’ does not name a type
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
‘sys_days’ was not declared in this scope
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
‘DATE’ was not declared in this scope
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
template argument 1 is invalid
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
‘make_Parameters’ is neither function nor member function; cannot be declared friend
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
expected ‘;’ at end of member declaration
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
expected unqualified-id before ‘<’ token
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
‘make_Parameters’ is neither function nor member function; cannot be declared friend
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
expected ‘;’ at end of member declaration
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
expected unqualified-id before ‘<’ token
In "../../../../usr/include/fastcgi++/sql/parameters.hpp":
‘Fastcgipp::SQL::Parameters<Types>::Parameters(const Types& ...) [with Types = {std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ is private within this context


Ошибка компиляции:


Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
In file included from /usr/include/fastcgi++/sql/parameters.hpp:32,
                 from /usr/include/fastcgi++/sql/connection.hpp:41,
                 from sql.cpp:5:
/usr/include/fastcgi++/sql/types.hpp:52:30: error: ‘year_month_day’ in namespace ‘std::chrono’ does not name a type
   52 |         typedef std::chrono::year_month_day DATE;
      |                              ^~~~~~~~~~~~~~
/usr/include/fastcgi++/sql/parameters.hpp: In static member function ‘static Fastcgipp::SQL::BIGINT Fastcgipp::SQL::Parameter<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000> > > >::convert(const Fastcgipp::SQL::TIMESTAMPTZ&)’:
/usr/include/fastcgi++/sql/parameters.hpp:169:45: error: ‘sys_days’ was not declared in this scope
  169 |                 constexpr TIMESTAMPTZ epoch(sys_days{January/1/2000});
      |                                             ^~~~~~~~
/usr/include/fastcgi++/sql/parameters.hpp: At global scope:
/usr/include/fastcgi++/sql/parameters.hpp:188:25: error: ‘DATE’ was not declared in this scope
  188 |         class Parameter<DATE>:
      |                         ^~~~
/usr/include/fastcgi++/sql/parameters.hpp:188:29: error: template argument 1 is invalid
  188 |         class Parameter<DATE>:
      |                             ^
/usr/include/fastcgi++/sql/parameters.hpp:501:58: error: ‘make_Parameters’ is neither function nor member function; cannot be declared friend
  501 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                          ^~~~~~~~~~~~~~~
/usr/include/fastcgi++/sql/parameters.hpp:501:58: error: expected ‘;’ at end of member declaration
  501 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                          ^~~~~~~~~~~~~~~
      |                                                                         ;
/usr/include/fastcgi++/sql/parameters.hpp:501:73: error: expected unqualified-id before ‘<’ token
  501 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                                         ^
/usr/include/fastcgi++/sql/parameters.hpp:503:58: error: ‘make_Parameters’ is neither function nor member function; cannot be declared friend
  503 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                          ^~~~~~~~~~~~~~~
/usr/include/fastcgi++/sql/parameters.hpp:503:58: error: expected ‘;’ at end of member declaration
  503 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                          ^~~~~~~~~~~~~~~
      |                                                                         ;
/usr/include/fastcgi++/sql/parameters.hpp:503:73: error: expected unqualified-id before ‘<’ token
  503 |             friend std::shared_ptr<Parameters<Types...>> make_Parameters<>(
      |                                                                         ^
/usr/include/fastcgi++/sql/parameters.hpp: In instantiation of ‘std::shared_ptr<Fastcgipp::SQL::Parameters<Types> > Fastcgipp::SQL::make_Parameters(const Types& ...) [with Types = {std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’:
sql.cpp:69:67:   required from here
/usr/include/fastcgi++/sql/parameters.hpp:512:21: error: ‘Fastcgipp::SQL::Parameters<Types>::Parameters(const Types& ...) [with Types = {std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long int, std::ratio<1, 1000000> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’ is private within this context
  512 |                     new Parameters<Types...>(args...));
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/fastcgi++/sql/parameters.hpp:496:13: note: declared private here
  496 |             Parameters(const Types&... args):
      |             ^~~~~~~~~~


Прошу подсказку - как мне это скомпилировать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2023, 12:00
Ответы с готовыми решениями:

Проблемы с доступом к членам класса
Имеется консольный проект, состоящий из 3-х файлов: main.cpp, Classes.h, Classes.cpp. В файлах Classes.h и Classes.cpp описан базовый класс...

Перехватывающая Функция с доступом к статичным членам класса
Возможно ли объявить, Функцию перехватчик таким образом чтобы она имела доступ к переменным класса. Оригинальная функция: void...

Будет доступ, из вложенного класса, к членам включающего класса по this?
Не вызовет ли какую-нибудь ошибку в C++11 и же с ним код: class SOME { public: BYTE x; stuct Z { void fnct(); }...

53
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 21:28  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от zayats80888 Посмотреть сообщение
У вас в другие каталоги инсталляция шла.

И в консоли (из этого каталога) выполните:
1) mkdir build
2) cd build
3) cmake -DCMAKE_PREFIX_PATH=/usr -DCMAKE_BUILD_TYPE=Release ..
4) make
Можно запускать:
5) ./test
А я подумал, что они дополняют друг друга, и сделал два подряд. Сейчас по новой оставил вариант -DSQL=true

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
cmake -DCMAKE_PREFIX_PATH=/usr -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 13.1.0
-- The CXX compiler identification is GNU 13.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: ............edited................/build
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
make
[ 33%] Building CXX object CMakeFiles/test.dir/main.cpp.o
[ 66%] Building CXX object CMakeFiles/test.dir/database.cpp.o
[100%] Linking CXX executable test
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: warning: relocation against `_ZN9Fastcgipp3SQL9ParameterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3oidE' in read-only section `.text.startup'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::start()':
database.cpp:(.text+0x36): undefined reference to `Fastcgipp::SQL::Connection::init(char const*, char const*, char const*, char const*, unsigned int, unsigned short, int, unsigned int)'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::terminate()':
database.cpp:(.text+0x5c): undefined reference to `Fastcgipp::SQL::Connection::terminate()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::response()':
database.cpp:(.text+0x14d8): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x1524): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x152b): undefined reference to `Fastcgipp::SQL::statusString(Fastcgipp::SQL::Status)'
/usr/bin/ld: database.cpp:(.text+0x1554): undefined reference to `Fastcgipp::SQL::Results_base::errorMessage() const'
/usr/bin/ld: database.cpp:(.text+0x1600): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x164c): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x1653): undefined reference to `Fastcgipp::SQL::statusString(Fastcgipp::SQL::Status)'
/usr/bin/ld: database.cpp:(.text+0x167c): undefined reference to `Fastcgipp::SQL::Results_base::errorMessage() const'
/usr/bin/ld: database.cpp:(.text+0x18a3): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x18b3): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x18c7): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x18db): undefined reference to `Fastcgipp::SQL::Results_base::affectedRows() const'
/usr/bin/ld: database.cpp:(.text+0x1a82): undefined reference to `Fastcgipp::SQL::Connection::queue(Fastcgipp::SQL::Query const&)'
/usr/bin/ld: database.cpp:(.text+0x1b1b): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x1b2e): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b43): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<Fastcgipp::Address>(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b58): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b6c): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x1be9): undefined reference to `void Fastcgipp::SQL::Results_base::field<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int, int, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >&) const'
/usr/bin/ld: database.cpp:(.text+0x1bfc): undefined reference to `void Fastcgipp::SQL::Results_base::field<Fastcgipp::Address>(int, int, Fastcgipp::Address&) const'
/usr/bin/ld: database.cpp:(.text+0x1c0f): undefined reference to `void Fastcgipp::SQL::Results_base::field<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const'
/usr/bin/ld: database.cpp:(.text+0x1d1b): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x1f16): undefined reference to `Fastcgipp::SQL::Connection::queue(Fastcgipp::SQL::Query const&)'
/usr/bin/ld: database.cpp:(.text+0x2022): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x2038): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x204d): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<Fastcgipp::Address>(int) const'
/usr/bin/ld: database.cpp:(.text+0x2062): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x21bf): undefined reference to `Fastcgipp::SQL::Results_base::affectedRows() const'
/usr/bin/ld: database.cpp:(.text+0x22da): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x22ea): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::start()':
database.cpp:(.text+0x43): undefined reference to `Fastcgipp::SQL::Connection::start()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::terminate()':
database.cpp:(.text+0x65): undefined reference to `Fastcgipp::SQL::Connection::join()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev[_ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED5Ev]+0xb): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED0Ev[_ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED5Ev]+0xf): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<>::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJEED2Ev[_ZN9Fastcgipp3SQL7ResultsIJEED5Ev]+0xb): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<>::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJEED0Ev[_ZN9Fastcgipp3SQL7ResultsIJEED5Ev]+0xf): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `_GLOBAL__sub_I__ZN8Database8s_deviceE':
database.cpp:(.text.startup+0x2c3): undefined reference to `Fastcgipp::SQL::Connection::~Connection()'
/usr/bin/ld: database.cpp:(.text.startup+0x3a3): undefined reference to `Fastcgipp::SQL::Parameter<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >::oid'
/usr/bin/ld: database.cpp:(.text.startup+0x3a9): undefined reference to `Fastcgipp::SQL::Parameter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::oid'
/usr/bin/ld: database.cpp:(.text.startup+0x3b8): undefined reference to `Fastcgipp::SQL::Parameter<Fastcgipp::Address>::oid'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `std::shared_ptr<Fastcgipp::SQL::Parameters<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > Fastcgipp::SQL::make_Parameters<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > const&, Fastcgipp::Address const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
database.cpp:(.text._ZN9Fastcgipp3SQL15make_ParametersIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESt10shared_ptrINS0_10ParametersIJDpT_EEEEDpRKSK_[_ZN9Fastcgipp3SQL15make_ParametersIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESt10shared_ptrINS0_10ParametersIJDpT_EEEEDpRKSK_]+0x5b): undefined reference to `Fastcgipp::SQL::Parameter<Fastcgipp::Address>::addressFamily'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o:(.data.rel.ro._ZTIN9Fastcgipp3SQL7ResultsIJEEE[_ZTIN9Fastcgipp3SQL7ResultsIJEEE]+0x10): undefined reference to `typeinfo for Fastcgipp::SQL::Results_base'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o:(.data.rel.ro._ZTIN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE[_ZTIN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE]+0x10): undefined reference to `typeinfo for Fastcgipp::SQL::Results_base'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/test.dir/build.make:115: test] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/test.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
По-старым командам старый вывод выдает.

Кстати, а насколько уместен такой вариант установки чтобы и SQL и DEBUG сделать? Или это всё равно взаимоисключение получается?
Bash
1
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_BUILD_TYPE=DEBUG -DSQL=true ../fastcgi++
0
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 21:40  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
У вас в другие каталоги инсталляция шла.
А какой вариант верней?

g++ *.cpp -o test -I/usr/include -L/usr/lib -pthread -lfastcgipp -std=c++20

g++ *.cpp -o test -I/usr/include/fastcgi++ -L/usr/lib/x86_64-linux-gnu -pthread -lfastcgipp -std=c++20
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.08.2023, 21:40
Цитата Сообщение от Shooter85 Посмотреть сообщение
Сейчас по новой оставил вариант -DSQL=true
Покажите вывод инсталляции.

А в 4 пункте сделайте так:
make VERBOSE=1 и покажите вывод.

Цитата Сообщение от Shooter85 Посмотреть сообщение
Или это всё равно взаимоисключение получается?
Да.
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 22:00  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
Покажите вывод инсталляции.
А в 4 пункте сделайте так:
make VERBOSE=1 и покажите вывод.
Bash
1
2
3
4
5
sudo cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DSQL=true ../fastcgi++
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done (0.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/fastcgi++

Bash
1
2
sudo make
[100%] Built target fastcgipp

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
sudo make install
[100%] Built target fastcgipp
Install the project...
-- Install configuration: "RELEASE"
-- Up-to-date: /usr/lib/x86_64-linux-gnu/libfastcgipp.so.3.1
-- Up-to-date: /usr/lib/x86_64-linux-gnu/libfastcgipp.so.3
-- Up-to-date: /usr/lib/x86_64-linux-gnu/libfastcgipp.so
-- Up-to-date: /usr/lib/x86_64-linux-gnu/cmake/Fastcgipp/FastcgippTargets.cmake
-- Up-to-date: /usr/lib/x86_64-linux-gnu/cmake/Fastcgipp/FastcgippTargets-release.cmake
-- Up-to-date: /usr/lib/x86_64-linux-gnu/cmake/Fastcgipp/FastcgippConfig.cmake
-- Up-to-date: /usr/lib/x86_64-linux-gnu/cmake/Fastcgipp/FastcgippConfigVersion.cmake
-- Up-to-date: /usr/include/fastcgi++
-- Up-to-date: /usr/include/fastcgi++/webstreambuf.hpp
-- Up-to-date: /usr/include/fastcgi++/fcgistreambuf.hpp
-- Up-to-date: /usr/include/fastcgi++/message.hpp
-- Up-to-date: /usr/include/fastcgi++/block.hpp
-- Installing: /usr/include/fastcgi++/config.hpp
-- Up-to-date: /usr/include/fastcgi++/email.hpp
-- Up-to-date: /usr/include/fastcgi++/transceiver.hpp
-- Up-to-date: /usr/include/fastcgi++/curler.hpp
-- Up-to-date: /usr/include/fastcgi++/chunkstreambuf.hpp
-- Up-to-date: /usr/include/fastcgi++/endian.hpp
-- Up-to-date: /usr/include/fastcgi++/request.hpp
-- Up-to-date: /usr/include/fastcgi++/log.hpp
-- Up-to-date: /usr/include/fastcgi++/curl.hpp
-- Up-to-date: /usr/include/fastcgi++/address.hpp
-- Up-to-date: /usr/include/fastcgi++/manager.hpp
-- Up-to-date: /usr/include/fastcgi++/poll.hpp
-- Up-to-date: /usr/include/fastcgi++/protocol.hpp
-- Up-to-date: /usr/include/fastcgi++/mailer.hpp
-- Up-to-date: /usr/include/fastcgi++/http.hpp
-- Up-to-date: /usr/include/fastcgi++/sockets.hpp
-- Installing: /usr/include/fastcgi++/config.hpp

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
make VERBOSE=1
/usr/bin/cmake -S/home/user/progs/prog/dbo -B/home/user/progs/prog/dbo/build --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/user/progs/prog/dbo/build/CMakeFiles /home/user/progs/prog/dbo/build//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/user/progs/prog/dbo/build'
make  -f CMakeFiles/test.dir/build.make CMakeFiles/test.dir/depend
make[2]: Entering directory '/home/user/progs/prog/dbo/build'
cd /home/user/progs/prog/dbo/build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/user/progs/prog/dbo /home/user/progs/prog/dbo /home/user/progs/prog/dbo/build /home/user/progs/prog/dbo/build /home/user/progs/prog/dbo/build/CMakeFiles/test.dir/DependInfo.cmake --color=
Dependencies file "CMakeFiles/test.dir/database.cpp.o.d" is newer than depends file "/home/user/progs/prog/dbo/build/CMakeFiles/test.dir/compiler_depend.internal".
Dependencies file "CMakeFiles/test.dir/main.cpp.o.d" is newer than depends file "/home/user/progs/prog/dbo/build/CMakeFiles/test.dir/compiler_depend.internal".
Consolidate compiler generated dependencies of target test
make[2]: Leaving directory '/home/user/progs/prog/dbo/build'
make  -f CMakeFiles/test.dir/build.make CMakeFiles/test.dir/build
make[2]: Entering directory '/home/user/progs/prog/dbo/build'
[ 33%] Linking CXX executable test
/usr/bin/cmake -E cmake_link_script CMakeFiles/test.dir/link.txt --verbose=1
/usr/bin/c++ -O3 -DNDEBUG CMakeFiles/test.dir/main.cpp.o CMakeFiles/test.dir/database.cpp.o -o test  /usr/lib/x86_64-linux-gnu/libfastcgipp.so.3.1 /usr/lib/x86_64-linux-gnu/libcurl.so 
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: warning: relocation against `_ZN9Fastcgipp3SQL9ParameterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE3oidE' in read-only section `.text.startup'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::start()':
database.cpp:(.text+0x36): undefined reference to `Fastcgipp::SQL::Connection::init(char const*, char const*, char const*, char const*, unsigned int, unsigned short, int, unsigned int)'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::terminate()':
database.cpp:(.text+0x5c): undefined reference to `Fastcgipp::SQL::Connection::terminate()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::response()':
database.cpp:(.text+0x14d8): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x1524): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x152b): undefined reference to `Fastcgipp::SQL::statusString(Fastcgipp::SQL::Status)'
/usr/bin/ld: database.cpp:(.text+0x1554): undefined reference to `Fastcgipp::SQL::Results_base::errorMessage() const'
/usr/bin/ld: database.cpp:(.text+0x1600): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x164c): undefined reference to `Fastcgipp::SQL::Results_base::status() const'
/usr/bin/ld: database.cpp:(.text+0x1653): undefined reference to `Fastcgipp::SQL::statusString(Fastcgipp::SQL::Status)'
/usr/bin/ld: database.cpp:(.text+0x167c): undefined reference to `Fastcgipp::SQL::Results_base::errorMessage() const'
/usr/bin/ld: database.cpp:(.text+0x18a3): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x18b3): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x18c7): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x18db): undefined reference to `Fastcgipp::SQL::Results_base::affectedRows() const'
/usr/bin/ld: database.cpp:(.text+0x1a82): undefined reference to `Fastcgipp::SQL::Connection::queue(Fastcgipp::SQL::Query const&)'
/usr/bin/ld: database.cpp:(.text+0x1b1b): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x1b2e): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b43): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<Fastcgipp::Address>(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b58): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x1b6c): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x1be9): undefined reference to `void Fastcgipp::SQL::Results_base::field<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int, int, std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >&) const'
/usr/bin/ld: database.cpp:(.text+0x1bfc): undefined reference to `void Fastcgipp::SQL::Results_base::field<Fastcgipp::Address>(int, int, Fastcgipp::Address&) const'
/usr/bin/ld: database.cpp:(.text+0x1c0f): undefined reference to `void Fastcgipp::SQL::Results_base::field<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) const'
/usr/bin/ld: database.cpp:(.text+0x1d1b): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: database.cpp:(.text+0x1f16): undefined reference to `Fastcgipp::SQL::Connection::queue(Fastcgipp::SQL::Query const&)'
/usr/bin/ld: database.cpp:(.text+0x2022): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x2038): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x204d): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<Fastcgipp::Address>(int) const'
/usr/bin/ld: database.cpp:(.text+0x2062): undefined reference to `bool Fastcgipp::SQL::Results_base::verifyColumn<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int) const'
/usr/bin/ld: database.cpp:(.text+0x21bf): undefined reference to `Fastcgipp::SQL::Results_base::affectedRows() const'
/usr/bin/ld: database.cpp:(.text+0x22da): undefined reference to `Fastcgipp::SQL::Results_base::columns() const'
/usr/bin/ld: database.cpp:(.text+0x22ea): undefined reference to `Fastcgipp::SQL::Results_base::rows() const'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::start()':
database.cpp:(.text+0x43): undefined reference to `Fastcgipp::SQL::Connection::start()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Database::terminate()':
database.cpp:(.text+0x65): undefined reference to `Fastcgipp::SQL::Connection::join()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED2Ev[_ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED5Ev]+0xb): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED0Ev[_ZN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEED5Ev]+0xf): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<>::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJEED2Ev[_ZN9Fastcgipp3SQL7ResultsIJEED5Ev]+0xb): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `Fastcgipp::SQL::Results<>::~Results()':
database.cpp:(.text._ZN9Fastcgipp3SQL7ResultsIJEED0Ev[_ZN9Fastcgipp3SQL7ResultsIJEED5Ev]+0xf): undefined reference to `Fastcgipp::SQL::Results_base::~Results_base()'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `_GLOBAL__sub_I__ZN8Database8s_deviceE':
database.cpp:(.text.startup+0x2c3): undefined reference to `Fastcgipp::SQL::Connection::~Connection()'
/usr/bin/ld: database.cpp:(.text.startup+0x3a3): undefined reference to `Fastcgipp::SQL::Parameter<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > >::oid'
/usr/bin/ld: database.cpp:(.text.startup+0x3a9): undefined reference to `Fastcgipp::SQL::Parameter<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::oid'
/usr/bin/ld: database.cpp:(.text.startup+0x3b8): undefined reference to `Fastcgipp::SQL::Parameter<Fastcgipp::Address>::oid'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o: in function `std::shared_ptr<Fastcgipp::SQL::Parameters<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > Fastcgipp::SQL::make_Parameters<std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > >, Fastcgipp::Address, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::chrono::time_point<std::chrono::_V2::system_clock, std::chrono::duration<long, std::ratio<1l, 1000000l> > > const&, Fastcgipp::Address const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
database.cpp:(.text._ZN9Fastcgipp3SQL15make_ParametersIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESt10shared_ptrINS0_10ParametersIJDpT_EEEEDpRKSK_[_ZN9Fastcgipp3SQL15make_ParametersIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEESt10shared_ptrINS0_10ParametersIJDpT_EEEEDpRKSK_]+0x5b): undefined reference to `Fastcgipp::SQL::Parameter<Fastcgipp::Address>::addressFamily'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o:(.data.rel.ro._ZTIN9Fastcgipp3SQL7ResultsIJEEE[_ZTIN9Fastcgipp3SQL7ResultsIJEEE]+0x10): undefined reference to `typeinfo for Fastcgipp::SQL::Results_base'
/usr/bin/ld: CMakeFiles/test.dir/database.cpp.o:(.data.rel.ro._ZTIN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE[_ZTIN9Fastcgipp3SQL7ResultsIJNSt6chrono10time_pointINS2_3_V212system_clockENS2_8durationIlSt5ratioILl1ELl1000000EEEEEENS_7AddressENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEE]+0x10): undefined reference to `typeinfo for Fastcgipp::SQL::Results_base'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/test.dir/build.make:115: test] Error 1
make[2]: Leaving directory '/home/user/progs/prog/dbo/build'
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/test.dir/all] Error 2
make[1]: Leaving directory '/home/user/progs/prog/dbo/build'
make: *** [Makefile:91: all] Error 2
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.08.2023, 22:07
Цитата Сообщение от Shooter85 Посмотреть сообщение
Build files have been written to: /home/user/fastcgi++
Меня это немного смущает. Какой у вас каталог сборки и каталог с исходным кодом библиотеки?
Цитата Сообщение от Shooter85 Посмотреть сообщение
Up-to-date
Короче вам нужно вычистить каталог сборки (можно просто снести и создать заново).
Заново сконфигурировать, собрать и инсталлировать.
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 22:27  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
Меня это немного смущает. Какой у вас каталог сборки и каталог с исходным кодом библиотеки?
Короче вам нужно вычистить каталог сборки (можно просто снести и создать заново).
Заново сконфигурировать, собрать и инсталлировать.
Как в мануале по инсталлу описано:
В коренвой каталог склонировал папку fastcgi++
Bash
1
git clone https://github.com/eddic/fastcgipp.git fastcgi++
Далее
mkdir fastcgi++.build
cd fastcgi++.build

и уже из это папки все последующие команды установки сделал.

в корневом катологе две папки: fastcgi++ и fastcgi++.build

Мне это просто удалить или конкретно вычистить либу из системы?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
16.08.2023, 22:34
Цитата Сообщение от Shooter85 Посмотреть сообщение
mkdir fastcgi++.build
cd fastcgi++.build
и уже из это папки все последующие команды установки сделал.
Тогда странно, что cmake пишет
Цитата Сообщение от Shooter85 Посмотреть сообщение
Build files have been written to: /home/user/fastcgi++
должен писать Build files have been written to: /home/user/fastcgi++.build

Цитата Сообщение от Shooter85 Посмотреть сообщение
Мне это просто удалить или конкретно вычистить либу из системы?
Лучше конкретно, есть вероятность, что у вас дерево исходного кода засрано.

Новый каталог сбоки назовите иначе (без точки в имени) на всякий случай.
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 23:22  [ТС]
Цитата Сообщение от zayats80888 Посмотреть сообщение
Лучше конкретно, есть вероятность, что у вас дерево исходного кода засрано.
Новый каталог сбоки назовите иначе (без точки в имени) на всякий случай.
Тупо удалил все папки и файлы, содержащие либу. Надеюсь она больше нигде не засела.
/home/user/fastcgi++
/home/user/fastcgi++.build
/usr/lib/x86_64-linux-gnu/libfastcgipp.so.3.1
/usr/lib/x86_64-linux-gnu/libfastcgipp.so.3
/usr/lib/x86_64-linux-gnu/libfastcgipp.so
/usr/lib/x86_64-linux-gnu/cmake/Fastcgipp
/usr/include/fastcgi++


По новой склонировал. Ставлю заново:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DSQL=true ../fastcgi++
-- The CXX compiler identification is GNU 13.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PostgreSQL: /usr/lib/x86_64-linux-gnu/libpq.so (found suitable version "15.3", minimum required is "11.0")  
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.88.1")  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/fastcgipp

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sudo make
[  4%] Building CXX object CMakeFiles/fastcgipp.dir/src/log.cpp.o
[  9%] Building CXX object CMakeFiles/fastcgipp.dir/src/block.cpp.o
[ 14%] Building CXX object CMakeFiles/fastcgipp.dir/src/http.cpp.o
[ 19%] Building CXX object CMakeFiles/fastcgipp.dir/src/protocol.cpp.o
[ 23%] Building CXX object CMakeFiles/fastcgipp.dir/src/poll.cpp.o
[ 28%] Building CXX object CMakeFiles/fastcgipp.dir/src/sockets.cpp.o
[ 33%] Building CXX object CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o
[ 38%] Building CXX object CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o
[ 42%] Building CXX object CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o
[ 47%] Building CXX object CMakeFiles/fastcgipp.dir/src/request.cpp.o
[ 52%] Building CXX object CMakeFiles/fastcgipp.dir/src/manager.cpp.o
[ 57%] Building CXX object CMakeFiles/fastcgipp.dir/src/address.cpp.o
[ 61%] Building CXX object CMakeFiles/fastcgipp.dir/src/mailer.cpp.o
[ 66%] Building CXX object CMakeFiles/fastcgipp.dir/src/email.cpp.o
[ 71%] Building CXX object CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o
[ 76%] Building CXX object CMakeFiles/fastcgipp.dir/src/parameters.cpp.o
In file included from /home/user/fastcgi++/src/parameters.cpp:29:
/home/user/fastcgi++/include/sqlTraits.hpp:33:10: fatal error: postgres.h: No such file or directory
   33 | #include <postgres.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/fastcgipp.dir/build.make:286: CMakeFiles/fastcgipp.dir/src/parameters.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: CMakeFiles/fastcgipp.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
16.08.2023, 23:26
Shooter85, поставьте dev-пакеты для libpq и postgresql-server
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
16.08.2023, 23:53  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Shooter85, поставьте dev-пакеты для libpq и postgresql-server
Поставил postgresql-server-dev-all там много всего, включая libpq-dev, который у меня уже был.
Та же ошибка во время выполнения make.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.08.2023, 00:11
Shooter85,
Bash
1
locate postgres.h
что говорит?
1
17.08.2023, 00:17

Не по теме:

Цитата Сообщение от Shooter85 Посмотреть сообщение
Поставил postgresql-server-dev-all там много всего, включая libpq-dev, который у меня уже был.
Та же ошибка во время выполнения make.
Очистите каталог сборки (в этот раз только его, нужно кэш cmake удалить).
Сконфигурируйте снова, чтоб он нашел свежеустановленное.

0
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
17.08.2023, 09:47  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Shooter85,
Bash
1
locate postgres.h
/usr/include/postgresql/15/server/postgres.h


Цитата Сообщение от zayats80888 Посмотреть сообщение
Очистите каталог сборки (в этот раз только его, нужно кэш cmake удалить).
Сконфигурируйте снова, чтоб он нашел свежеустановленное.
Сделал, не помогло.


Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DSQL=true ../fastcgi++
-- The CXX compiler identification is GNU 13.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PostgreSQL: /usr/lib/x86_64-linux-gnu/libpq.so (found suitable version "15.4", minimum required is "11.0")  
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "8.2.1")  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /home/xx/fastcgipp
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sudo make
[  4%] Building CXX object CMakeFiles/fastcgipp.dir/src/log.cpp.o
[  9%] Building CXX object CMakeFiles/fastcgipp.dir/src/block.cpp.o
[ 14%] Building CXX object CMakeFiles/fastcgipp.dir/src/http.cpp.o
[ 19%] Building CXX object CMakeFiles/fastcgipp.dir/src/protocol.cpp.o
[ 23%] Building CXX object CMakeFiles/fastcgipp.dir/src/poll.cpp.o
[ 28%] Building CXX object CMakeFiles/fastcgipp.dir/src/sockets.cpp.o
[ 33%] Building CXX object CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o
[ 38%] Building CXX object CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o
[ 42%] Building CXX object CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o
[ 47%] Building CXX object CMakeFiles/fastcgipp.dir/src/request.cpp.o
[ 52%] Building CXX object CMakeFiles/fastcgipp.dir/src/manager.cpp.o
[ 57%] Building CXX object CMakeFiles/fastcgipp.dir/src/address.cpp.o
[ 61%] Building CXX object CMakeFiles/fastcgipp.dir/src/mailer.cpp.o
[ 66%] Building CXX object CMakeFiles/fastcgipp.dir/src/email.cpp.o
[ 71%] Building CXX object CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o
[ 76%] Building CXX object CMakeFiles/fastcgipp.dir/src/parameters.cpp.o
In file included from /home/xx/fastcgi++/src/parameters.cpp:29:
/home/xx/fastcgi++/include/sqlTraits.hpp:33:10: fatal error: postgres.h: No such file or directory
   33 | #include <postgres.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/fastcgipp.dir/build.make:286: CMakeFiles/fastcgipp.dir/src/parameters.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: CMakeFiles/fastcgipp.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.08.2023, 10:02
Shooter85,

Не по теме:

К делу не относится, но cmake и make из под sudo запускать не стоит. Только make install.
но сейчас, если вы попробуете без sudo, то будут ошибки прав доступа. Нужно будет все зачистить и заново собрать правильно. Но это потом, когда основную проблему решите.



Shooter85, сделайте make с VERBOSE=1 (последний шаг)
Bash
1
2
sudo make clean
VERBOSE=1 make
Нам нужно получить строку компиляции и посмотреть там какие каталоги для заголовочных файлов были указаны.
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
17.08.2023, 10:13  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Shooter85,
Shooter85, сделайте make с VERBOSE=1 (последний шаг)
Bash
1
2
sudo make clean
VERBOSE=1 make
Нам нужно получить строку компиляции и посмотреть там какие каталоги для заголовочных файлов были указаны.

Вычистил папку fastcgipp и по новой начал ставить

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DSQL=true ../fastcgi++
-- The CXX compiler identification is GNU 13.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PostgreSQL: /usr/lib/x86_64-linux-gnu/libpq.so (found suitable version "15.4", minimum required is "11.0")  
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "8.2.1")  
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/xxx/fastcgipp
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
VERBOSE=1 make
/usr/bin/cmake -S/home/xxx/fastcgi++ -B/home/xxx/fastcgipp --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/xxx/fastcgipp/CMakeFiles /home/xxx/fastcgipp//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/xxx/fastcgipp'
make  -f CMakeFiles/fastcgipp.dir/build.make CMakeFiles/fastcgipp.dir/depend
make[2]: Entering directory '/home/xxx/fastcgipp'
cd /home/xxx/fastcgipp && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/xxx/fastcgi++ /home/xxx/fastcgi++ /home/xxx/fastcgipp /home/xxx/fastcgipp /home/xxx/fastcgipp/CMakeFiles/fastcgipp.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/xxx/fastcgipp'
make  -f CMakeFiles/fastcgipp.dir/build.make CMakeFiles/fastcgipp.dir/build
make[2]: Entering directory '/home/xxx/fastcgipp'
Building CXX object CMakeFiles/fastcgipp.dir/src/log.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/xxx/fastcgipp/include -I/home/xxx/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/log.cpp.o -MF CMakeFiles/fastcgipp.dir/src/log.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/log.cpp.o -c /home/xxx/fastcgi++/src/log.cpp
/home/xxx/fastcgi++/src/log.cpp:113:1: fatal error: opening dependency file CMakeFiles/fastcgipp.dir/src/log.cpp.o.d: Permission denied
  113 | }
      | ^
compilation terminated.
make[2]: *** [CMakeFiles/fastcgipp.dir/build.make:76: CMakeFiles/fastcgipp.dir/src/log.cpp.o] Error 1
make[2]: Leaving directory '/home/xxx/fastcgipp'
make[1]: *** [CMakeFiles/Makefile2:99: CMakeFiles/fastcgipp.dir/all] Error 2
make[1]: Leaving directory '/home/xxx/fastcgipp'
make: *** [Makefile:146: all] Error 2
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.08.2023, 10:20
Цитата Сообщение от Shooter85 Посмотреть сообщение
VERBOSE=1 make
Ну раз вы опять с sudo cmake сделали, то и дальше тоже нужно с sudo...

Добавлено через 1 минуту
Цитата Сообщение от DrOffset Посмотреть сообщение
будут ошибки прав доступа.
Цитата Сообщение от Shooter85 Посмотреть сообщение
Permission denied
О чем я и говорил.

Добавлено через 3 минуты
Shooter85, просто повторите последний шаг
Bash
1
VERBOSE=1 sudo make
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
17.08.2023, 10:21  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Ну раз вы опять с sudo cmake сделали, то и дальше тоже нужно с sudo...
По новой вычистил и без sudo всё.
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=RELEASE -DSQL=true ../fastcgi++
Вывод тот же.

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
VERBOSE=1 make
/usr/bin/cmake -S/home/progs/fastcgi++ -B/home/progs/fastcgipp --check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start /home/progs/fastcgipp/CMakeFiles /home/progs/fastcgipp//CMakeFiles/progress.marks
make  -f CMakeFiles/Makefile2 all
make[1]: Entering directory '/home/progs/fastcgipp'
make  -f CMakeFiles/fastcgipp.dir/build.make CMakeFiles/fastcgipp.dir/depend
make[2]: Entering directory '/home/progs/fastcgipp'
cd /home/progs/fastcgipp && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/progs/fastcgi++ /home/progs/fastcgi++ /home/progs/fastcgipp /home/progs/fastcgipp /home/progs/fastcgipp/CMakeFiles/fastcgipp.dir/DependInfo.cmake --color=
make[2]: Leaving directory '/home/progs/fastcgipp'
make  -f CMakeFiles/fastcgipp.dir/build.make CMakeFiles/fastcgipp.dir/build
make[2]: Entering directory '/home/progs/fastcgipp'
[  4%] Building CXX object CMakeFiles/fastcgipp.dir/src/log.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/log.cpp.o -MF CMakeFiles/fastcgipp.dir/src/log.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/log.cpp.o -c /home/progs/fastcgi++/src/log.cpp
[  9%] Building CXX object CMakeFiles/fastcgipp.dir/src/block.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/block.cpp.o -MF CMakeFiles/fastcgipp.dir/src/block.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/block.cpp.o -c /home/progs/fastcgi++/src/block.cpp
[ 14%] Building CXX object CMakeFiles/fastcgipp.dir/src/http.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/http.cpp.o -MF CMakeFiles/fastcgipp.dir/src/http.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/http.cpp.o -c /home/progs/fastcgi++/src/http.cpp
[ 19%] Building CXX object CMakeFiles/fastcgipp.dir/src/protocol.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/protocol.cpp.o -MF CMakeFiles/fastcgipp.dir/src/protocol.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/protocol.cpp.o -c /home/progs/fastcgi++/src/protocol.cpp
[ 23%] Building CXX object CMakeFiles/fastcgipp.dir/src/poll.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/poll.cpp.o -MF CMakeFiles/fastcgipp.dir/src/poll.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/poll.cpp.o -c /home/progs/fastcgi++/src/poll.cpp
[ 28%] Building CXX object CMakeFiles/fastcgipp.dir/src/sockets.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/sockets.cpp.o -MF CMakeFiles/fastcgipp.dir/src/sockets.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/sockets.cpp.o -c /home/progs/fastcgi++/src/sockets.cpp
[ 33%] Building CXX object CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o -MF CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/transceiver.cpp.o -c /home/progs/fastcgi++/src/transceiver.cpp
[ 38%] Building CXX object CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o -MF CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/fcgistreambuf.cpp.o -c /home/progs/fastcgi++/src/fcgistreambuf.cpp
[ 42%] Building CXX object CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o -MF CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/webstreambuf.cpp.o -c /home/progs/fastcgi++/src/webstreambuf.cpp
[ 47%] Building CXX object CMakeFiles/fastcgipp.dir/src/request.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/request.cpp.o -MF CMakeFiles/fastcgipp.dir/src/request.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/request.cpp.o -c /home/progs/fastcgi++/src/request.cpp
[ 52%] Building CXX object CMakeFiles/fastcgipp.dir/src/manager.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/manager.cpp.o -MF CMakeFiles/fastcgipp.dir/src/manager.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/manager.cpp.o -c /home/progs/fastcgi++/src/manager.cpp
[ 57%] Building CXX object CMakeFiles/fastcgipp.dir/src/address.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/address.cpp.o -MF CMakeFiles/fastcgipp.dir/src/address.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/address.cpp.o -c /home/progs/fastcgi++/src/address.cpp
[ 61%] Building CXX object CMakeFiles/fastcgipp.dir/src/mailer.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/mailer.cpp.o -MF CMakeFiles/fastcgipp.dir/src/mailer.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/mailer.cpp.o -c /home/progs/fastcgi++/src/mailer.cpp
[ 66%] Building CXX object CMakeFiles/fastcgipp.dir/src/email.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/email.cpp.o -MF CMakeFiles/fastcgipp.dir/src/email.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/email.cpp.o -c /home/progs/fastcgi++/src/email.cpp
[ 71%] Building CXX object CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o -MF CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/chunkstreambuf.cpp.o -c /home/progs/fastcgi++/src/chunkstreambuf.cpp
[ 76%] Building CXX object CMakeFiles/fastcgipp.dir/src/parameters.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/progs/fastcgipp/include -I/home/progs/fastcgi++/include -I/usr/include/postgresql -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/parameters.cpp.o -MF CMakeFiles/fastcgipp.dir/src/parameters.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/parameters.cpp.o -c /home/progs/fastcgi++/src/parameters.cpp
In file included from /home/progs/fastcgi++/src/parameters.cpp:29:
/home/progs/fastcgi++/include/sqlTraits.hpp:33:10: fatal error: postgres.h: No such file or directory
   33 | #include <postgres.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/fastcgipp.dir/build.make:286: CMakeFiles/fastcgipp.dir/src/parameters.cpp.o] Error 1
make[2]: Leaving directory '/home/progs/fastcgipp'
make[1]: *** [CMakeFiles/Makefile2:99: CMakeFiles/fastcgipp.dir/all] Error 2
make[1]: Leaving directory '/home/progs/fastcgipp'
make: *** [Makefile:146: all] Error 2
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
17.08.2023, 10:52
Shooter85, он и должен быть тот же. Иначе как мы поймем в чем проблема?

В общем вот. Путь до файла postgres.h указывается после работы cmake вот такой
/usr/include/postgresql
А реально он лежит вот здесь:
/usr/include/postgresql/15/server/postgres.h
В этом и проблема.

Добавлено через 14 минут
Цитата Сообщение от Shooter85 Посмотреть сообщение
Поставил postgresql-server-dev-all там много всего,
Вы точно вот здесь все правильно сделали?
Может быть там взаимоисключающие вещи есть?
В смысле какие-нибудь postgresql-server-dev-all и postgresql-server-dev-15 могут исключать друг друга.
Я не очень хорошо помню особенности пакетной системы debian, я как-то всю жизнь больше с red hat.
Но вам определенно стоит проверить, что вы не наставили лишнего или не получили конфликты пакетов.
1
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
17.08.2023, 11:10
Shooter85, если у вас есть утилита ccmake и cmake сгенерировал цель edit_cache(список всех целей можете посмотреть командой make help), можете выполнить make edit_cache, перейти в advaced режим и редактировать кэш из этой утилиты. Если нет, откройте в катлоге сборки файл CMakeCache.txt обычным редактором и редактируйте так.
Вам нужно найти PostgreSQL_TYPE_INCLUDE_DIR и исправить её значение на /usr/include/postgresql/15/server.
1
 Аватар для Shooter85
0 / 0 / 0
Регистрация: 18.07.2023
Сообщений: 27
17.08.2023, 11:35  [ТС]
Цитата Сообщение от DrOffset Посмотреть сообщение
Shooter85,
/usr/include/postgresql
/usr/include/postgresql/15/server/postgres.h

Может быть там взаимоисключающие вещи есть?
В смысле какие-нибудь postgresql-server-dev-all и postgresql-server-dev-15 могут исключать друг друга.
Переустановил пакеты. И они туда же ставится.
postgresql-server-dev-all включает в себя postgresql-server-dev-15
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo apt install postgresql-server-dev-all
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libjson-perl postgresql-client-15 postgresql-client-common postgresql-common
  postgresql-server-dev-15
Suggested packages:
  postgresql-15 postgresql-doc-15
The following NEW packages will be installed:
  libjson-perl postgresql-client-15 postgresql-client-common postgresql-common
  postgresql-server-dev-15 postgresql-server-dev-all
0 upgraded, 6 newly installed, 0 to remove and 384 not upgraded.
Need to get 87.5 kB/3,156 kB of archives.
After this operation, 16.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]
И ставит в том числе и в /usr/include/postgresql/15/server/


Возможно это всё связано с переключением на testing репозиторий. Я хотел получить возможность установки дополнительного софта, но оно мне обнавило дебиан с 11 до 12, что повлекло разные странные ситуации. Всё чаще задумываюсь о переустановке дебиан на стэйбл 11.

Добавлено через 21 минуту
Цитата Сообщение от zayats80888 Посмотреть сообщение
Shooter85, если у вас есть утилита ccmake и cmake сгенерировал цель edit_cache(список всех целей можете посмотреть командой make help), можете выполнить make edit_cache, перейти в advaced режим и редактировать кэш из этой утилиты. Если нет, откройте в катлоге сборки файл CMakeCache.txt обычным редактором и редактируйте так.
Вам нужно найти PostgreSQL_TYPE_INCLUDE_DIR и исправить её значение на /usr/include/postgresql/15/server.
ccmake нет и в репозитории тоже.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
make help
The following are some of the valid targets for this Makefile:
... all (the default if no target is provided)
... clean
... depend
... edit_cache
... install
... install/local
... install/strip
... list_install_components
... rebuild_cache
... test
... examples
... tests
... curl_test
... echo.fcgi
... email.fcgi
... fastcgipp
... fcgistreambuf_test
... gnu.fcgi
... helloworld.fcgi
... http_test
... protocol_test
... sessions.fcgi
... sockets_test
... sql.fcgi
... sql_test
... timer.fcgi
... transceiver_test
... examples/echo.o
... examples/echo.i
... examples/echo.s
... examples/email.o
... examples/email.i
... examples/email.s
... examples/gnu.o
... examples/gnu.i
... examples/gnu.s
... examples/helloworld.o
... examples/helloworld.i
... examples/helloworld.s
... examples/sessions.o
... examples/sessions.i
... examples/sessions.s
... examples/sql.o
... examples/sql.i
... examples/sql.s
... examples/timer.o
... examples/timer.i
... examples/timer.s
... src/address.o
... src/address.i
... src/address.s
... src/block.o
... src/block.i
... src/block.s
... src/chunkstreambuf.o
... src/chunkstreambuf.i
... src/chunkstreambuf.s
... src/connection.o
... src/connection.i
... src/connection.s
... src/curl.o
... src/curl.i
... src/curl.s
... src/curler.o
... src/curler.i
... src/curler.s
... src/email.o
... src/email.i
... src/email.s
... src/fcgistreambuf.o
... src/fcgistreambuf.i
... src/fcgistreambuf.s
... src/http.o
... src/http.i
... src/http.s
... src/log.o
... src/log.i
... src/log.s
... src/mailer.o
... src/mailer.i
... src/mailer.s
... src/manager.o
... src/manager.i
... src/manager.s
... src/parameters.o
... src/parameters.i
... src/parameters.s
... src/poll.o
... src/poll.i
... src/poll.s
... src/protocol.o
... src/protocol.i
... src/protocol.s
... src/request.o
... src/request.i
... src/request.s
... src/results.o
... src/results.i
... src/results.s
... src/sockets.o
... src/sockets.i
... src/sockets.s
... src/transceiver.o
... src/transceiver.i
... src/transceiver.s
... src/webstreambuf.o
... src/webstreambuf.i
... src/webstreambuf.s
... tests/curl.o
... tests/curl.i
... tests/curl.s
... tests/fcgistreambuf.o
... tests/fcgistreambuf.i
... tests/fcgistreambuf.s
... tests/http.o
... tests/http.i
... tests/http.s
... tests/protocol.o
... tests/protocol.i
... tests/protocol.s
... tests/sockets.o
... tests/sockets.i
... tests/sockets.s
... tests/sql.o
... tests/sql.i
... tests/sql.s
... tests/transceiver.o
... tests/transceiver.i
... tests/transceiver.s
Bash
1
2
3
make edit_cache
No interactive CMake dialog available...
No interactive CMake dialog available.
Заменил в CMakeCache.txt в двух местах:
//The Set the PostgreSQL_INCLUDE_DIR cmake cache entry to the top-level
// directory containing the PostgreSQL include directories. E.g
// /usr/local/include/PostgreSQL/8.4 or C:/Program Files/PostgreSQL/8.4/include
PostgreSQL_INCLUDE_DIR:PATH=/usr/include/postgresql/15/server

//Details about finding PostgreSQL
FIND_PACKAGE_MESSAGE_DETAILS_PostgreSQL: INTERNAL=[/usr/lib/x86_64-linux-gnu/libpq.so][/usr/include/postgresql/15/server][c ][v15.4(11.0)]

Но теперь оно не видит /usr/include/postgresql/libpq/libpq-fs.h
Bash
1
2
3
4
5
6
7
8
9
10
11
12
[ 76%] Building CXX object CMakeFiles/fastcgipp.dir/src/parameters.cpp.o
/usr/bin/c++ -Dfastcgipp_EXPORTS -I/home/userr/fastcgipp/include -I/home/userr/fastcgi++/include -I/usr/include/postgresql/15/server -O3 -DNDEBUG -std=gnu++20 -fPIC -Wall -Werror -fno-omit-frame-pointer -MD -MT CMakeFiles/fastcgipp.dir/src/parameters.cpp.o -MF CMakeFiles/fastcgipp.dir/src/parameters.cpp.o.d -o CMakeFiles/fastcgipp.dir/src/parameters.cpp.o -c /home/userr/fastcgi++/src/parameters.cpp
In file included from /home/userr/fastcgi++/src/parameters.cpp:29:
/home/userr/fastcgi++/include/sqlTraits.hpp:34:10: fatal error: libpq-fe.h: No such file or directory
   34 | #include <libpq-fe.h>
      |          ^~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/fastcgipp.dir/build.make:286: CMakeFiles/fastcgipp.dir/src/parameters.cpp.o] Error 1
make[2]: Leaving directory '/home/userr/fastcgipp'
make[1]: *** [CMakeFiles/Makefile2:99: CMakeFiles/fastcgipp.dir/all] Error 2
make[1]: Leaving directory '/home/userr/fastcgipp'
make: *** [Makefile:146: all] Error 2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2023, 11:35
Помогаю со студенческими работами здесь

Обращение к privat - членам класса из другого класса
Помогите пожалуйста! У меня есть задача. Написал методы которые должны быть в классе Bankomat, но не знаю как обратиться к privat...

Доступ к членам класса класса
Всем привет. Вобщем есть базовый класс, и два производных. Пользователь вводит координаты нужно проверить факт пересечения одной фигуры с...

Доступ к членам класса
Есть два класса: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class CPerson { /*закрытые члены*/ private:...

Доступ к членам класса
Объект класса не может получить доступ к своим переменным?

Класс внутри класса с доступом к данным первого класса
Есть класс, он содержит в себе функции. Функций этих много и я решил, что было бы удобно их группировать, как-нибудь через структуры или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru