pmk-devel Mailing List for Pre Make Kit
Brought to you by:
coudercd
You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(6) |
Feb
(9) |
Mar
(1) |
Apr
|
May
(2) |
Jun
|
Jul
(2) |
Aug
(36) |
Sep
(3) |
Oct
|
Nov
|
Dec
(26) |
| 2005 |
Jan
(9) |
Feb
|
Mar
|
Apr
(4) |
May
(2) |
Jun
|
Jul
(1) |
Aug
|
Sep
(6) |
Oct
(2) |
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
|
From: Damien C. <cou...@us...> - 2006-10-28 14:56:45
|
This snapshot is the last before the 0.10 release of pmk. It includes the latest changes done on shared libraries support. We are now able to generate a makefile that will build a library following the rules of the used operating system. A problem is still unresolved on i386 based MacOSX but we are on our way to resolve it for the upcoming 0.10-RC1. It's all about support of assembly files on POSIX systems, if you have any clue on portability of such files you're welcome to contact us. Feedback is not only welcome but also needed for the project. Have fun ! |
|
From: Damien C. <mip...@us...> - 2006-09-25 18:03:20
|
As the subject said, the PMK project has migrated from CVS to SubVersion. The pmk-cvs@ list is now obsolete and pmk-commits@ will replace it as soon as the creation process is done. Have fun, Damien |
|
From: Damien C. <mip...@us...> - 2006-09-10 19:52:58
|
Hi there, i'm actually looking at the best way to handle more than one language in the same makefile. A good example of the problem if for example the LDFLAGS macro. If we want to be able to link correctly two languages we need specific macros for each of them. So LDFLAGS is not enough or does not fit our needs. I'm studiying what is already existing but i'll welcome any suggestion. Damien |
|
From: Damien C. <mip...@us...> - 2006-03-17 21:28:21
|
Hi all,
i've been slow on developement lately but this mail is about the status of my work on pmkscan.
The following shows how advanced i am into generating makefiles and pmkfiles with library support :
$ pmkscan
PMKSCAN version SNAP20051215
Initializing data ...
Using scanning script 'scanfile'.
Recording library definition 'testc'.
Recording library definition 'unused'.
Starting file parsing in '.':
Scanning directory '.'
[.ccc..tt.]
Parsing finished.
Processing nodes for check generation ...
Ok
Generating config.h.pmk ...
Saved as 'pmkfile'
Ok
Generating config.h.pmk ...
Saved as 'config.h.pmk'
Ok
Processing nodes for object generation ...
Ok
Processing objects for target generation ...
Ok
Generating Makefile.pmk ...
Saved as 'Makefile.pmk'
Ok
$ pmk
PMK version SNAP20051215
Loaded 44 predefinined variables.
Loaded 0 overridden switches.
Loaded 0 overridden variables.
Total : 63 variables.
Parsing '/home/mips/work/projects/premake/testsuite/lib_c/pmkfile'
Processing commands :
* Parsing settings
Collecting targets :
Added 'config.h.pmk'.
Added 'Makefile.pmk'.
Total 2 target(s) added.
Detecting compilers :
Gathering data for compiler detection.
Detecting 'CC' : GNU gcc (version 303).
Setting SLCFLAGS to '-fPIC'
Setting SLLDFLAGS to '-fPIC -shared'
* Parsing define
defined 'PACKAGE' variable.
defined 'VERS_MAJ' variable.
defined 'VERS_MIN' variable.
defined 'VERSION' variable.
defined 'BINDIR' variable.
defined 'SBINDIR' variable.
defined 'MANDIR' variable.
defined 'DATADIR' variable.
defined 'LIBDIR' variable.
* Checking header [c_header_stdlib_h]
Use C language with /usr/bin/cc compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'malloc' : yes.
* Building shared library name
Shared library support : yes.
Using support for 'OpenBSD'.
Setting LIBTESTC_SHARED to 'libtestc.so'
Process templates :
Created '/home/mips/work/projects/premake/testsuite/lib_c/config.h'.
Created '/home/mips/work/projects/premake/testsuite/lib_c/Makefile'.
End of log
$ make
/usr/bin/cc -O2 -I/usr/include -o libtest.o -c libtest.c
/usr/bin/ar cru libtestc.a libtest.o
/usr/bin/ranlib libtestc.a
/usr/bin/cc -fPIC -shared -o libtestc.so libtest.o
$
I have to finalize this stuff with polishing and support for platforms that do not have support shared libraries. But now i can say that 0.10 should be out soon (after one or two snapshots more) before a major cleanup for the 1.0 release.
Thanks for the few people that still follow PMK's developement after three years of work,
Damien
|
|
From: Damien C. <mip...@us...> - 2005-10-08 20:06:52
|
On Sat, 08 Oct 2005 21:43:18 +0200
Toma=C5=BE Bor=C5=A1tnar <tom...@am...> wrote:
> Damien Couderc wrote:
> > Here is what i got with the sources that are in the current tree :
> >=20
> > PMK version 0.9.3-s2
> this is would-be 0.9.4?
No, the next release will be 0.10 as i did a lot of work pmkscan to
generate pmkfile and makefile from source scanning. This release
should be the latest before reaching the 1.0 version PMK.
> > BTW i've not been able to get an account on a DragonFlyBSD box,
> > could you provide me some informations about the system so i can
> > populate the pmkcomp.dat file with a DFBSD record (and then say
> > HI to shared lib support) ?
> >=20
> > For example the FreeBSD record is the following:
> > ADD_SYSTEM {
> > NAME =3D "FreeBSD"
> > SL_EXT =3D ".so"
> > SL_VERSION =3D "$SL_MAJOR.$SL_MINOR"
> > SL_LIBNAME =3D "lib$SL_NAME$SL_EXT"
> > SL_LIBNAME_VMAJ =3D "$SL_LIBNAME.$SL_MAJOR"
> > SL_LIBNAME_VFULL =3D "$SL_LIBNAME.$SL_VERSION"
> > }
>=20
> This is what I got from one of the developers:
>=20
> Major / minor versions are fine for us. We don't have them for the
> base system as artifact of the aout naming scheme still used, but
> that might change at some time.
Okay, i'll go for it then. Will commit soon and hope some feedback
from you ;p
Damien
|
|
From: <tom...@am...> - 2005-10-08 19:43:23
|
Damien Couderc wrote:
> Here is what i got with the sources that are in the current tree :
>=20
> PMK version 0.9.3-s2
this is would-be 0.9.4?
> BTW i've not been able to get an account on a DragonFlyBSD box, could
> you provide me some informations about the system so i can populate
> the pmkcomp.dat file with a DFBSD record (and then say HI to shared
> lib support) ?
>=20
> For example the FreeBSD record is the following:
> ADD_SYSTEM {
> NAME =3D "FreeBSD"
> SL_EXT =3D ".so"
> SL_VERSION =3D "$SL_MAJOR.$SL_MINOR"
> SL_LIBNAME =3D "lib$SL_NAME$SL_EXT"
> SL_LIBNAME_VMAJ =3D "$SL_LIBNAME.$SL_MAJOR"
> SL_LIBNAME_VFULL =3D "$SL_LIBNAME.$SL_VERSION"
> }
>=20
> (it needs to be updated as i've heard that there was no longer micro
> version in FreeBSD)
>=20
> Have fun,
> Damien
This is what I got from one of the developers:
Date: Sat, 8 Oct 2005 21:13:12 +0200
From: Joerg Sonnenberger <jo...@br...>
To: Toma=BE Bor=B9tnar <tom...@ov...>
Subject: Re: libmemcache/pmk stuff
User-Agent: Mutt/1.5.10i
X-OverNet-MailScanner-Information: Contact mai...@ov... for more =
information
X-OverNet-MailScanner: Found to be clean
X-OverNet-MailScanner-SpamCheck: not spam, SpamAssassin (score=3D0.201,
required 5, AWL -0.01, UPPERCASE_25_50 0.21)
X-MailScanner-From: jo...@br...
X-Envelope-To: <tm...@ov...> (uid 0)
X-Orcpt: rfc822;tom...@ov...
Original-Recipient: rfc822;tom...@ov...
On Sat, Oct 08, 2005 at 09:07:57PM +0200, Toma=BE Bor=B9tnar wrote:
> Damien Couderc wrote:
> > For example the FreeBSD record is the following:
> > ADD_SYSTEM {
> > NAME =3D "FreeBSD"
> > SL_EXT =3D ".so"
> > SL_VERSION =3D "$SL_MAJOR.$SL_MINOR"
> > SL_LIBNAME =3D "lib$SL_NAME$SL_EXT"
> > SL_LIBNAME_VMAJ =3D "$SL_LIBNAME.$SL_MAJOR"
> > SL_LIBNAME_VFULL =3D "$SL_LIBNAME.$SL_VERSION"
> > }
> >
> > (it needs to be updated as i've heard that there was no longer micro
> > version in FreeBSD)
Major / minor versions are fine for us. We don't have them for the base
system as artifact of the aout naming scheme still used, but that might
change at some time.
Joerg
|
|
From: Damien C. <mip...@us...> - 2005-09-28 20:38:23
|
On Sat, 17 Sep 2005 23:36:30 +0200
Damien Couderc <mip...@us...> wrote:
> On Thu, 15 Sep 2005 10:05:38 +0200
> Toma=C5=BE Bor=C5=A1tnar <tom...@am...> wrote:
>=20
> > * Building shared library name
> > Shared library support : yes.
>=20
> Hmm this is surprising, i thought we had no support for DFBSD yet
> for shared libs ;p I'm looking at which changes have been made for
> DFBSD (certainly in the ports).
My bad, the behavior of pmk on unsupported system was broken as i didn't =
initialise the associated hash table.
The following diff should fix that but now introduce a new problem as DFB=
SD has no support in pmkcomp.dat.
I'm going to find an account somewhere on a DFBSD box to add this support=
. In fact i think it should be almost the same than FreeBSD but i don't w=
ant to give you a diff without testing it first.
Here is the diff:
Index: pmk.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvsroot/pmk/pmk/pmk.c,v
retrieving revision 1.139
diff -u -r1.139 pmk.c
--- pmk.c 21 Aug 2005 08:52:06 -0000 1.139
+++ pmk.c 17 Sep 2005 22:06:38 -0000
@@ -221,6 +221,9 @@
/* init on demand */
ppd->cfgt =3D NULL;
=20
+ /* init shared lib support */
+ ppd->slht =3D NULL;
+
return(ppd);
}
Damien
|
|
From: Damien C. <mip...@us...> - 2005-09-28 20:28:26
|
Here is what i got with the sources that are in the current tree :
PMK version 0.9.3-s2
Loaded 44 predefinined variables.
Loaded 0 overridden switches.
Loaded 0 overridden variables.
Total : 62 variables.
Parsing '/home/mips/work/projects/premake/tst/pmkfile'
Processing commands :
* Parsing settings
Setting global language :
Set to 'C'.
* Checking header [header_stdbool_h]
Use C language with /usr/bin/cc compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sys/socket.h' : yes.
Found function 'socket' : yes.
With the following pmkfile :
# set target file
SETTINGS {
LANG="C"
}
# checking stdbool.h
CHECK_HEADER(header_stdbool_h) {
REQUIRED = FALSE
NAME = "sys/socket.h"
SUBHDR = ("sys/types.h")
FUNCTION = ("socket")
}
And the content of the build log is :
Generated source file:
/* dependency headers */
#include <sys/types.h>
/* main header to test */
#include <sys/socket.h>
/* main procedure */
int main() {
/* check procedure */
void (*pmk_funcp)() = (void *) socket;
return(0);
}
As you can see the header dependencies are incorporated in the test.
I think that in the near future i will try first to check the header
without dependencies and retry with it on failure.
BTW i've not been able to get an account on a DragonFlyBSD box, could
you provide me some informations about the system so i can populate
the pmkcomp.dat file with a DFBSD record (and then say HI to shared
lib support) ?
For example the FreeBSD record is the following:
ADD_SYSTEM {
NAME = "FreeBSD"
SL_EXT = ".so"
SL_VERSION = "$SL_MAJOR.$SL_MINOR"
SL_LIBNAME = "lib$SL_NAME$SL_EXT"
SL_LIBNAME_VMAJ = "$SL_LIBNAME.$SL_MAJOR"
SL_LIBNAME_VFULL = "$SL_LIBNAME.$SL_VERSION"
}
(it needs to be updated as i've heard that there was no longer micro
version in FreeBSD)
Have fun,
Damien
|
|
From: <tom...@am...> - 2005-09-15 08:06:01
|
Damien Couderc wrote:
>>>thanks for the report i'm going to see what's happening. Could
>>>you just copy the header of the log to see which version of PMK
>>>is used.
>>
>>dvoglav# pkg_info | grep pmk
>>pmk-0.9.2 Pre Make Kit, a sane replacement for autoconf
>=20
>=20
> Hi,
> and first my apologies for the late response but i'm a bit busy actuall=
y.
>=20
> I've took a quick look and i am amazed that it segfaults on a break ???
> Ok it should not be there but anyway segfaulting is a bit harsh, could =
it be a gcc bug on DFBSD ?
gcc 3.4.something.
> Could you try the following patch to see if it fixes something :
* Parsing define
defined 'MAJORVER' variable.
defined 'MINORVER' variable.
defined 'MICROVER' variable.
* Building shared library name
Shared library support : yes.
Segmentation fault (core dumped)
*** Error code 139
Stop in /usr/ports/databases/libmemcache.
dvoglav# gdb /usr/local/bin/pmk work/libmemcache-1.2.3/pmk.core
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you =
are
welcome to change it and/or distribute copies of it under certain conditi=
ons.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for detail=
s.
This GDB was configured as "i386-dragonfly"...
Core was generated by `pmk'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libc.so.4...done.
Loaded symbols for /usr/lib/libc.so.4
Reading symbols from /usr/libexec/ld-elf.so.1...done.
Loaded symbols for /usr/libexec/ld-elf.so.1
#0 process_string (pstr=3D0x0, pht=3D0x805ab20) at hash_tools.c:157
157 hash_tools.c: No such file or directory.
in hash_tools.c
(gdb) bt
#0 process_string (pstr=3D0x0, pht=3D0x805ab20) at hash_tools.c:157
#1 0x0804f691 in pmk_build_shlib_name (cmd=3D0xbfbff5d0, ht=3D0x805aae0,
pgd=3D0x805b000) at func.c:1624
#2 0x0804c443 in func_wrapper (pcell=3D0x0, pgd=3D0x54) at func.c:125
#3 0x0804c480 in process_node (pnode=3D0x805ab20, pgd=3D0x805b000) at fu=
nc.c:146
#4 0x0805548d in process_cmd (pdata=3D0x805ab20, pgd=3D0x805ab20) at pmk=
.c:567
#5 0x08055fe9 in main (argc=3D134592524, argv=3D0xbfbffacc) at pmk.c:967
(gdb)
I use gcc version 3.4.3 [DragonFly] (propolice, visibility). Adding -fno-=
stack-protector to compiling pmk did not help=20
either.
Toma=BE
|
|
From: <tom...@am...> - 2005-09-11 17:27:24
|
mips wrote: > thanks for the report i'm going to see what's happening. Could you just= =20 > copy the header of the log to see which version of PMK is used. dvoglav# pkg_info | grep pmk pmk-0.9.2 Pre Make Kit, a sane replacement for autoconf Toma=BE |
|
From: mips <mi...@ne...> - 2005-09-11 16:32:59
|
Toma=BE Bor=B9tnar wrote: > Now it works on FreeBSD 4.11: [...] > But pmk dies on DragonFlyBSD 1.2.5 while doing the same: [...] > Segmentation fault (core dumped) > ----------- >=20 > Thanks in advance. >=20 > Toma=BE Hi Toma=BE, thanks for the report i'm going to see what's happening. Could you just=20 copy the header of the log to see which version of PMK is used. Regards, Damien |
|
From: <tom...@am...> - 2005-09-11 11:17:13
|
Damien Couderc wrote:
> BTW i'm surprised it doesn't work under freebsd as the author of=20
> libmemcache is a committer.
Now it works on FreeBSD 4.11:
* 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_freeaddrinfo]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'netdb.h' : yes.
Found function 'freeaddrinfo' : yes.
* Checking header [include_getaddrinfo]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'netdb.h' : yes.
Found function 'getaddrinfo' : yes.
* Checking header [include_types]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sys/types.h' : yes.
* Checking header [include_time]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sys/time.h' : yes.
* Checking header [include_isspace]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'ctype.h' : yes.
Found function 'isspace' : yes.
* Checking header [include_errno]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'errno.h' : yes.
Found function 'errno' : no.
* Checking header [include_fcntl]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'fcntl.h' : yes.
Found function 'fcntl' : yes.
* Checking header [include_write]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'unistd.h' : yes.
Found function 'write' : yes.
* Checking header [include_snprintf]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdio.h' : yes.
Found function 'snprintf' : yes.
* Checking header [include_err]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'err' : yes.
* Checking header [include_errx]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'errx' : yes.
* Checking header [include_warn]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'warn' : yes.
* Checking header [include_warnx]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'warnx' : yes.
* Checking header [include_sysexits]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sysexits.h' : yes.
* Checking header [include_abort]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'abort' : yes.
* Checking header [include_free]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'free' : yes.
* Checking header [include_malloc]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'malloc' : yes.
* Checking header [include_realloc]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'realloc' : yes.
* Checking header [include_memcmp]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'memcmp' : yes.
* Checking header [include_memchr]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'memchr' : yes.
* Checking header [include_bcopy]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'strings.h' : yes.
Found function 'bcopy' : yes.
* Checking header [include_bzero]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'strings.h' : yes.
Found function 'bzero' : yes.
* Checking header [include_strdup]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'strdup' : yes.
* Checking header [include_strlen]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'strlen' : yes.
* Checking header [include_strtol]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'strtol' : yes.
* Checking header [include_strtoll]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'strtoll' : yes.
* Checking header [include_close]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'unistd.h' : yes.
Found function 'close' : yes.
* Parsing define
defined 'MAJORVER' variable.
defined 'MINORVER' variable.
defined 'MICROVER' variable.
* Building shared library name
Shared library support : yes.
Setting LIBNAME to 'libmemcache.so'
Setting LIBNAMEV to 'libmemcache.so.1.2'
Process templates :
Created '/usr/ports/databases/libmemcache/work/libmemcache-1.2.3/Makefile=
'.
End of log
=3D=3D=3D> Building for libmemcache-1.2.3_1
/usr/bin/cc -pipe -O3 -I/usr/include -fPIC -c memcache.c
memcache.c: In function `mcm_atomic_cmd':
memcache.c:498: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:500: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:502: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:512: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c: In function `mcm_delete':
memcache.c:584: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:586: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:588: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:598: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c: In function `mcm_fetch_cmd':
memcache.c:642: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:652: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:656: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c:666: warning: assignment discards qualifiers from pointer targ=
et type
memcache.c: In function `mcm_res_free':
memcache.c:1298: warning: passing arg 1 of pointer to function discards q=
ualifiers from pointer target type
memcache.c: In function `mcm_storage_cmd':
memcache.c:2159: warning: assignment discards qualifiers from pointer tar=
get type
memcache.c:2161: warning: assignment discards qualifiers from pointer tar=
get type
memcache.c:2163: warning: assignment discards qualifiers from pointer tar=
get type
memcache.c:2205: warning: assignment discards qualifiers from pointer tar=
get type
memcache.c:2212: warning: assignment discards qualifiers from pointer tar=
get type
memcache.c:2216: warning: assignment discards qualifiers from pointer tar=
get type
/usr/bin/cc -pipe -O3 -I/usr/include -fPIC -shared -o libmemcache.so.1.2 =
memcache.o
/usr/bin/ar cr libmemcache.a memcache.o
/usr/bin/ranlib libmemcache.a
garac#
----
But pmk dies on DragonFlyBSD 1.2.5 while doing the same:
* 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_freeaddrinfo]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'netdb.h' : yes.
Found function 'freeaddrinfo' : yes.
* Checking header [include_getaddrinfo]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'netdb.h' : yes.
Found function 'getaddrinfo' : yes.
* Checking header [include_types]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sys/types.h' : yes.
* Checking header [include_time]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sys/time.h' : yes.
* Checking header [include_isspace]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'ctype.h' : yes.
Found function 'isspace' : yes.
* Checking header [include_errno]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'errno.h' : yes.
Found function 'errno' : no.
* Checking header [include_fcntl]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'fcntl.h' : yes.
Found function 'fcntl' : yes.
* Checking header [include_write]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'unistd.h' : yes.
Found function 'write' : yes.
* Checking header [include_snprintf]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdio.h' : yes.
Found function 'snprintf' : yes.
* Checking header [include_err]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'err' : yes.
* Checking header [include_errx]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'errx' : yes.
* Checking header [include_warn]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'warn' : yes.
* Checking header [include_warnx]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'err.h' : yes.
Found function 'warnx' : yes.
* Checking header [include_sysexits]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'sysexits.h' : yes.
* Checking header [include_abort]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'abort' : yes.
* Checking header [include_free]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'free' : yes.
* Checking header [include_malloc]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'malloc' : yes.
* Checking header [include_realloc]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'realloc' : yes.
* Checking header [include_memcmp]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'memcmp' : yes.
* Checking header [include_memchr]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'memchr' : yes.
* Checking header [include_bcopy]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'strings.h' : yes.
Found function 'bcopy' : yes.
* Checking header [include_bzero]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'strings.h' : yes.
Found function 'bzero' : yes.
* Checking header [include_strdup]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'strdup' : yes.
* Checking header [include_strlen]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'string.h' : yes.
Found function 'strlen' : yes.
* Checking header [include_strtol]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'strtol' : yes.
* Checking header [include_strtoll]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'stdlib.h' : yes.
Found function 'strtoll' : yes.
* Checking header [include_close]
Use C language with CC compiler.
Store compiler flags in 'CFLAGS'.
Found header 'unistd.h' : yes.
Found function 'close' : yes.
* Parsing define
defined 'MAJORVER' variable.
defined 'MINORVER' variable.
defined 'MICROVER' variable.
* Building shared library name
Shared library support : yes.
Segmentation fault (core dumped)
*** Error code 139
Stop in /usr/ports/databases/libmemcache.
*** Error code 1
Stop in /usr/ports/databases/libmemcache.
dvoglav# ls
Makefile files pkg-plist
distinfo pkg-descr work
dvoglav# find . -name "*core" -print
./work/libmemcache-1.2.3/pmk.core
dvoglav# whereis pmk
pmk: /usr/local/bin/pmk /usr/local/man/man1/pmk.1.gz /usr/ports/devel/pmk
dvoglav# gdb /usr/local/bin/pmk work/libmemcache-1.2.3/pmk.core
GNU gdb 6.2.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you =
are
welcome to change it and/or distribute copies of it under certain conditi=
ons.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for detail=
s.
This GDB was configured as "i386-dragonfly"...
Core was generated by `pmk'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/libc.so.4...done.
Loaded symbols for /usr/lib/libc.so.4
Reading symbols from /usr/libexec/ld-elf.so.1...done.
Loaded symbols for /usr/libexec/ld-elf.so.1
#0 process_string (pstr=3D0x0, pht=3D0x805ab20) at hash_tools.c:158
158 break;
(gdb) where
#0 process_string (pstr=3D0x0, pht=3D0x805ab20) at hash_tools.c:158
#1 0x0804f691 in pmk_build_shlib_name (cmd=3D0xbfbff560, ht=3D0x805aae0,
pgd=3D0x805b000) at func.c:1624
#2 0x0804c443 in func_wrapper (pcell=3D0x0, pgd=3D0x54) at func.c:125
#3 0x0804c480 in process_node (pnode=3D0x805ab20, pgd=3D0x805b000) at fu=
nc.c:146
#4 0x08055489 in process_cmd (pdata=3D0x805ab20, pgd=3D0x805ab20) at pmk=
.c:567
#5 0x08055fe5 in main (argc=3D134592524, argv=3D0xbfbffa58) at pmk.c:967
(gdb)
-----------
Thanks in advance.
Toma=BE
>=20
> Damien
|
|
From: Damien C. <mip...@us...> - 2005-07-18 19:20:45
|
Hi all, i've done the attached vsnprintf() code for systems that doesn't already have it. The only missing stuff to be a complete ISO C99 implementation is the wide char support (AKA %lc and %ls). It will be included in compat as soon as i'm sure it works fine. This is why i ask for volunteers to test it and maybe detect things i didn't seen. You will also found a test.c file that already do some tests. Thanks for your help, Damien |
|
From: Damien C. <mip...@us...> - 2005-05-19 13:16:13
|
Damien Couderc wrote: > You will find attached to this mail the makefile resulting from the > lastest changes to pmkscan i committed few minutes ago. > > This file HAS NOT BEEN EDITED. It has been automatically built by > pmkscan after scanning source files of pmk. I'm still working on the > object dependency scanning for assembly sources. The C headers with > prototypes are not included in the assembly sources so we can't easily > found the header by checking the included files. A solution could be to > check every headers to find corresponding function names but it costs so > much that i prefer trying to find a better way before. > > Of course i'd like to receive feedback about the job actually done. This > stuff represent the next 0.10 release of pmk and also adds one more > major feature to the project (and also made some feature additions > delayed). > > Happy reading, > Damien Looks like the attachement disapeared ?!?! So here it is, Damien |
|
From: Damien C. <mip...@us...> - 2005-05-14 14:52:11
|
You will find attached to this mail the makefile resulting from the lastest changes to pmkscan i committed few minutes ago. This file HAS NOT BEEN EDITED. It has been automatically built by pmkscan after scanning source files of pmk. I'm still working on the object dependency scanning for assembly sources. The C headers with prototypes are not included in the assembly sources so we can't easily found the header by checking the included files. A solution could be to check every headers to find corresponding function names but it costs so much that i prefer trying to find a better way before. Of course i'd like to receive feedback about the job actually done. This stuff represent the next 0.10 release of pmk and also adds one more major feature to the project (and also made some feature additions delayed). Happy reading, Damien |
|
From: Damien C. <mip...@us...> - 2005-04-22 21:20:10
|
Well i must say that i'm a bit disapointed as i expected at least some feedback about my previous post. Its more surprising knowing the fact that some people have already asked for such feature. Now should i still continue to share my plans for the project or the few people on those lists aren't so much interested ? Of course no reply will count as a "no" ... Damien PS: BTW i've committed my more recent stuff to the tree and pmkscan now generate correct object dependencies for each target. |
|
From: mips <mi...@ne...> - 2005-04-22 21:06:25
|
Well i must say that i'm a bit disapointed as i expected at least some feedback about my previous post. Its more surprising knowing the fact that some people have already asked for such feature. Now should i still continue to share my plans for the project or the few people on those lists aren't so much interested ? Of course no reply will count as a "no" ... Damien PS: BTW i've committed my more recent stuff to the tree and pmkscan now generate correct object dependencies for each target. |
|
From: Damien C. <mip...@us...> - 2005-04-17 16:52:33
|
Hi everybody, i thought i had to make a little post about recent changes done in the current repository. Those who follow cvs commits could have seen some new stuff imported since Easter holidays. This stuff is adding something that has been discussed many times about PMK : the pmkscan tool now have both options 'p' and 'm'. The first being the traditional pmkfile generation from sources and the second being the new *makefile* generation option. YES, you've read about MAKEFILE generation. I still think that makefiles have to be polished by hand but it seems that we can help by generating templates that will be almost usable without so much further changes. As an example you could look at the attached example. You will notice that the object list are not yet striped. This is a work in progress in parallel of the C file parsing engine. I hope to finish it as soon as possible. There is also some cosmetics too add like for example some formating on the line length. All this should be ok in the next snapshot. The next step is an idea that comes from Robin Rowe (of cinepaint project). The idea is to help simplify the install/deinstall process. First we discussed about generating scripts to do such things. But with the time i came to another similar concept : pmkinstall will have a specific option that will take a file as argument. This file would be in the same spirit as the pmkfile but for install purposes. This will allow to get rid of shell scripts to a cleaner solution. In the same time i'm trying to provide more documentation especially for developpement of PMK. I'm already looking at doxygen but other suggestions are welcome. I'm also thinking about providing an alternative to the 'make' tool always in the same spirit of PMk. But don't enjoy too quickly as it is planed after the release of PMK 1.0. Have fun, Damien |
|
From: Damien C. <mip...@us...> - 2005-04-13 20:05:31
|
Toma=BE Bor=B9tnar wrote: > Hello! >=20 > I came across pmk while (unsuccesfully) trying to compile=20 > libmemcache. At first I tried it on DragonFlyBSD=20 > (http://www.dragonflybsd.org/) and it did not work, but later I tried o= n=20 > FreeBSD 4.11 and same problem. Developer of libmemcache mentions pmk=20 > 0.9.x having problems, but I tried both 0.8.2 and 0.9.2 - from ports an= d=20 > manually installed. Always the same: >=20 > * Checking header [include_socket] > Use C language with CC compiler. > Store compiler flags in 'CFLAGS'. > Found function 'socket' in 'sys/socket.h' : no. > Error : failed to find function 'socket'. >=20 > On DragonFly i have it there: >=20 > > grep socket /usr/include/sys/socket.h > * @(#)socket.h 8.4 (Berkeley) 2/21/94 > * $FreeBSD: src/sys/sys/socket.h,v 1.39.2.7 2001/07/03 11:02:01 ume Exp= $ > * $DragonFly: src/sys/sys/socket.h,v 1.10 2005/01/26 23:09:58 hsu Exp $ > * Definitions related to sockets: types, address families, options. > #define SOCK_STREAM 1 /* stream socket */ > #define SOCK_DGRAM 2 /* datagram socket */ > * Option flags per-socket. > #define SO_ACCEPTCONN 0x0002 /* socket has had listen() */ > #define SO_TYPE 0x1008 /* get socket type */ > * Level number for (get/set)sockopt() to apply to socket itself. > #define SOL_SOCKET 0xffff /* options for socket level */ > #define AF_NETGRAPH 32 /* Netgraph sockets */ > * information in raw sockets. > * RFC 2553: protocol-independent placeholder for socket addresses > int socket (int, int, int); > int socketpair (int, int, int, int *); >=20 > One of DFly developers wrote this as possible cause: >=20 > I guess they don't include sys/types.h first as it is common convention= . > Stand-alone system headers is still on my list. >=20 > Joerg >=20 > --------- >=20 > Any idea what could be done in order to successfully use pmk to compile= =20 > libmemcache? Hi Toma=BE, well this problem would have been appeared soon or later. There is two=20 way of resolving that matter. First we could put by default some headers=20 in the test code but i'm afraid of the border effects of this solution.=20 The other would be to permit providing of additional headers needed for=20 the test. So i think i'll implement the second as sooon as possible. In the general case it's better to check for a function in the lib as=20 the same in the header is somewhat a trick. BTW i'm surprised it doesn't work under freebsd as the author of=20 libmemcache is a committer. Damien |
|
From: mips <mi...@ne...> - 2005-01-29 21:15:32
|
The bugfix release 0.9.2 has been released. Damien |
|
From: Damien C. <mip...@us...> - 2005-01-28 13:42:24
|
Hi all ! Due to lack of testers the 0.9.1 release has been provided with two bugs. The first is that using pmksetup with -v argument is flushing the configuration file content. The second is leaving the temporary file of pmksetup if ran without correct privileges. The attached diff is splitting the arguments parsing in two parts : the first part is now in main() and process -v and -V flags that are safe while in privileged mode. The other allowed arguments are parsed in the child (non privileged) part to reduce risks. The result is that -v is exiting really early now. The renaming/saving part of the configuration file is now done only if child status is okay. Another change is that the temporary file is also written in the same directory than the configuration file. This directory is also checked and created earlier than before to avoid running tests if the results cannot be written. If you have some time to review and test this diff i'd be happy to get some feedback to quickly release a bugfix release. Cheers, Damien |
|
From: Damien C. <mip...@us...> - 2005-01-27 14:21:03
|
This release include privilege separation for pmksetup when used with root privileges. Cpu detection support for ia64 and alpha processors has also been added. The decision to keep the original path separator (aka ':') has been taken to keep compatibility and to avoid too much useless processing of the data. This change means that you absolutely need to update your pmk.conf before using pmk. See the changelog for more details. Have fun, Damien |
|
From: mips <mi...@ne...> - 2005-01-20 15:41:36
|
Sean Chittenden wrote: > Not to be a bearer of bad news, but pmk(1) doesn't parse comments in > pmkfile anymore, and it doesn't support CHECK_INCLUDE() anymore either. > Could someone give memcache(3) a quick test and fix accordingly? Hi Sean, well the problem is more complex than that. In fact pmk is parsing comments but doesn't update the frame buffer while going through skip_useless() function. So when the sum of comment lines in a same block is larger than the size of the buffer you got this error. The attached diff fix this problem and a new release should be out as soon as i finish my actual changes to pmksetup. Since the 0.7 release CHECK_INCLUDE() has been obsoleted by CHECK_HEADER() which from my point of vue is a better name. I kept the compatibility with 0.8.x releases but decided to remove it in 0.9 as the 0.7 release is 15 months old. The bad point is that we forgot to update the man page until 3 months ago so that's maybe why you didn't catch the change if you don't follow cvs commit messages. Cheers, Damien |
|
From: Sean C. <se...@ch...> - 2005-01-20 08:06:45
|
Not to be a bearer of bad news, but pmk(1) doesn't parse comments in pmkfile anymore, and it doesn't support CHECK_INCLUDE() anymore either. Could someone give memcache(3) a quick test and fix accordingly? http://people.freebsd.org/~seanc/libmemcache/ The following steps should be sufficient on a FreeBSD system: % mkdir tmp % cd tmp % fetch http://people.freebsd.org/~seanc/libmemcache/libmemcache-1.2.0.tar.bz2 % tar -xjvf libmemcache-1.2.0.tar.bz2 % cd libmemcache-1.2.0 % pmk -e debug Thanks in advance. -sc -- Sean Chittenden |
|
From: Damien C. <mip...@us...> - 2005-01-12 16:31:57
|
The code for privilege separation in pmksetup should be okay now. When pmksetup is ran with root privileges then it drops them. It uses the nobody user by default but another user can be set easily (see INSTALL). For those who want to help us to test it, the lastest changes in PRIVSEP branch have been commited in the developers cvs server. The pserver mirrors should be updated soon ... By the way, we are looking for people that know the parisc architecture enough to help in making cpu identification code. Have fun, Damien |