On 07/28/2018 04:04 AM, Sumit Chaturvedi wrote:
Hello everyone. I'm a third year student from IIT Bombay, India. Since
I'm currently learning about databases, I wanted to debug postgresql
with xcode. However, I am having a lot of problems.
OS - 10.13.6 (High Sierra)
Xcode - 9.4.1
To set up my system, I tried to replicate the instructions found at
https://wiki.postgresql.org/wiki/Working_with_Eclipse
<https://wiki.postgresql.org/wiki/Working_with_Eclipse> for my case.
Everything proceeded fine until a point where I had to change the run
configuration (scheme in xcode terms). I set the executable as postgre
from /src/backend and gave the appropriate arguments. Then, when I
pressed run, I got an error as shown in the attachment.
I can tell you where the error comes from:
postmaster.c
/*
* On macOS, libintl replaces setlocale() with a version that calls
* CFLocaleCopyCurrent() when its second argument is "" and every relevant
* environment variable is unset or empty. CFLocaleCopyCurrent() makes
* the process multithreaded. The postmaster calls sigprocmask() and
* calls fork() without an immediate exec(), both of which have undefined
* behavior in a multithreaded program. A multithreaded postmaster is the
* normal case on Windows, which offers neither fork() nor sigprocmask().
*/
if (pthread_is_threaded_np() != 0)
ereport(FATAL,
(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("postmaster became multithreaded during
startup"),
errhint("Set the LC_ALL environment variable to
a valid locale.")));
To solve it, I set up my environment variables in xcode appropriately to
make sure that locale information was reaching wherever it was needed.
But even now, when I press run I get the same error.
I do not see that the LC_ALL environment variable is set, per the HINT
to the FATAL message.
Hoping someone can share with me how they went about with their setup.
--
Sumit Chaturvedi
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx