pistacheio / pistache

A high-performance REST toolkit written in C++
https://pistacheio.github.io/pistache/
Apache License 2.0
3.16k stars 696 forks source link

Error When Installing #1230

Open lwll opened 3 weeks ago

lwll commented 3 weeks ago

hi, an error occur when I run the command: meson install -C build. here is the error message: ninja: Entering directory/workspace/pistache/build' [1/1] Linking target src/libpistache.so.0.4.1 FAILED: src/libpistache.so.0.4.1 c++ -o src/libpistache.so.0.4.1 src/libpistache.so.0.4.1.p/common_base64.cc.o src/libpistache.so.0.4.1.p/common_cookie.cc.o src/libpistache.so.0.4.1.p/common_description.cc.o src/libpistache.so.0.4.1.p/common_eventmeth.cc.o src/libpistache.so.0.4.1.p/common_http.cc.o src/libpistache.so.0.4.1.p/common_http_defs.cc.o src/libpistache.so.0.4.1.p/common_http_header.cc.o src/libpistache.so.0.4.1.p/common_http_headers.cc.o src/libpistache.so.0.4.1.p/common_mime.cc.o src/libpistache.so.0.4.1.p/common_net.cc.o src/libpistache.so.0.4.1.p/common_os.cc.o src/libpistache.so.0.4.1.p/common_peer.cc.o src/libpistache.so.0.4.1.p/common_pist_check.cc.o src/libpistache.so.0.4.1.p/common_pist_syslog.cc.o src/libpistache.so.0.4.1.p/common_pist_timelog.cc.o src/libpistache.so.0.4.1.p/common_reactor.cc.o src/libpistache.so.0.4.1.p/common_stream.cc.o src/libpistache.so.0.4.1.p/common_string_logger.cc.o src/libpistache.so.0.4.1.p/common_tcp.cc.o src/libpistache.so.0.4.1.p/common_timer_pool.cc.o src/libpistache.so.0.4.1.p/common_transport.cc.o src/libpistache.so.0.4.1.p/common_utils.cc.o src/libpistache.so.0.4.1.p/server_endpoint.cc.o src/libpistache.so.0.4.1.p/server_listener.cc.o src/libpistache.so.0.4.1.p/server_router.cc.o src/libpistache.so.0.4.1.p/client_client.cc.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group -Wl,-soname,libpistache.so.0 -pthread -lstdc++fs -Wl,--end-group src/libpistache.so.0.4.1.p/common_pist_check.cc.o: In function PS_LogWoBreak(int, char const*, char const*, int, char const*)': pist_check.cc:(.text+0x188): undefined reference todladdr' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. Could not rebuild /workspace/pistache/build`

GJYang commented 1 week ago

In the meson.build file, the following lines should be added:

ldl = compiler.find_library('dl', required: true)
deps_libpistache += ldl
dgreatwood commented 1 week ago

Thanks. I believe you're correct. We'll add a fix.

Tachi107 commented 1 week ago

In the meson.build file, the following lines should be added:

ldl = compiler.find_library('dl', required: true)
deps_libpistache += ldl

Note: dependency('dl') should be used instead starting with Meson 0.62.0. See https://mesonbuild.com/Dependencies.html#dl-libdl

dgreatwood commented 4 days ago

I have made a for-now-experimental branch at: https://github.com/dgreatwood/pistachefork/tree/MakeDlLibraryDependency

@lwll, I wonder if you could try out that branch in your setup?