Обсуждение: libedit broke in head

Поиск
Список
Период
Сортировка

libedit broke in head

От
"Joshua D. Drake"
Дата:
Hello,

It seems I am unable to compile libedit support in -HEAD


t -lpgport -L../../../src/interfaces/libpq -lpq -L../../../src/port
-Wl,-rpath,'/usr/local/pgsql/lib' -lpgport -lz -lcrypt -ldl -lm  -o psql
input.o: In function `pg_send_history':
input.c:(.text+0x10d): undefined reference to `add_history'
input.o: In function `gets_interactive':
input.c:(.text+0x23d): undefined reference to `readline'
input.o: In function `initializeInput':
input.c:(.text+0x27a): undefined reference to `initialize_readline'
input.c:(.text+0x286): undefined reference to `using_history'
input.c:(.text+0x2ca): undefined reference to `read_history'
input.c:(.text+0x2d1): undefined reference to `history_set_pos'
input.c:(.text+0x2d6): undefined reference to `current_history'
input.c:(.text+0x311): undefined reference to `next_history'
input.o: In function `saveHistory':
input.c:(.text+0x409): undefined reference to `write_history'
input.c:(.text+0x43b): undefined reference to `history_set_pos'
input.c:(.text+0x440): undefined reference to `current_history'
input.c:(.text+0x481): undefined reference to `next_history'
input.o: In function `finishInput':
input.c:(.text+0x4df): undefined reference to `stifle_history'
collect2: ld returned 1 exit status
make[3]: *** [psql] Error 1
make[3]: Leaving directory `/home/jd/pgsql/src/bin/psql'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/jd/pgsql/src/bin'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/jd/pgsql/src'
make: *** [all] Error 2

Configured with:
./configure --with-libedit-preferred --without-readline


-- 
  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240  Providing the most comprehensive  PostgreSQL
solutionssince 1997            http://www.commandprompt.com/
 




Re: libedit broke in head

От
Tom Lane
Дата:
"Joshua D. Drake" <jd@commandprompt.com> writes:
> It seems I am unable to compile libedit support in -HEAD

On what platform, and with what version of libedit?  I built HEAD just
yesterday on a vanilla Darwin/Intel 10.4.7 machine with Apple's libedit.

> Configured with:
>  ./configure --with-libedit-preferred --without-readline

Not sure that combination of switches is sensible.  Try it with
just the first, or even without either if you don't have readline
present.
        regards, tom lane


Re: libedit broke in head

От
Stefan Kaltenbrunner
Дата:
Tom Lane wrote:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
>> It seems I am unable to compile libedit support in -HEAD
> 
> On what platform, and with what version of libedit?  I built HEAD just
> yesterday on a vanilla Darwin/Intel 10.4.7 machine with Apple's libedit.

we have (a bit of) buildfarm coverage of that too - at least emu is
building with --with-libedit-preferred for a while now.

> 
>> Configured with:
>>  ./configure --with-libedit-preferred --without-readline
> 
> Not sure that combination of switches is sensible.  Try it with
> just the first, or even without either if you don't have readline
> present.

I agree - using both flags together looks just wrong ...


Stefan


Re: libedit broke in head

От
Alvaro Herrera
Дата:
Stefan Kaltenbrunner wrote:
> Tom Lane wrote:
> > "Joshua D. Drake" <jd@commandprompt.com> writes:
> >> It seems I am unable to compile libedit support in -HEAD
> > 
> > On what platform, and with what version of libedit?  I built HEAD just
> > yesterday on a vanilla Darwin/Intel 10.4.7 machine with Apple's libedit.
> 
> we have (a bit of) buildfarm coverage of that too - at least emu is
> building with --with-libedit-preferred for a while now.
> 
> > 
> >> Configured with:
> >>  ./configure --with-libedit-preferred --without-readline
> > 
> > Not sure that combination of switches is sensible.  Try it with
> > just the first, or even without either if you don't have readline
> > present.
> 
> I agree - using both flags together looks just wrong ...

I think the switches are confusing ... when you are using libedit, you
certainly don't want readline as well, so it seems natural to disable
it.  I understand that what --without-readline really does is turn the
line-editing capability off in general rather than just readline, which
is confusing.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


Re: libedit broke in head

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@commandprompt.com> writes:
> I think the switches are confusing ... when you are using libedit, you
> certainly don't want readline as well, so it seems natural to disable
> it.  I understand that what --without-readline really does is turn the
> line-editing capability off in general rather than just readline, which
> is confusing.

The documentation could be improved perhaps:

$ ./configure --help | grep -i edit     --with-libedit-preferred  prefer BSD Libedit over GNU Readline
--without-readline     do not use GNU Readline / BSD Libedit line editing
 
$

ISTM the second line would be clearer if it read
 --without-readline      do not use GNU Readline nor BSD Libedit for editing

Also, we probably ought to see if we can make the libedit-preferred line
come out second.
        regards, tom lane


Re: libedit broke in head

От
"Joshua D. Drake"
Дата:
Tom Lane wrote:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
>> It seems I am unable to compile libedit support in -HEAD
> 
> On what platform, and with what version of libedit?  I built HEAD just
> yesterday on a vanilla Darwin/Intel 10.4.7 machine with Apple's libedit.
> 
>> Configured with:
>>  ./configure --with-libedit-preferred --without-readline
> 
> Not sure that combination of switches is sensible.  Try it with
> just the first, or even without either if you don't have readline
> present.

I will give it a shot *but* I would suggest we change the wording:
--with-libedit-preferred  prefer BSD Libedit over GNU Readline


That says to me, try libedit but if it doesn't work, try readline.

But maybe that is just me.

Sincerely,

Joshua D. Drake


> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: if posting/reading through Usenet, please send an appropriate
>        subscribe-nomail command to majordomo@postgresql.org so that your
>        message can get through to the mailing list cleanly
> 


-- 
  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240  Providing the most comprehensive  PostgreSQL
solutionssince 1997            http://www.commandprompt.com/
 




Re: libedit broke in head

От
"Joshua D. Drake"
Дата:
Tom Lane wrote:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
>> I think the switches are confusing ... when you are using libedit, you
>> certainly don't want readline as well, so it seems natural to disable
>> it.  I understand that what --without-readline really does is turn the
>> line-editing capability off in general rather than just readline, which
>> is confusing.

Just to verify. With removing the second switch, were good. It tested
and ran clean.

> 
> The documentation could be improved perhaps:
> 
> $ ./configure --help | grep -i edit    
>   --with-libedit-preferred  prefer BSD Libedit over GNU Readline
>   --without-readline      do not use GNU Readline / BSD Libedit line editing
> $
> 
> ISTM the second line would be clearer if it read
> 
>   --without-readline      do not use GNU Readline nor BSD Libedit for editing
> 
> Also, we probably ought to see if we can make the libedit-preferred line
> come out second.

I really don't get the libedit-preferred syntax? Why not just:

--with-libedit     use BSD Libedit not GNU Readline
--with-readline use GNU Readline not BSD Libedit
--without-readline do not use GNU Readline nor BSD Libedit

Of course --without-readline is really a misnomer too. But
--without-edit doesn't sound right.

Sincerely,

Joshua D. Drake



> 
>             regards, tom lane
> 


-- 
  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240  Providing the most comprehensive  PostgreSQL
solutionssince 1997            http://www.commandprompt.com/
 




Re: libedit broke in head

От
Tom Lane
Дата:
"Joshua D. Drake" <jd@commandprompt.com> writes:
> I really don't get the libedit-preferred syntax? Why not just:

> --with-libedit     use BSD Libedit not GNU Readline
> --with-readline use GNU Readline not BSD Libedit
> --without-readline do not use GNU Readline nor BSD Libedit

Well, the point is that the current configure behavior usually does the
right thing *without* any switches.  If we made it behave as above then
the user would be forced to specify which library was installed on his
system, which is a bit pedantic when most platforms will have only one.
        regards, tom lane


Re: libedit broke in head

От
"Joshua D. Drake"
Дата:
Tom Lane wrote:
> "Joshua D. Drake" <jd@commandprompt.com> writes:
>> I really don't get the libedit-preferred syntax? Why not just:
> 
>> --with-libedit     use BSD Libedit not GNU Readline
>> --with-readline use GNU Readline not BSD Libedit
>> --without-readline do not use GNU Readline nor BSD Libedit
> 
> Well, the point is that the current configure behavior usually does the
> right thing *without* any switches.  If we made it behave as above then
> the user would be forced to specify which library was installed on his
> system, which is a bit pedantic when most platforms will have only one.

Well hmmm. The only thing I can say to this, would be if you are
compiling from source, being pedantic is usually a good thing ;). I do
see your point however.

Sincerely,

Joshua D. Drake


> 
>             regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
> 


-- 
  === The PostgreSQL Company: Command Prompt, Inc. ===
Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240  Providing the most comprehensive  PostgreSQL
solutionssince 1997            http://www.commandprompt.com/