Issue 5102 - back-perl build issues
Summary: back-perl build issues
Status: VERIFIED FEEDBACK
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-22 17:12 UTC by Kurt Zeilenga
Modified: 2021-08-03 18:13 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Kurt Zeilenga 2007-08-22 17:12:27 UTC
Full_Name: Kurt Zeilenga
Version: HEAD
OS: Mac OS X 10.4.10
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (24.180.46.200)
Submitted by: kurt


With perl v5.8.8 from macports (recently upgraded)

Entering directory `/Users/kurt/Work/devel/servers/slapd/back-perl'
/bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc -g -O2
-I../../../include        -I../../../include -I.. -I./.. -I/opt/local/include
-fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/opt/local/include 
-I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE   -I/usr/pkg/include
-I/usr/pkg/include/db45    -c init.c
 cc -g -O2 -I../../../include -I../../../include -I.. -I./..
-I/opt/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp
-fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/local/include
-I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE -I/usr/pkg/include
-I/usr/pkg/include/db45 -c init.c -o init.o
init.c:90: error: parse error before 'ConfigReply'
init.c: In function 'perl_back_db_init':
init.c:92: error: number of arguments doesn't match prototype
proto-perl.h:27: error: prototype declaration
init.c:93: error: 'be' undeclared (first use in this function)
init.c:93: error: (Each undeclared identifier is reported only once
init.c:93: error: for each function it appears in.)
init.c: At top level:
init.c:106: error: parse error before 'ConfigReply'
init.c: In function 'perl_back_db_open':
init.c:108: error: number of arguments doesn't match prototype
proto-perl.h:28: error: prototype declaration
init.c:112: error: 'be' undeclared (first use in this function)
make[3]: *** [init.lo] Error 1

Comment 1 ando@openldap.org 2007-08-22 18:04:20 UTC
kurt@OpenLDAP.org wrote:

> With perl v5.8.8 from macports (recently upgraded)

Works fine here (Linux)

> Entering directory `/Users/kurt/Work/devel/servers/slapd/back-perl'
> /bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc -g -O2
> -I../../../include        -I../../../include -I.. -I./.. -I/opt/local/include
> -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe
> -Wdeclaration-after-statement -I/opt/local/include 
> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE   -I/usr/pkg/include
> -I/usr/pkg/include/db45    -c init.c
>  cc -g -O2 -I../../../include -I../../../include -I.. -I./..
> -I/opt/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp
> -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/local/include
> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE -I/usr/pkg/include
> -I/usr/pkg/include/db45 -c init.c -o init.o
> init.c:90: error: parse error before 'ConfigReply'
> init.c: In function 'perl_back_db_init':
> init.c:92: error: number of arguments doesn't match prototype
> proto-perl.h:27: error: prototype declaration

This was recently (sort of: 2 weeks ago) changed.  Are you sure you updated?

p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it
---------------------------------------


Comment 2 ando@openldap.org 2007-08-22 18:05:33 UTC
changed notes
changed state Open to Feedback
Comment 3 Kurt Zeilenga 2007-08-24 23:52:49 UTC
On Aug 22, 2007, at 6:04 PM, ando@sys-net.it wrote:

> kurt@OpenLDAP.org wrote:
>
>> With perl v5.8.8 from macports (recently upgraded)

Switching to the MacOS X default perl doesn't help...

> Works fine here (Linux)
>
>> Entering directory `/Users/kurt/Work/devel/servers/slapd/back-perl'
>> /bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc - 
>> g -O2
>> -I../../../include        -I../../../include -I.. -I./.. -I/opt/ 
>> local/include
>> -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe
>> -Wdeclaration-after-statement -I/opt/local/include
>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE   -I/usr/pkg/include
>> -I/usr/pkg/include/db45    -c init.c
>>  cc -g -O2 -I../../../include -I../../../include -I.. -I./..
>> -I/opt/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp
>> -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/ 
>> local/include
>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE -I/usr/pkg/include
>> -I/usr/pkg/include/db45 -c init.c -o init.o
>> init.c:90: error: parse error before 'ConfigReply'
>> init.c: In function 'perl_back_db_init':
>> init.c:92: error: number of arguments doesn't match prototype
>> proto-perl.h:27: error: prototype declaration
>
> This was recently (sort of: 2 weeks ago) changed.  Are you sure you  
> updated?

Yes.

>
> p.
>
>
>
> Ing. Pierangelo Masarati
> OpenLDAP Core Team
>
> SysNet s.r.l.
> via Dossi, 8 - 27100 Pavia - ITALIA
> http://www.sys-net.it
> ---------------------------------------
> Office:  +39 02 23998309
> Mobile:  +39 333 4963172
> Email:   pierangelo.masarati@sys-net.it
> ---------------------------------------
>
>
>

Comment 4 ando@openldap.org 2007-08-25 05:34:51 UTC
kurt@OpenLDAP.org wrote:

>>> Entering directory `/Users/kurt/Work/devel/servers/slapd/back-perl'
>>> /bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc - 
>>> g -O2
>>> -I../../../include        -I../../../include -I.. -I./.. -I/opt/ 
>>> local/include
>>> -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe
>>> -Wdeclaration-after-statement -I/opt/local/include
>>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE   -I/usr/pkg/include
>>> -I/usr/pkg/include/db45    -c init.c
>>>  cc -g -O2 -I../../../include -I../../../include -I.. -I./..
>>> -I/opt/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp
>>> -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/ 
>>> local/include
>>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE -I/usr/pkg/include
>>> -I/usr/pkg/include/db45 -c init.c -o init.o
>>> init.c:90: error: parse error before 'ConfigReply'

ConfigReply is declared in slapd/config.h; could it be another,
system-related config.h is present in an earlier include path?

Even though, I see in the above cc command-line -I .. is present...

p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it
---------------------------------------


Comment 5 Kurt Zeilenga 2007-08-25 06:15:58 UTC
On Aug 25, 2007, at 5:35 AM, ando@sys-net.it wrote:

> kurt@OpenLDAP.org wrote:
>
>>>> Entering directory `/Users/kurt/Work/devel/servers/slapd/back-perl'
>>>> /bin/sh ../../..//libtool --tag=disable-shared --mode=compile cc -
>>>> g -O2
>>>> -I../../../include        -I../../../include -I.. -I./.. -I/opt/
>>>> local/include
>>>> -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing - 
>>>> pipe
>>>> -Wdeclaration-after-statement -I/opt/local/include
>>>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE   -I/usr/pkg/ 
>>>> include
>>>> -I/usr/pkg/include/db45    -c init.c
>>>>  cc -g -O2 -I../../../include -I../../../include -I.. -I./..
>>>> -I/opt/local/include -fno-common -DPERL_DARWIN -no-cpp-precomp
>>>> -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/
>>>> local/include
>>>> -I/opt/local/lib/perl5/5.8.8/darwin-2level/CORE -I/usr/pkg/include
>>>> -I/usr/pkg/include/db45 -c init.c -o init.o
>>>> init.c:90: error: parse error before 'ConfigReply'
>
> ConfigReply is declared in slapd/config.h; could it be another,
> system-related config.h is present in an earlier include path?
>
> Even though, I see in the above cc command-line -I .. is present...

Personally, I think have -I., -I.., etc. is really bad.  This causes
	#include "config.h"
and
	#include <config.h>

to be equivalent.  However, there could be both a local config.h and  
a config.h somewhere in the system include directory.

I would be better if slapd/config.h was included here by:
	#include "../config.h"

and -I.. not be added to the include path.  It possible -I.. is  
causing a system header to be eclipsed by the local header.
Namely, /opt/local/lib/perl5/5.8.8/darwin-2level/CORE/config.h.


>
> p.
>
>
>
> Ing. Pierangelo Masarati
> OpenLDAP Core Team
>
> SysNet s.r.l.
> via Dossi, 8 - 27100 Pavia - ITALIA
> http://www.sys-net.it
> ---------------------------------------
> Office:  +39 02 23998309
> Mobile:  +39 333 4963172
> Email:   pierangelo.masarati@sys-net.it
> ---------------------------------------
>
>
>

Comment 6 Quanah Gibson-Mount 2007-08-25 06:47:20 UTC
--On Saturday, August 25, 2007 6:16 AM +0000 kurt@OpenLDAP.org wrote:


> Personally, I think have -I., -I.., etc. is really bad.  This causes
> 	#include "config.h"
> and
> 	#include <config.h>
>
> to be equivalent.  However, there could be both a local config.h and
> a config.h somewhere in the system include directory.
>
> I would be better if slapd/config.h was included here by:
> 	#include "../config.h"
>
> and -I.. not be added to the include path.  It possible -I.. is
> causing a system header to be eclipsed by the local header.
> Namely, /opt/local/lib/perl5/5.8.8/darwin-2level/CORE/config.h.


This issue seems to hit Mac systems a lot, dunno why.  But I've seen it 
with several things now that touch perl.

--Quanah

--

Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra ::  the leader in open source messaging and collaboration

Comment 7 ando@openldap.org 2007-08-25 07:34:17 UTC
Kurt Zeilenga wrote:

>> ConfigReply is declared in slapd/config.h; could it be another,
>> system-related config.h is present in an earlier include path?
>>
>> Even though, I see in the above cc command-line -I .. is present...
> 
> Personally, I think have -I., -I.., etc. is really bad.  This causes
>     #include "config.h"
> and
>     #include <config.h>
> 
> to be equivalent.  However, there could be both a local config.h and a
> config.h somewhere in the system include directory.
> 
> I would be better if slapd/config.h was included here by:
>     #include "../config.h"
> 
> and -I.. not be added to the include path.  It possible -I.. is causing
> a system header to be eclipsed by the local header.

-I.. is needed to include slap.h, proto-slap.h, ...

I'd rather rename config.h, which is quite generic, into slapconf.h or so.

p.




Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it
---------------------------------------


Comment 8 ando@openldap.org 2007-08-26 15:06:59 UTC
changed notes
Comment 9 Quanah Gibson-Mount 2007-08-31 22:31:25 UTC

--On August 25, 2007 7:34:22 AM +0000 ando@sys-net.it wrote:

> Kurt Zeilenga wrote:
>
>>> ConfigReply is declared in slapd/config.h; could it be another,
>>> system-related config.h is present in an earlier include path?
>>>
>>> Even though, I see in the above cc command-line -I .. is present...
>>
>> Personally, I think have -I., -I.., etc. is really bad.  This causes
>>     # include "config.h"
>> and
>>     # include <config.h>
>>
>> to be equivalent.  However, there could be both a local config.h and a
>> config.h somewhere in the system include directory.
>>
>> I would be better if slapd/config.h was included here by:
>>     # include "../config.h"
>>
>> and -I.. not be added to the include path.  It possible -I.. is causing
>> a system header to be eclipsed by the local header.
>
> -I.. is needed to include slap.h, proto-slap.h, ...
>
> I'd rather rename config.h, which is quite generic, into slapconf.h or so.

In the name of getting 2.4.5 released, I've updated to Kurt's suggestion 
until such a time as this can be acted upon otherwise.

--Quanah

--

Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra ::  the leader in open source messaging and collaboration

Comment 10 Howard Chu 2007-08-31 23:15:36 UTC
quanah@zimbra.com wrote:
> In the name of getting 2.4.5 released, I've updated to Kurt's suggestion 
> until such a time as this can be acted upon otherwise.

That's fine.

But I think renaming config.h to slapconf.h is a good idea anyway.

Another thing that has nagged me ever since we unified the slap tools into 
slapd - should have renamed slapadd.c -> tooladd.c etc...

Any objections?
-- 
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP     http://www.openldap.org/project/

Comment 11 ando@openldap.org 2007-09-01 05:55:57 UTC
hyc@symas.com wrote:
> quanah@zimbra.com wrote:
>> In the name of getting 2.4.5 released, I've updated to Kurt's suggestion 
>> until such a time as this can be acted upon otherwise.
> 
> That's fine.
> 
> But I think renaming config.h to slapconf.h is a good idea anyway.
> 
> Another thing that has nagged me ever since we unified the slap tools into 
> slapd - should have renamed slapadd.c -> tooladd.c etc...

Personally, not.  Only, slap* makes them quite personal, while tool*
sounds quite generic.  It's like calling them db*: could be any type of
db (no pun with Berkeley intended :).

p.



Ing. Pierangelo Masarati
OpenLDAP Core Team

SysNet s.r.l.
via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
---------------------------------------
Office:  +39 02 23998309
Mobile:  +39 333 4963172
Email:   pierangelo.masarati@sys-net.it
---------------------------------------


Comment 12 Howard Chu 2007-09-21 01:43:20 UTC
ando@sys-net.it wrote:
> hyc@symas.com wrote:
>> Another thing that has nagged me ever since we unified the slap tools into 
>> slapd - should have renamed slapadd.c -> tooladd.c etc...
> 
> Personally, not.  Only, slap* makes them quite personal, while tool*
> sounds quite generic.  It's like calling them db*: could be any type of
> db (no pun with Berkeley intended :).

Fair enough. I think my main issue is with slapcommon.[ch], which is only 
related to the tools, not common to slapd as a whole.
-- 
   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP     http://www.openldap.org/project/

Comment 13 Howard Chu 2007-09-21 01:45:51 UTC
moved from Incoming to Development
Comment 14 Quanah Gibson-Mount 2008-02-14 00:10:49 UTC
changed notes
Comment 15 OpenLDAP project 2014-08-01 21:04:58 UTC
conflicting include paths?
config.h needs to be renamed slapconf.h