New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Link error on Fedora #13
Comments
The failing check failed to link libpq into the executable it was building. You can see the "-lpq" option in the previous check ("PQexec in -lpq") but not in the failing one ("correct C++ linkage of basic libpq functions"). This looks like it's related to a bug I fixed recently. Have a look at the check in your version of configure.ac.in, around line 454. For me it currently says::
Until the fix, however, the outer brackets around the LIBS value were missing::
I think one of two things is going wrong. Either you don't have the square brackets yet, and the latest version should work for you. Or you do have them, and it broke something else for you. I'd be interested to hear which! |
4.0.1 is using |
Okay, hopefully commit 85e9336 fixed this for good. My apologies for this mess... Macro-ing in m4 has never been my strong suit! |
Sorry for not following up sooner, but this fixed the issue ( https://koji.fedoraproject.org/koji/buildinfo?buildID=911028 ). Thanks for all the help. |
Glad you found a way — but surely there's a newer packaged version? This is libpqxx 4.0.1 and I'm about to release 6.0! |
The problem is that libpqxx 5 is not code compatible with 4, so I'm not sure when Fedora will be able to update because there are several uses of libpqxx and they still use the 4 style of code. |
You'd expect them to support multiple versions installed side by side though. |
Maintaining multiple versions of a library is a big pain. Since 6 is coming out around 6 months after 5, would having to support 4, 5 and 6 be required? What type of API compatibility can be expected going forward? Basically, supporting 2 versions I could maybe get behind, but 3 or more would be out of the question. |
Fair enough. Might be best to skip 5 then, and go straight to 6 — provided that the platform as a whole is OK with C++11. Compiling the same libpqxx version with different C++ versions (C++11, C++14, C++17, ...) will give you slightly different feature sets, but I try to keep the differences hidden away in inline functions so the binary should not be affected. Unless compilers change their name mangling of course! |
(Edit, I wasn't running with the newest code. I am now in the process of configure and make with a cloned repo. The following error does not show when using the newst code. Sorry for any inconvenience. I'll let this be here for other people who may encounter the same problem when following the tutorial.) Hey, I was following this guide: https://www.tutorialspoint.com/postgresql/postgresql_c_cpp.htm ` sed: character class syntax is [[:space:]], not [:space:] Read the config.log file for more detailed information. Look for the last error The config.log file looks like this: ` It was created by libpqxx configure 4.0, which was $ ./configure ---------Platform.---------hostname = DESKTOP-T7BC3Q4 /usr/bin/uname -p = unknown /bin/arch = unknown PATH: /usr/local/sbin -----------Core tests.-----------configure:2438: checking for a BSD-compatible install configure:3050: $? = 0 configure:3938: $? = 0 Read the config.log file for more detailed information. Look for the last error ----------------Cache variables.----------------ac_cv_build=x86_64-unknown-linux-gnu -----------------Output variables.-----------------ACLOCAL='${SHELL} /home/peter/libpqxx-4.0/config/missing --run aclocal-1.11' -----------confdefs.h.-----------/* confdefs.h */ configure: exit 1 I'm using: Is this a bug, or is there something I haven't configured correctly? Best, Peter. |
Here's the section from config.log when trying to build 5.0.1:
Link to bugzilla
The text was updated successfully, but these errors were encountered: