Bug 80395 - libmemcache does not properly configure itself on FreeBSD 4.11
Summary: libmemcache does not properly configure itself on FreeBSD 4.11
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Sean Chittenden
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-04-27 10:40 UTC by tomaz.borstnar
Modified: 2005-09-11 00:23 UTC (History)
0 users

See Also:


Attachments
pmkfile.patch (1.95 KB, patch)
2005-04-27 16:03 UTC, Vasil Dimov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description tomaz.borstnar 2005-04-27 10:40:21 UTC
libmemcache does not properly configure itself (via pmk) on FreeBSD 4.x. It does that just fine on FreeBSD 5.3 while on 4.x it does this:

xp2400# cd  /usr/ports/databases/libmemcache
xp2400# make
===>   libmemcache-1.2.3 depends on executable: pmk - found
===>  Configuring for libmemcache-1.2.3
cd /usr/ports/databases/libmemcache/work/libmemcache-1.2.3; /usr/local/bin/pmk
PMK version 0.9.2

Loaded 44 predefinined variables.
Loaded 0 overridden switches.
Loaded 0 overridden variables.
Total : 62 variables.

Parsing '/usr/ports/databases/libmemcache/work/libmemcache-1.2.3/pmkfile'

Processing commands :

* Parsing settings
        Setting global language :
                Set to 'C'.
        Collecting targets :
                Added 'Makefile.pmk'.
                Total 1 target(s) added.
        Detecting compilers :
                Gathering data for compiler detection.
                Detecting 'CC' : GNU gcc (version 295).
                Setting SLCFLAGS to '-fPIC'
                Setting SLLDFLAGS to '-fPIC -shared'

* Parsing switches
        Added 'debug' switch.
        Total 1 switch(es) added.

< Begin of 'IF' condition [!debug]

* Parsing define
        redefined 'CFLAGS' variable.

> End of 'IF' condition [!debug]

- Skipping 'IF' condition [debug]

* Parsing define
        defined 'BASE' variable.
        defined 'LIBDIR' variable.

* Checking binary [bzip_config]
        Found binary 'bzip2' : yes.

* Checking binary [chown_config]
        Found binary 'chown' : yes.

* Checking binary [cvs_config]
        Found binary 'cvs' : yes.

* Checking binary [cvs2cl_config]
        Found binary 'cvs2cl.pl' : no.

* Checking binary [cvs2cl_config]
        Found binary 'cvs2cl' : no.

* Checking binary [echo_config]
        Found binary 'echo' : yes.

* Checking binary [killall_config]
        Found binary 'killall' : yes.

* Checking binary [ln_config]
        Found binary 'ln' : yes.

* Checking binary [memcached_config]
        Found binary 'memcached' : no.

* Checking binary [mv_config]
        Found binary 'mv' : yes.

* Checking binary [pmk_config]
        Found binary 'pmk' : yes.

* Checking binary [rm_config]
        Found binary 'rm' : yes.

* Checking binary [tar_config]
        Found binary 'tar' : yes.

* Checking header [include_read]
        Use C language with CC compiler.
        Store compiler flags in 'CFLAGS'.
        Found header 'unistd.h' : yes.
        Found function 'read' : yes.

* Checking header [include_socket]
        Use C language with CC compiler.
        Store compiler flags in 'CFLAGS'.
        Found header 'sys/socket.h' : no.
*** Error code 1

Stop in /usr/ports/databases/libmemcache.
xp2400#

How-To-Repeat: Try to build libmemcache from ports on 4.x.
Comment 1 Volker Stolz freebsd_committer freebsd_triage 2005-04-27 11:46:43 UTC
Responsible Changed
From-To: freebsd-ports-bugs->seanc

Over to maintainer
Comment 2 Vasil Dimov 2005-04-27 16:03:57 UTC
The problem is that pmk tries to include sys/socket.h without
sys/types.h and the following program fails:

#include <stdio.h>
#include <sys/socket.h>
int main() {return(0);}

In file included from ./pmk_SG9entFc.c:2:
/usr/include/sys/socket.h:52: syntax error before `sa_family_t'
/usr/include/sys/socket.h:52: warning: data definition has no type or storage class
/usr/include/sys/socket.h:163: syntax error before `u_char'
/usr/include/sys/socket.h:174: syntax error before `u_short'
.....

Does anyone know how to force pmk include sys/types.h before
sys/socket.h in its test programs, so we can create the proper patch?

The attached patch removes failing checks as we certainly know
they would pass on FreeBSD if appropriate headers were included
as in the source of libmemcache.
Comment 3 tomaz.borstnar 2005-04-27 19:16:39 UTC
At 17:03 27.4.2005, Vasil Dimov wrote:

>Does anyone know how to force pmk include sys/types.h before
>sys/socket.h in its test programs, so we can create the proper patch?

One of pmk developers (mipsator) replied to me that future versions will 
have option to permit inclusion of several headers for the test.

Tomaz
Comment 4 Pav Lucistnik freebsd_committer freebsd_triage 2005-09-11 00:22:49 UTC
State Changed
From-To: open->closed

Vasil's patch was committed.