Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Apache: Dev

Making a binary distribution package... for AIX

 

 

Apache dev RSS feed   Index | Next | Previous | View Threaded


mamfelt at gmail

Oct 7, 2009, 8:58 AM

Post #1 of 23 (1786 views)
Permalink
Making a binary distribution package... for AIX

Many thanks for the assistence with getting the build process to work on AIX
6.1.

The next step for me is to work on creating a binary distribution image -
and maybe I should pose this question elsewhere. If so, point me there and
I'll leave you in peace (for now).

=============
New question: that will mean homework I suspect.

As I mentioned before, I am interested in creating a build that other people
could install. Having one is the only way to see how big a need, if any
exists, for a prebuilt AIX opensource httpd server.

I suppose I could go for a RPM build - maybe all I need is on AIX by
default, and perhaos it is the first step to learning what needs to be done.


My preference is to create a .bff (or installp) format.

I have found the build/rpm directory, and what seems to be the actual file
intended: ./httpd.spec

Question is: How do I use this file, and maybe modify it, to create a
specification for an AIX binary distribution?

Thanks.
Michael


minfrin at sharp

Oct 7, 2009, 12:49 PM

Post #2 of 23 (1744 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:

> New question: that will mean homework I suspect.
>
> As I mentioned before, I am interested in creating a build that other
> people could install. Having one is the only way to see how big a need,
> if any exists, for a prebuilt AIX opensource httpd server.
>
> I suppose I could go for a RPM build - maybe all I need is on AIX by
> default, and perhaos it is the first step to learning what needs to be
> done.
>
> My preference is to create a .bff (or installp) format.
>
> I have found the build/rpm directory, and what seems to be the actual
> file intended: ./httpd.spec
>
> Question is: How do I use this file, and maybe modify it, to create a
> specification for an AIX binary distribution?

The basic pattern for rpm is that if a file called <tarballname>.spec
exists in the tarball, then that spec file is used as a recipe to build
the RPM when you go rpmbuild -tb <tarball>.tar.bz2.

The recipe contains three things, metadata about the package (name,
version, description, other stuff), scripts used to build the package
and perform pre and post installation, and a list of files in the rpm.

The buildconf script builds the httpd.spec file from httpd.spec.in,
inserting the version number and other details into the file. The result
is that when a tarball is rolled, a file called httpd.spec exists in the
right place containing the right names, MMNs and version numbers.

Do you have an example of how a .bff file is built?

Regards,
Graham
--
Attachments: smime.p7s (3.22 KB)


mamfelt at gmail

Oct 7, 2009, 12:56 PM

Post #3 of 23 (1736 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

I'll have to look into the exact format of the files to make it something
the AIX installer can work with - these are extra files.

bff stands for backup file format. rather than being a tarball it is a file
created by backup (backupbyfilename).

a rough approximation of how the file would be created is:
cd ${SOME_ROOTDIR}
find . | backup -if <PackageName>.bff

## "backup -i" means read standard inout for the names of files to backup.

On Wed, Oct 7, 2009 at 9:49 PM, Graham Leggett <minfrin [at] sharp> wrote:

> Michael Felt wrote:
>
> > New question: that will mean homework I suspect.
> >
> > As I mentioned before, I am interested in creating a build that other
> > people could install. Having one is the only way to see how big a need,
> > if any exists, for a prebuilt AIX opensource httpd server.
> >
> > I suppose I could go for a RPM build - maybe all I need is on AIX by
> > default, and perhaos it is the first step to learning what needs to be
> > done.
> >
> > My preference is to create a .bff (or installp) format.
> >
> > I have found the build/rpm directory, and what seems to be the actual
> > file intended: ./httpd.spec
> >
> > Question is: How do I use this file, and maybe modify it, to create a
> > specification for an AIX binary distribution?
>
> The basic pattern for rpm is that if a file called <tarballname>.spec
> exists in the tarball, then that spec file is used as a recipe to build
> the RPM when you go rpmbuild -tb <tarball>.tar.bz2.
>
> The recipe contains three things, metadata about the package (name,
> version, description, other stuff), scripts used to build the package
> and perform pre and post installation, and a list of files in the rpm.
>
> The buildconf script builds the httpd.spec file from httpd.spec.in,
> inserting the version number and other details into the file. The result
> is that when a tarball is rolled, a file called httpd.spec exists in the
> right place containing the right names, MMNs and version numbers.
>
> Do you have an example of how a .bff file is built?
>
> Regards,
> Graham
> --
>


mamfelt at gmail

Oct 7, 2009, 1:02 PM

Post #4 of 23 (1746 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

A sample of instructions I would follow are here:
http://pware.hvcc.edu/PwarePackagingGuide.pdf. I just do not intend to call
it pware.* but something different. Naming is so hard!

On Wed, Oct 7, 2009 at 9:56 PM, Michael Felt <mamfelt [at] gmail> wrote:

> I'll have to look into the exact format of the files to make it something
> the AIX installer can work with - these are extra files.
>
> bff stands for backup file format. rather than being a tarball it is a file
> created by backup (backupbyfilename).
>
> a rough approximation of how the file would be created is:
> cd ${SOME_ROOTDIR}
> find . | backup -if <PackageName>.bff
>
> ## "backup -i" means read standard inout for the names of files to backup.
>
>
> On Wed, Oct 7, 2009 at 9:49 PM, Graham Leggett <minfrin [at] sharp> wrote:
>
>> Michael Felt wrote:
>>
>> > New question: that will mean homework I suspect.
>> >
>> > As I mentioned before, I am interested in creating a build that other
>> > people could install. Having one is the only way to see how big a need,
>> > if any exists, for a prebuilt AIX opensource httpd server.
>> >
>> > I suppose I could go for a RPM build - maybe all I need is on AIX by
>> > default, and perhaos it is the first step to learning what needs to be
>> > done.
>> >
>> > My preference is to create a .bff (or installp) format.
>> >
>> > I have found the build/rpm directory, and what seems to be the actual
>> > file intended: ./httpd.spec
>> >
>> > Question is: How do I use this file, and maybe modify it, to create a
>> > specification for an AIX binary distribution?
>>
>> The basic pattern for rpm is that if a file called <tarballname>.spec
>> exists in the tarball, then that spec file is used as a recipe to build
>> the RPM when you go rpmbuild -tb <tarball>.tar.bz2.
>>
>> The recipe contains three things, metadata about the package (name,
>> version, description, other stuff), scripts used to build the package
>> and perform pre and post installation, and a list of files in the rpm.
>>
>> The buildconf script builds the httpd.spec file from httpd.spec.in,
>> inserting the version number and other details into the file. The result
>> is that when a tarball is rolled, a file called httpd.spec exists in the
>> right place containing the right names, MMNs and version numbers.
>>
>> Do you have an example of how a .bff file is built?
>>
>> Regards,
>> Graham
>> --
>>
>
>


mamfelt at gmail

Oct 7, 2009, 1:33 PM

Post #5 of 23 (1738 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

And then some links into IBM:
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.install/doc/insgdrf/sw_pkg_creation.htm
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds3/mkinstallp.htm

And the example file mentioned is attached (/usr/lpp/bos/README.MKINSTALLP)

On Wed, Oct 7, 2009 at 10:02 PM, Michael Felt <mamfelt [at] gmail> wrote:

> A sample of instructions I would follow are here:
> http://pware.hvcc.edu/PwarePackagingGuide.pdf. I just do not intend to
> call it pware.* but something different. Naming is so hard!
>
>
> On Wed, Oct 7, 2009 at 9:56 PM, Michael Felt <mamfelt [at] gmail> wrote:
>
>> I'll have to look into the exact format of the files to make it something
>> the AIX installer can work with - these are extra files.
>>
>> bff stands for backup file format. rather than being a tarball it is a
>> file created by backup (backupbyfilename).
>>
>> a rough approximation of how the file would be created is:
>> cd ${SOME_ROOTDIR}
>> find . | backup -if <PackageName>.bff
>>
>> ## "backup -i" means read standard inout for the names of files to backup.
>>
>>
>> On Wed, Oct 7, 2009 at 9:49 PM, Graham Leggett <minfrin [at] sharp> wrote:
>>
>>> Michael Felt wrote:
>>>
>>> > New question: that will mean homework I suspect.
>>> >
>>> > As I mentioned before, I am interested in creating a build that other
>>> > people could install. Having one is the only way to see how big a need,
>>> > if any exists, for a prebuilt AIX opensource httpd server.
>>> >
>>> > I suppose I could go for a RPM build - maybe all I need is on AIX by
>>> > default, and perhaos it is the first step to learning what needs to be
>>> > done.
>>> >
>>> > My preference is to create a .bff (or installp) format.
>>> >
>>> > I have found the build/rpm directory, and what seems to be the actual
>>> > file intended: ./httpd.spec
>>> >
>>> > Question is: How do I use this file, and maybe modify it, to create a
>>> > specification for an AIX binary distribution?
>>>
>>> The basic pattern for rpm is that if a file called <tarballname>.spec
>>> exists in the tarball, then that spec file is used as a recipe to build
>>> the RPM when you go rpmbuild -tb <tarball>.tar.bz2.
>>>
>>> The recipe contains three things, metadata about the package (name,
>>> version, description, other stuff), scripts used to build the package
>>> and perform pre and post installation, and a list of files in the rpm.
>>>
>>> The buildconf script builds the httpd.spec file from httpd.spec.in,
>>> inserting the version number and other details into the file. The result
>>> is that when a tarball is rolled, a file called httpd.spec exists in the
>>> right place containing the right names, MMNs and version numbers.
>>>
>>> Do you have an example of how a .bff file is built?
>>>
>>> Regards,
>>> Graham
>>> --
>>>
>>
>>
>
Attachments: README.MKINSTALLP (15.1 KB)


mamfelt at gmail

Oct 8, 2009, 12:01 AM

Post #6 of 23 (1726 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

I guess the simple start will be to use example A:
Ex 1: PkgA - single fileset with no requisites
----------------------------------------------
Directory Structure:

/tmp/packages
/tmp/packages/usr/doc/PkgA/README
/tmp/packages/usr/PkgA/bin/acommand


Template File:

Package Name: aix.apache
Package VRMF: 2.2.14.0
Update: N
Fileset
Fileset Name: aix.apache2.rte
Fileset VRMF: 2.2.14.0
Fileset Description: Apache runtime fileset
Bosboot required: N
License agreement acceptance required: N
Include license files in this package: N
Requisites:
USRFiles
/usr/doc/PkgA
/usr/doc/PkgA/README
/usr/PkgA
/usr/PkgA/bin
/usr/PkgA/bin/acommand
EOUSRFiles
ROOT Part: N
ROOTFiles
EOROOTFiles
EOFileset

=====
So, what do I need to do with the .spec file, if anything, to create a
/tmp/packing area. I was thinking, as an initial test, to jst creating a
symbolic link from /usr/local to /tmp/package and seeing what the contents
are - and package those. Or am I being much too simple minded?

Or, not having looked at it yet - should I be focusing on a replacement for
rpmbuild (assuming it is a script)?

Michael

On Wed, Oct 7, 2009 at 10:33 PM, Michael Felt <mamfelt [at] gmail> wrote:

> And then some links into IBM:
>
> http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.install/doc/insgdrf/sw_pkg_creation.htm
>
> http://publib.boulder.ibm.com/infocenter/pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds3/mkinstallp.htm
>
> And the example file mentioned is attached (
> /usr/lpp/bos/README.MKINSTALLP)
>
>
> On Wed, Oct 7, 2009 at 10:02 PM, Michael Felt <mamfelt [at] gmail> wrote:
>
>> A sample of instructions I would follow are here:
>> http://pware.hvcc.edu/PwarePackagingGuide.pdf. I just do not intend to
>> call it pware.* but something different. Naming is so hard!
>>
>>
>> On Wed, Oct 7, 2009 at 9:56 PM, Michael Felt <mamfelt [at] gmail> wrote:
>>
>>> I'll have to look into the exact format of the files to make it something
>>> the AIX installer can work with - these are extra files.
>>>
>>> bff stands for backup file format. rather than being a tarball it is a
>>> file created by backup (backupbyfilename).
>>>
>>> a rough approximation of how the file would be created is:
>>> cd ${SOME_ROOTDIR}
>>> find . | backup -if <PackageName>.bff
>>>
>>> ## "backup -i" means read standard inout for the names of files to
>>> backup.
>>>
>>>
>>> On Wed, Oct 7, 2009 at 9:49 PM, Graham Leggett <minfrin [at] sharp> wrote:
>>>
>>>> Michael Felt wrote:
>>>>
>>>> > New question: that will mean homework I suspect.
>>>> >
>>>> > As I mentioned before, I am interested in creating a build that other
>>>> > people could install. Having one is the only way to see how big a
>>>> need,
>>>> > if any exists, for a prebuilt AIX opensource httpd server.
>>>> >
>>>> > I suppose I could go for a RPM build - maybe all I need is on AIX by
>>>> > default, and perhaos it is the first step to learning what needs to be
>>>> > done.
>>>> >
>>>> > My preference is to create a .bff (or installp) format.
>>>> >
>>>> > I have found the build/rpm directory, and what seems to be the actual
>>>> > file intended: ./httpd.spec
>>>> >
>>>> > Question is: How do I use this file, and maybe modify it, to create a
>>>> > specification for an AIX binary distribution?
>>>>
>>>> The basic pattern for rpm is that if a file called <tarballname>.spec
>>>> exists in the tarball, then that spec file is used as a recipe to build
>>>> the RPM when you go rpmbuild -tb <tarball>.tar.bz2.
>>>>
>>>> The recipe contains three things, metadata about the package (name,
>>>> version, description, other stuff), scripts used to build the package
>>>> and perform pre and post installation, and a list of files in the rpm.
>>>>
>>>> The buildconf script builds the httpd.spec file from httpd.spec.in,
>>>> inserting the version number and other details into the file. The result
>>>> is that when a tarball is rolled, a file called httpd.spec exists in the
>>>> right place containing the right names, MMNs and version numbers.
>>>>
>>>> Do you have an example of how a .bff file is built?
>>>>
>>>> Regards,
>>>> Graham
>>>> --
>>>>
>>>
>>>
>>
>


mamfelt at gmail

Oct 8, 2009, 9:11 AM

Post #7 of 23 (1725 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

ok. build/binbuild.sh is the starting point it seems - and I get an error.

/bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile cc
-qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H -U__STR__ -D_THREAD_SAFE
-D_LARGEFILE64_SOURCE -I/data/prj/httpd-2.2.14/srclib/apr-util/include
-I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
-I/data/prj/httpd-2.2.14/srclib/apr/include
-I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
"xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h> not found.
"xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
"xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is undefined.
"xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible missing
')' or ','?
"xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
"xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of "struct
apr_xml_parser".
make[3]: *** [xml/apr_xml.lo] Error 1
make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
make: *** [all-recursive] Error 1
ERROR: Failed to build Apache. See "build.log" for details.

michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
./srclib/apr-util/xml/expat.h

michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
./srclib/apr-util/xml/apr_xml.c

michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/Python-2.6.3/Modules/expat/expat.h
/usr/local/apache2/include/expat.h


Or, not having looked at it yet - should I be focusing on a replacement for
> rpmbuild (assuming it is a script)?
>
> Michael
>
>
>


mamfelt at gmail

Oct 8, 2009, 3:39 PM

Post #8 of 23 (1726 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

In case the question is not obvious - why is the code not finding it's own
expat.h file? Is it not suppossed to - meaning install the expat package?

On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt <mamfelt [at] gmail> wrote:

> ok. build/binbuild.sh is the starting point it seems - and I get an error.
>
> /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent --mode=compile
> cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H -U__STR__ -D_THREAD_SAFE
> -D_LARGEFILE64_SOURCE -I/data/prj/httpd-2.2.14/srclib/apr-util/include
> -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
> -I/data/prj/httpd-2.2.14/srclib/apr/include
> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
> xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
> "xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h> not
> found.
> "xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
> "xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is undefined.
> "xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible missing
> ')' or ','?
> "xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> "xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of "struct
> apr_xml_parser".
> make[3]: *** [xml/apr_xml.lo] Error 1
> make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
> make: *** [all-recursive] Error 1
> ERROR: Failed to build Apache. See "build.log" for details.
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
> ./srclib/apr-util/xml/expat.h
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
> ./srclib/apr-util/xml/apr_xml.c
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/Python-2.6.3/Modules/expat/expat.h
> /usr/local/apache2/include/expat.h
>
>
>
> Or, not having looked at it yet - should I be focusing on a replacement for
>> rpmbuild (assuming it is a script)?
>>
>> Michael
>>
>>
>>


minfrin at sharp

Oct 8, 2009, 4:21 PM

Post #9 of 23 (1714 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:

> Or, not having looked at it yet - should I be focusing on a replacement
> for rpmbuild (assuming it is a script)?

rpmbuild is a full-on application, which has some pretty involved
features for building a package. What this means is that armed with just
a spec file, you can build an RPM (or an SRPM, which is the source code,
spec file and patches rolled together into a bundle for easy rebuild).

A lot of the packaging systems for other platforms are a lot more basic.
They assume you've done the legwork doing the actual build, the
packaging system kicks in at the last step and turns your
tree-of-binaries into a package, not much more sophisticated than humble
tar.

I think as an example, you should rather be looking at the scripts that
do the Solaris packaging.

In the Solaris case, the build/pkg/buildpkg.sh script does the actual
build (you'll recognise the ./configure;make;make install in there), and
once the binaries are built and staged in a temp directory, the various
package making commands unique to Solaris are kicked off (pkgproto,
pkgtrans) that combine the binaries and the pkginfo template into the
package itself.

The key most interesting bits from your perspective are probably:

- You want to stage the binaries at some temp location, like
/var/tmp/foo.12345/, which in turn becomes the "root" of the install.

You achieve this by adding the DESTDIR variable to make install. This
causes the whole install procedure to pretend you're installing in /usr
(for example), but instead it places the binaries into
/var/tmp/foo.12345/usr/. When you package the files, httpd's paths are
all set up correctly for the final system, you won't find
/var/tmp/foo.12345 lurking in any files.

- You'll probably need a template file of some kind. In the rpm case the
template file is the spec file. In the Solaris case, the template file
is called "pkginfo", and this file is populated by filling in the
template called "pkginfo.in".

Unlike the RPM spec file, which must be correctly built and populated
before httpd is tarred up and released as a tarball for rpmbuild to work
properly (and which is why the spec template is filled in by the
buildconf script), the pkginfo.in file is processed at build time by
autoconf as an ordinary part of the httpd ./configure;make;make install
process. Once ./configure;make;make install is done, the pkginfo file
has been processed and is ready to be used by the Solaris packaging
commands.

I would imagine your packaging would probably follow a similar pattern.

Regards,
Graham
--
Attachments: smime.p7s (3.22 KB)


mamfelt at gmail

Oct 9, 2009, 10:08 AM

Post #10 of 23 (1711 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

On Fri, Oct 9, 2009 at 1:21 AM, Graham Leggett <minfrin [at] sharp> wrote:

> Michael Felt wrote:
>
> > Or, not having looked at it yet - should I be focusing on a replacement
> > for rpmbuild (assuming it is a script)?
>
> rpmbuild is a full-on application, which has some pretty involved
> features for building a package. What this means is that armed with just
> a spec file, you can build an RPM (or an SRPM, which is the source code,
> spec file and patches rolled together into a bundle for easy rebuild).
>
> A lot of the packaging systems for other platforms are a lot more basic.
> They assume you've done the legwork doing the actual build, the
> packaging system kicks in at the last step and turns your
> tree-of-binaries into a package, not much more sophisticated than humble
> tar.
>
> I think as an example, you should rather be looking at the scripts that
> do the Solaris packaging.
>
> In the Solaris case, the build/pkg/buildpkg.sh script does the actual
> build (you'll recognise the ./configure;make;make install in there), and
> once the binaries are built and staged in a temp directory, the various
> package making commands unique to Solaris are kicked off (pkgproto,
> pkgtrans) that combine the binaries and the pkginfo template into the
> package itself.
>
> The key most interesting bits from your perspective are probably:
>
> - You want to stage the binaries at some temp location, like
> /var/tmp/foo.12345/, which in turn becomes the "root" of the install.
>
> You achieve this by adding the DESTDIR variable to make install. This
> causes the whole install procedure to pretend you're installing in /usr
> (for example), but instead it places the binaries into
> /var/tmp/foo.12345/usr/. When you package the files, httpd's paths are
> all set up correctly for the final system, you won't find
> /var/tmp/foo.12345 lurking in any files.
>
> - You'll probably need a template file of some kind. In the rpm case the
> template file is the spec file. In the Solaris case, the template file
> is called "pkginfo", and this file is populated by filling in the
> template called "pkginfo.in".
>
> Unlike the RPM spec file, which must be correctly built and populated
> before httpd is tarred up and released as a tarball for rpmbuild to work
> properly (and which is why the spec template is filled in by the
> buildconf script), the pkginfo.in file is processed at build time by
> autoconf as an ordinary part of the httpd ./configure;make;make install
> process. Once ./configure;make;make install is done, the pkginfo file
> has been processed and is ready to be used by the Solaris packaging
> commands.
>
> I would imagine your packaging would probably follow a similar pattern.
>
> Regards,
> Graham
> --
>
> ran the build/binbuild.sh script again - after building and installing the
expat2.01 package.
It all seemed to build well - getthe the right .guess file has worked
wonders.

However, AIX is still not really a favorite of the configure or libtool
world.

I suppose every system has it way of inserting a default search order for
libraries. For a distribution I would want a more neutral one than the
configure/libtool process is building - also because it is not working.

I know that I could use CFLAGS='-blibpath:/some/path:/another/path' to
create a default path that would work - but I am hoping someone might have
some ideas about what could be done to make integrated to the process,
rather than force fed.

Current Status:
==============
michael [at] x05:[/data/prj/httpd-2.2.14]bindist/bin/httpd -?
exec(): 0509-036 Cannot load program bindist/bin/httpd because of the
following errors:
rtld: 0712-001 Symbol XML_StopParser was referenced
from module /data/prj/httpd-2.2.14/bindist/lib/libaprutil-1.so(), but
a runtime definition
of the symbol was not found.
michael [at] x05:[/data/prj/httpd-2.2.14]dump -H bindist/bin/httpd -?

bindist/bin/httpd:

***Loader Section***
Loader Header Information
VERSION# #SYMtableENT #RELOCent LENidSTR
0x00000001 0x000002fa 0x00000957 0x000000ae

#IMPfilID OFFidSTR LENstrTBL OFFstrTBL
0x00000006 0x0000b7a4 0x000039eb 0x0000b852


***Import File Strings***
INDEX PATH BASE MEMBER

0
/data/prj/httpd-2.2.14/bindist/lib:/usr/local/apache2/lib:/usr/vac/lib:/usr/lib:/lib

1 libaprutil-1.so

2 libapr-1.so

3 libpthread.a shr_xpg5.o

4 libc.a shr.o

5 librtl.a shr.o

dump: -?: dump: 0654-106 Cannot open the specified file.
michael [at] x05:[/data/prj/httpd-2.2.14]


minfrin at sharp

Oct 9, 2009, 10:22 AM

Post #11 of 23 (1718 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:

> Current Status:
> ==============
> michael [at] x05:[/data/prj/httpd-2.2.14]bindist/bin/httpd -?
> exec(): 0509-036 Cannot load program bindist/bin/httpd because of the
> following errors:
> rtld: 0712-001 Symbol XML_StopParser was referenced
> from module /data/prj/httpd-2.2.14/bindist/lib/libaprutil-1.so(),
> but a runtime definition
> of the symbol was not found.

Another thing I suggest you do - for quite a while now, packagers have
packaged up dependencies separately from httpd. Both the solaris and rpm
packaging is done separately for APR and APR-util, and the included APR
and APR-util directory trees inside the httpd tarball are ignored.

You'll find similar scripts for RPM and Solaris packaging in the APR and
APR-util projects, you may find it easier to package those first, and
when they're done, configure httpd to depend on those packages.

Regards,
Graham
--
Attachments: smime.p7s (3.22 KB)


rainer.jung at kippdata

Oct 9, 2009, 1:51 PM

Post #12 of 23 (1715 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

On 09.10.2009 00:39, Michael Felt wrote:
> In case the question is not obvious - why is the code not finding it's
> own expat.h file? Is it not suppossed to - meaning install the expat
> package?

Yes, it should.

> On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt <mamfelt [at] gmail
> <mailto:mamfelt [at] gmail>> wrote:
>
> ok. build/binbuild.sh is the starting point it seems - and I get an
> error.
>
> /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent
> --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H
> -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE
> -I/data/prj/httpd-2.2.14/srclib/apr-util/include
> -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
> -I/data/prj/httpd-2.2.14/srclib/apr/include
> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
> xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
> "xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h>
> not found.
> "xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
> "xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is undefined.
> "xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible
> missing ')' or ','?
> "xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> "xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of
> "struct apr_xml_parser".
> make[3]: *** [xml/apr_xml.lo] Error 1
> make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
> make: *** [all-recursive] Error 1
> ERROR: Failed to build Apache. See "build.log" for details.

When I do a build (not on AIX), then configure produces an output line

setting APRUTIL_INCLUDES to
"-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib"

and later

setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I.
...
-I/my/apache/build/dir/srclib/apr/include
-I/my/apache/build/dir/srclib/apr-util/include
-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib
..."

Then when doing the make,

/usr/bin/ksh /my/apache/build/dir/srclib/apr/libtool --silent --mode=compile
...
-I/my/apache/build/dir/srclib/apr-util/include
-I/my/apache/build/dir/srclib/apr-util/include/private
-I/my/apache/build/dir/srclib/apr/include
-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib -o xml/apr_xml.lo
-c xml/apr_xml.c && touch xml/apr_xml.lo

So the path -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib is
correct and the header file gets found.

In your snippet there is a
-I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include which is
wrong. Did you give explicit instructions to configure where to find
expat? You don't need to.

> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
> ./srclib/apr-util/xml/expat.h
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
> ./srclib/apr-util/xml/apr_xml.c
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/Python-2.6.3/Modules/expat/expat.h
> /usr/local/apache2/include/expat.h

That contradicts the result of your first find:

/data/prj/httpd-2.2.14 + ./srclib/apr-util/xml/expat.h !=
/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h

Regards,

Rainer


mamfelt at gmail

Oct 12, 2009, 9:34 AM

Post #13 of 23 (1668 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

I just ran the build/binbuild.sh script - unchanged. Never had it respond
with a LIBPATH like this before.

In any case, without expat installed the build/binbuild.sh script failed -
cannot find expat.

For the next test I downloaded, compiled, and make installed expat to
/usr/local (actually /usr/local is a symbolic link to /data/local and I am
beginning to think that some of these tools are reacting to the symbolic
link in some way).

On Fri, Oct 9, 2009 at 10:51 PM, Rainer Jung <rainer.jung [at] kippdata>wrote:

> On 09.10.2009 00:39, Michael Felt wrote:
> > In case the question is not obvious - why is the code not finding it's
> > own expat.h file? Is it not suppossed to - meaning install the expat
> > package?
>
> Yes, it should.
>
> > On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt <mamfelt [at] gmail
> > <mailto:mamfelt [at] gmail>> wrote:
> >
> > ok. build/binbuild.sh is the starting point it seems - and I get an
> > error.
> >
> > /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent
> > --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H
> > -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE
> > -I/data/prj/httpd-2.2.14/srclib/apr-util/include
> > -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
> > -I/data/prj/httpd-2.2.14/srclib/apr/include
> > -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
> > xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
> > "xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h>
> > not found.
> > "xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
> > "xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is
> undefined.
> > "xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible
> > missing ')' or ','?
> > "xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > "xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of
> > "struct apr_xml_parser".
> > make[3]: *** [xml/apr_xml.lo] Error 1
> > make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
> > make: *** [all-recursive] Error 1
> > ERROR: Failed to build Apache. See "build.log" for details.
>
> When I do a build (not on AIX), then configure produces an output line
>
> setting APRUTIL_INCLUDES to
> "-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib"
>
> and later
>
> setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I.
> ...
> -I/my/apache/build/dir/srclib/apr/include
> -I/my/apache/build/dir/srclib/apr-util/include
> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib
> ..."
>
> Then when doing the make,
>
> /usr/bin/ksh /my/apache/build/dir/srclib/apr/libtool --silent
> --mode=compile
> ...
> -I/my/apache/build/dir/srclib/apr-util/include
> -I/my/apache/build/dir/srclib/apr-util/include/private
> -I/my/apache/build/dir/srclib/apr/include
> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib -o xml/apr_xml.lo
> -c xml/apr_xml.c && touch xml/apr_xml.lo
>
> So the path -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib is
> correct and the header file gets found.
>
> In your snippet there is a
> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include which is
> wrong. Did you give explicit instructions to configure where to find
> expat? You don't need to.
>

Reminder: I ran build/binbuild.sh unmodified from the 2.2.14 distribution.


>
> > michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
> > ./srclib/apr-util/xml/expat.h
> >
> > michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
> > ./srclib/apr-util/xml/apr_xml.c
> >
> > michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name
> expat.h
> > /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
> > /data/prj/Python-2.6.3/Modules/expat/expat.h
> > /usr/local/apache2/include/expat.h
>
> That contradicts the result of your first find:
>
> /data/prj/httpd-2.2.14 + ./srclib/apr-util/xml/expat.h !=
> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>

Well, maybe I made a cut/paste error - as I have the 2.2.6, 2.2.10 and
several test of those directories with various extensions.

The current 2.2.14 directory is:

michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
./srclib/apr-util/xml/expat/lib/expat.h

And from root - note expat 2.0.1 is now installed: and /usr/local is a
symbolic link to /data/local...

michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
/data/prj/httpd-2.2.6/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/httpd-2.2.10/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/httpd-2.2.6.proxy/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/httpd-2.2.6.err/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/expat-2.0.1/lib/expat.h
/data/prj/expat-2.0.1/amiga/include/inline4/expat.h
/data/prj/expat-2.0.1/amiga/include/proto/expat.h
/data/prj/expat-2.0.1/amiga/include/libraries/expat.h
/data/prj/expat-2.0.1/amiga/include/interfaces/expat.h
/data/prj/httpd-2.2.10.bad/srclib/apr-util/xml/expat/lib/expat.h
/data/prj/Python-2.6.3/Modules/expat/expat.h
/data/prj/php-4.4.7/ext/xml/expat/expat.h
/data/local/include/expat.h
/data/local/apache2/include/expat.h




>
> Regards,
>
> Rainer
>


mamfelt at gmail

Oct 12, 2009, 11:43 AM

Post #14 of 23 (1671 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

OK. It is probably something really really simple - but as I am trying to be
guided by what is already there I am trying to do a build using paramters
similar to the build/binbuild.sh.

/configure --enable-layout=Apache --enable-mods-shared=most
--enable-modules=most --enable-static-support

although I wonder why this choice for --enable-static-support

When configure and make finish I get:
michael [at] x05:[/data/prj/httpd-2.2.14]./httpd
-l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
[Mon Oct 12 18:43:58 2009] [warn] module headers_module is already loaded,
skipping
Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
Invalid command 'AddHandler', perhaps misspelled or defined by a module not
included in the server configuration

and in httpd.conf - I have:

LoadModule php5_module modules/libphp5.so
AddHandler php5-script php

What mod should I enable, besides "most". Maybe "most" should include it by
default. Or have I disabled it via the --enable-static-support.

Normally I have used:
michael [at] x05:[/data/prj/httpd-2.2.14]cat ../http_configure
./configure --prefix=/usr/local/apache2 \
--enable-module=so \
--enable-module=unique_id \
--enable-module=usertrack \
--enable-module=vhost_alias \
--enable-rewrite=shared \
--enable-speling=shared \
--enable-digest=shared \
--enable-cgi=shared \
--enable-headers=shared \
--enable-info=shared \
--enable-log_forensic=shared \
--enable-proxy=shared \
--enable-proxy-connect=shared \
--enable-proxy-ftp=shared \
--enable-proxy-http=shared \
--enable-proxy-ajp=shared \
--enable-proxy-balancer=shared \
--with-z=/data/prj/zlib-1.2.3

And AddHandler has just worked. So I am a bit confused.


On Mon, Oct 12, 2009 at 6:34 PM, Michael Felt <mamfelt [at] gmail> wrote:

> I just ran the build/binbuild.sh script - unchanged. Never had it respond
> with a LIBPATH like this before.
>
> In any case, without expat installed the build/binbuild.sh script failed -
> cannot find expat.
>
> For the next test I downloaded, compiled, and make installed expat to
> /usr/local (actually /usr/local is a symbolic link to /data/local and I am
> beginning to think that some of these tools are reacting to the symbolic
> link in some way).
>
> On Fri, Oct 9, 2009 at 10:51 PM, Rainer Jung <rainer.jung [at] kippdata>wrote:
>
>> On 09.10.2009 00:39, Michael Felt wrote:
>> > In case the question is not obvious - why is the code not finding it's
>> > own expat.h file? Is it not suppossed to - meaning install the expat
>> > package?
>>
>> Yes, it should.
>>
>> > On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt <mamfelt [at] gmail
>> > <mailto:mamfelt [at] gmail>> wrote:
>> >
>> > ok. build/binbuild.sh is the starting point it seems - and I get an
>> > error.
>> >
>> > /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent
>> > --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H
>> > -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE
>> > -I/data/prj/httpd-2.2.14/srclib/apr-util/include
>> > -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
>> > -I/data/prj/httpd-2.2.14/srclib/apr/include
>> > -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
>> > xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
>> > "xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h>
>> > not found.
>> > "xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
>> > "xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is
>> undefined.
>> > "xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible
>> > missing ')' or ','?
>> > "xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > "xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of
>> > "struct apr_xml_parser".
>> > make[3]: *** [xml/apr_xml.lo] Error 1
>> > make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
>> > make[2]: *** [all-recursive] Error 1
>> > make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
>> > make[1]: *** [all-recursive] Error 1
>> > make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
>> > make: *** [all-recursive] Error 1
>> > ERROR: Failed to build Apache. See "build.log" for details.
>>
>> When I do a build (not on AIX), then configure produces an output line
>>
>> setting APRUTIL_INCLUDES to
>> "-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib"
>>
>> and later
>>
>> setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I.
>> ...
>> -I/my/apache/build/dir/srclib/apr/include
>> -I/my/apache/build/dir/srclib/apr-util/include
>> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib
>> ..."
>>
>> Then when doing the make,
>>
>> /usr/bin/ksh /my/apache/build/dir/srclib/apr/libtool --silent
>> --mode=compile
>> ...
>> -I/my/apache/build/dir/srclib/apr-util/include
>> -I/my/apache/build/dir/srclib/apr-util/include/private
>> -I/my/apache/build/dir/srclib/apr/include
>> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib -o xml/apr_xml.lo
>> -c xml/apr_xml.c && touch xml/apr_xml.lo
>>
>> So the path -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib is
>> correct and the header file gets found.
>>
>> In your snippet there is a
>> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include which is
>> wrong. Did you give explicit instructions to configure where to find
>> expat? You don't need to.
>>
>
> Reminder: I ran build/binbuild.sh unmodified from the 2.2.14 distribution.
>
>
>>
>> > michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
>> > ./srclib/apr-util/xml/expat.h
>> >
>> > michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
>> > ./srclib/apr-util/xml/apr_xml.c
>> >
>> > michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name
>> expat.h
>> > /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>> > /data/prj/Python-2.6.3/Modules/expat/expat.h
>> > /usr/local/apache2/include/expat.h
>>
>> That contradicts the result of your first find:
>>
>> /data/prj/httpd-2.2.14 + ./srclib/apr-util/xml/expat.h !=
>> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>>
>
> Well, maybe I made a cut/paste error - as I have the 2.2.6, 2.2.10 and
> several test of those directories with various extensions.
>
> The current 2.2.14 directory is:
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
> ./srclib/apr-util/xml/expat/lib/expat.h
>
> And from root - note expat 2.0.1 is now installed: and /usr/local is a
> symbolic link to /data/local...
>
> michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
> /data/prj/httpd-2.2.6/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/httpd-2.2.10/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/httpd-2.2.6.proxy/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/httpd-2.2.6.err/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/expat-2.0.1/lib/expat.h
> /data/prj/expat-2.0.1/amiga/include/inline4/expat.h
> /data/prj/expat-2.0.1/amiga/include/proto/expat.h
> /data/prj/expat-2.0.1/amiga/include/libraries/expat.h
> /data/prj/expat-2.0.1/amiga/include/interfaces/expat.h
> /data/prj/httpd-2.2.10.bad/srclib/apr-util/xml/expat/lib/expat.h
> /data/prj/Python-2.6.3/Modules/expat/expat.h
> /data/prj/php-4.4.7/ext/xml/expat/expat.h
> /data/local/include/expat.h
> /data/local/apache2/include/expat.h
>
>
>
>
>>
>> Regards,
>>
>> Rainer
>>
>
>


mamfelt at gmail

Oct 15, 2009, 2:55 AM

Post #15 of 23 (1628 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:
> OK. It is probably something really really simple - but as I am trying to be
> guided by what is already there I am trying to do a build using paramters
> similar to the build/binbuild.sh.
>
> /configure --enable-layout=Apache --enable-mods-shared=most
> --enable-modules=most --enable-static-support
>
> although I wonder why this choice for --enable-static-support
>
> When configure and make finish I get:
> michael [at] x05:[/data/prj/httpd-2.2.14]./httpd
> -l
> Compiled in modules:
> core.c
> prefork.c
> http_core.c
> mod_so.c
>
> michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
> [Mon Oct 12 18:43:58 2009] [warn] module headers_module is already loaded,
> skipping
> Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
> Invalid command 'AddHandler', perhaps misspelled or defined by a module not
> included in the server configuration
>
> and in httpd.conf - I have:
>
> LoadModule php5_module modules/libphp5.so
> AddHandler php5-script php
>
> What mod should I enable, besides "most". Maybe "most" should include it by
> default. Or have I disabled it via the --enable-static-support.
>
> Normally I have used:
> michael [at] x05:[/data/prj/httpd-2.2.14]cat ../http_configure
> ./configure --prefix=/usr/local/apache2 \
> --enable-module=so \
> --enable-module=unique_id \
> --enable-module=usertrack \
> --enable-module=vhost_alias \
> --enable-rewrite=shared \
> --enable-speling=shared \
> --enable-digest=shared \
> --enable-cgi=shared \
> --enable-headers=shared \
> --enable-info=shared \
> --enable-log_forensic=shared \
> --enable-proxy=shared \
> --enable-proxy-connect=shared \
> --enable-proxy-ftp=shared \
> --enable-proxy-http=shared \
> --enable-proxy-ajp=shared \
> --enable-proxy-balancer=shared \
> --with-z=/data/prj/zlib-1.2.3
>
> And AddHandler has just worked. So I am a bit confused.
>
>
> On Mon, Oct 12, 2009 at 6:34 PM, Michael Felt <mamfelt [at] gmail> wrote:
>
>
>> I just ran the build/binbuild.sh script - unchanged. Never had it respond
>> with a LIBPATH like this before.
>>
>> In any case, without expat installed the build/binbuild.sh script failed -
>> cannot find expat.
>>
>> For the next test I downloaded, compiled, and make installed expat to
>> /usr/local (actually /usr/local is a symbolic link to /data/local and I am
>> beginning to think that some of these tools are reacting to the symbolic
>> link in some way).
>>
>> On Fri, Oct 9, 2009 at 10:51 PM, Rainer Jung <rainer.jung [at] kippdata>wrote:
>>
>>
>>> On 09.10.2009 00:39, Michael Felt wrote:
>>>
>>>> In case the question is not obvious - why is the code not finding it's
>>>> own expat.h file? Is it not suppossed to - meaning install the expat
>>>> package?
>>>>
>>> Yes, it should.
>>>
>>>
>>>> On Thu, Oct 8, 2009 at 6:11 PM, Michael Felt <mamfelt [at] gmail
>>>> <mailto:mamfelt [at] gmail>> wrote:
>>>>
>>>> ok. build/binbuild.sh is the starting point it seems - and I get an
>>>> error.
>>>>
>>>> /bin/sh /data/prj/httpd-2.2.14/srclib/apr/libtool --silent
>>>> --mode=compile cc -qlanglvl=extc89 -g -qHALT=E -DHAVE_CONFIG_H
>>>> -U__STR__ -D_THREAD_SAFE -D_LARGEFILE64_SOURCE
>>>> -I/data/prj/httpd-2.2.14/srclib/apr-util/include
>>>> -I/data/prj/httpd-2.2.14/srclib/apr-util/include/private
>>>> -I/data/prj/httpd-2.2.14/srclib/apr/include
>>>> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include -o
>>>> xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
>>>> "xml/apr_xml.c", line 35.10: 1506-296 (S) #include file <expat.h>
>>>> not found.
>>>> "xml/apr_xml.c", line 66.5: 1506-046 (S) Syntax error.
>>>> "xml/apr_xml.c", line 67.10: 1506-007 (S) "enum XML_Error" is
>>>>
>>> undefined.
>>>
>>>> "xml/apr_xml.c", line 344.28: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 345.13: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 364.60: 1506-277 (S) Syntax error: possible
>>>> missing ')' or ','?
>>>> "xml/apr_xml.c", line 381.13: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 382.17: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 390.29: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 391.35: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 392.41: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 404.35: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 414.17: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 418.36: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> "xml/apr_xml.c", line 422.55: 1506-022 (S) "xp" is not a member of
>>>> "struct apr_xml_parser".
>>>> make[3]: *** [xml/apr_xml.lo] Error 1
>>>> make[3]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
>>>> make[2]: *** [all-recursive] Error 1
>>>> make[2]: Leaving directory `/data/prj/httpd-2.2.14/srclib/apr-util'
>>>> make[1]: *** [all-recursive] Error 1
>>>> make[1]: Leaving directory `/data/prj/httpd-2.2.14/srclib'
>>>> make: *** [all-recursive] Error 1
>>>> ERROR: Failed to build Apache. See "build.log" for details.
>>>>
>>> When I do a build (not on AIX), then configure produces an output line
>>>
>>> setting APRUTIL_INCLUDES to
>>> "-I/my/apache/build/dir/srclib/apr-util/xml/expat/lib"
>>>
>>> and later
>>>
>>> setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I.
>>> ...
>>> -I/my/apache/build/dir/srclib/apr/include
>>> -I/my/apache/build/dir/srclib/apr-util/include
>>> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib
>>> ..."
>>>
>>> Then when doing the make,
>>>
>>> /usr/bin/ksh /my/apache/build/dir/srclib/apr/libtool --silent
>>> --mode=compile
>>> ...
>>> -I/my/apache/build/dir/srclib/apr-util/include
>>> -I/my/apache/build/dir/srclib/apr-util/include/private
>>> -I/my/apache/build/dir/srclib/apr/include
>>> -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib -o xml/apr_xml.lo
>>> -c xml/apr_xml.c && touch xml/apr_xml.lo
>>>
>>> So the path -I/my/apache/build/dir/srclib/apr-util/xml/expat/lib is
>>> correct and the header file gets found.
>>>
>>> In your snippet there is a
>>> -I/data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/include which is
>>> wrong. Did you give explicit instructions to configure where to find
>>> expat? You don't need to.
>>>
>>>
>> Reminder: I ran build/binbuild.sh unmodified from the 2.2.14 distribution.
>>
>>
>>
>>>> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
>>>> ./srclib/apr-util/xml/expat.h
>>>>
>>>> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name apr_xml.c
>>>> ./srclib/apr-util/xml/apr_xml.c
>>>>
>>>> michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name
>>>>
>>> expat.h
>>>
>>>> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>>>> /data/prj/Python-2.6.3/Modules/expat/expat.h
>>>> /usr/local/apache2/include/expat.h
>>>>
>>> That contradicts the result of your first find:
>>>
>>> /data/prj/httpd-2.2.14 + ./srclib/apr-util/xml/expat.h !=
>>> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>>>
>>>
>> Well, maybe I made a cut/paste error - as I have the 2.2.6, 2.2.10 and
>> several test of those directories with various extensions.
>>
>> The current 2.2.14 directory is:
>>
>> michael [at] x05:[/data/prj/httpd-2.2.14]find . -name expat.h
>> ./srclib/apr-util/xml/expat/lib/expat.h
>>
>> And from root - note expat 2.0.1 is now installed: and /usr/local is a
>> symbolic link to /data/local...
>>
>> michael [at] x05:[/data/prj/httpd-2.2.14]find / -fstype jfs2 -name expat.h
>> /data/prj/httpd-2.2.6/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/httpd-2.2.10/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/httpd-2.2.6.proxy/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/httpd-2.2.14/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/httpd-2.2.6.err/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/expat-2.0.1/lib/expat.h
>> /data/prj/expat-2.0.1/amiga/include/inline4/expat.h
>> /data/prj/expat-2.0.1/amiga/include/proto/expat.h
>> /data/prj/expat-2.0.1/amiga/include/libraries/expat.h
>> /data/prj/expat-2.0.1/amiga/include/interfaces/expat.h
>> /data/prj/httpd-2.2.10.bad/srclib/apr-util/xml/expat/lib/expat.h
>> /data/prj/Python-2.6.3/Modules/expat/expat.h
>> /data/prj/php-4.4.7/ext/xml/expat/expat.h
>> /data/local/include/expat.h
>> /data/local/apache2/include/expat.h
>>
>>
>>
>>
>>
>>> Regards,
>>>
>>> Rainer
>>>
>>>
>>
>
>
Aparrently, I have a misconception regarding what
--enable-mods-shared=all and --enable-mods-shared=most means. Compare
the following: one, more manual selection, and the listed modules
compiled in, and the second list - with failure!

michael [at] x05:[/data/prj/httpd-2.2.14]cat ../http_configure
./configure --prefix=/usr/local/apache2 \
--enable-module=so \
--enable-module=unique_id \
--enable-module=usertrack \
--enable-module=vhost_alias \
--enable-rewrite=shared \
--enable-speling=shared \
--enable-digest=shared \
--enable-cgi=shared \
--enable-headers=shared \
--enable-info=shared \
--enable-log_forensic=shared \
--enable-proxy=shared \
--enable-proxy-connect=shared \
--enable-proxy-ftp=shared \
--enable-proxy-http=shared \
--enable-proxy-ajp=shared \
--enable-proxy-balancer=shared \
--with-z=/data/prj/zlib-1.2.3

michael [at] x05:[/data/prj/httpd-2.2.14]/usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
michael [at] x05:[/data/prj/httpd-2.2.14]/usr/local/apache2/bin/httpd -t
[Thu Oct 15 09:58:36 2009] [warn] module headers_module is already
loaded, skipping
Syntax OK
=====================================================================
michael [at] x05:[/data/prj/httpd-2.2.14]./configure --enable-layout=Apache
--enable-mods-shared=all

michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
[Thu Oct 15 09:58:08 2009] [warn] module headers_module is already
loaded, skipping
Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
Invalid command 'AddHandler', perhaps misspelled or defined by a module
not included in the server configuration
=====================================================================
What mod needs to be static so "things" like AddHandler function properly?


minfrin at sharp

Oct 15, 2009, 3:21 AM

Post #16 of 23 (1635 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:

> michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
> [Thu Oct 15 09:58:08 2009] [warn] module headers_module is already
> loaded, skipping
> Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
> Invalid command 'AddHandler', perhaps misspelled or defined by a module
> not included in the server configuration
> =====================================================================
> What mod needs to be static so "things" like AddHandler function properly?

Look in the rpm spec file in build/rpm/httpd.spec.in, and find the
./configure line in there - use that as a starting point about the
options to use.

Obviously if any modules are left out, tweak accordingly.

The only module that needs to be compiled statically (and it's compiled
statically by default) is mod_so itself, the module that knows how load
dynamic modules.

Regards,
Graham
--


mamfelt at gmail

Oct 15, 2009, 4:01 AM

Post #17 of 23 (1632 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

OK. I'll see if that starts answering more questions than I am getting from
my "face-value" (or naive) approach to the infromation/hints coming from
binbuild.sh and configure --help.

The mod with AddHandler is mod_mime - did a better search in the
documentation to find that.

Just seems strange that "all" and "most" give nothing, and using only "so"
gives me a lot - or maybe too much?
===========
michael [at] x05:[/data/prj/httpd-2.2.14]cat config.nice
#! /bin/sh
#
# Created by configure

"./configure" \
"--enable-module=so" \
"$@"
michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
mod_version.c
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
lt-httpd: Syntax error on line 56 of /usr/local/apache2/conf/httpd.conf:
module cgi_module is built-in and can't be loaded
=======

On Thu, Oct 15, 2009 at 12:21 PM, Graham Leggett <minfrin [at] sharp> wrote:

> Michael Felt wrote:
>
> > michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
> > [Thu Oct 15 09:58:08 2009] [warn] module headers_module is already
> > loaded, skipping
> > Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
> > Invalid command 'AddHandler', perhaps misspelled or defined by a module
> > not included in the server configuration
> > =====================================================================
> > What mod needs to be static so "things" like AddHandler function
> properly?
>
> Look in the rpm spec file in build/rpm/httpd.spec.in, and find the
> ./configure line in there - use that as a starting point about the
> options to use.
>
> Obviously if any modules are left out, tweak accordingly.
>
> The only module that needs to be compiled statically (and it's compiled
> statically by default) is mod_so itself, the module that knows how load
> dynamic modules.
>
> Regards,
> Graham
> --
>


mamfelt at gmail

Oct 15, 2009, 12:01 PM

Post #18 of 23 (1630 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Well, it seems it is all relatively simple - as most solutions tend to be.

re: AddHandler message: the statement needed to be moved to within
<IfModule mime_module>
....
</IfModule>

Probably, my builds were working fine. I am running into other warnings, and
I am wondering if there is a specific, recommended, or preferred order of
LoadModule statements so that the built-in part of apache can be limited to
the four (4) modules I kept seeing from the httpd -l output.

My feeling now is the main file I will need to update for a distribution is
httpd.conf and/or the conf/extra directory. Any advice in this line of
thought is appreciated.

The comment on having apr and apr-util separate from the apache build is
something I shall be looking at.
Regarding the recommendation to seperate apr and apache: I have no idea how
apr and apr-util actually work, but I have read that 'recently' other
projects have started to use apr. Would the proper approach be to configure
and install apr and apr-util and then rerun the apache configure - so that
apache knows to not use/install it's own apr and apr-util?

Michael

On Thu, Oct 15, 2009 at 1:01 PM, Michael Felt <mamfelt [at] gmail> wrote:

> OK. I'll see if that starts answering more questions than I am getting from
> my "face-value" (or naive) approach to the infromation/hints coming from
> binbuild.sh and configure --help.
>
> The mod with AddHandler is mod_mime - did a better search in the
> documentation to find that.
>
> Just seems strange that "all" and "most" give nothing, and using only "so"
> gives me a lot - or maybe too much?
> ===========
> michael [at] x05:[/data/prj/httpd-2.2.14]cat config.nice
> #! /bin/sh
> #
> # Created by configure
>
> "./configure" \
> "--enable-module=so" \
> "$@"
> michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -l
> Compiled in modules:
> core.c
> mod_authn_file.c
> mod_authn_default.c
> mod_authz_host.c
> mod_authz_groupfile.c
> mod_authz_user.c
> mod_authz_default.c
> mod_auth_basic.c
> mod_include.c
> mod_filter.c
> mod_log_config.c
> mod_env.c
> mod_setenvif.c
> mod_version.c
> prefork.c
> http_core.c
> mod_mime.c
> mod_status.c
> mod_autoindex.c
> mod_asis.c
> mod_cgi.c
> mod_negotiation.c
> mod_dir.c
> mod_actions.c
> mod_userdir.c
> mod_alias.c
> mod_so.c
> michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
> lt-httpd: Syntax error on line 56 of /usr/local/apache2/conf/httpd.conf:
> module cgi_module is built-in and can't be loaded
> =======
>
>
> On Thu, Oct 15, 2009 at 12:21 PM, Graham Leggett <minfrin [at] sharp> wrote:
>
>> Michael Felt wrote:
>>
>> > michael [at] x05:[/data/prj/httpd-2.2.14]./httpd -t
>> > [Thu Oct 15 09:58:08 2009] [warn] module headers_module is already
>> > loaded, skipping
>> > Syntax error on line 69 of /usr/local/apache2/conf/httpd.conf:
>> > Invalid command 'AddHandler', perhaps misspelled or defined by a module
>> > not included in the server configuration
>> > =====================================================================
>> > What mod needs to be static so "things" like AddHandler function
>> properly?
>>
>> Look in the rpm spec file in build/rpm/httpd.spec.in, and find the
>> ./configure line in there - use that as a starting point about the
>> options to use.
>>
>> Obviously if any modules are left out, tweak accordingly.
>>
>> The only module that needs to be compiled statically (and it's compiled
>> statically by default) is mod_so itself, the module that knows how load
>> dynamic modules.
>>
>> Regards,
>> Graham
>> --
>>
>
>


covener at gmail

Oct 15, 2009, 12:47 PM

Post #19 of 23 (1625 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

On Thu, Oct 15, 2009 at 3:01 PM, Michael Felt <mamfelt [at] gmail> wrote:
> Well, it seems it is all relatively simple - as most solutions tend to be.
>
> re: AddHandler message: the statement needed to be moved to within
> <IfModule mime_module>
> ....
> </IfModule>
>
> Probably, my builds were working fine. I am running into other warnings, and
> I am wondering if there is a specific, recommended, or preferred order of
> LoadModule statements so that the built-in part of apache can be limited to
> the four (4) modules I kept seeing from the httpd -l output.
>
> My feeling now is the main file I will need to update for a distribution is
> httpd.conf and/or the conf/extra directory. Any advice in this line of
> thought is appreciated.

Your covering up a build failure with this. mod_mime should definitely
be available.

--
Eric Covener
covener [at] gmail


mamfelt at gmail

Oct 15, 2009, 1:37 PM

Post #20 of 23 (1631 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Eric Covener wrote:
> On Thu, Oct 15, 2009 at 3:01 PM, Michael Felt <mamfelt [at] gmail> wrote:
>
>> Well, it seems it is all relatively simple - as most solutions tend to be.
>>
>> re: AddHandler message: the statement needed to be moved to within
>> <IfModule mime_module>
>> ....
>> </IfModule>
>>
>> Probably, my builds were working fine. I am running into other warnings, and
>> I am wondering if there is a specific, recommended, or preferred order of
>> LoadModule statements so that the built-in part of apache can be limited to
>> the four (4) modules I kept seeing from the httpd -l output.
>>
>> My feeling now is the main file I will need to update for a distribution is
>> httpd.conf and/or the conf/extra directory. Any advice in this line of
>> thought is appreciated.
>>
>
> Your covering up a build failure with this. mod_mime should definitely
> be available.
>
>
my bad - my AddHandler statement was outside the IFModule block (at line
69, near the LoadModules, and it worked for years because mod_mime was
built-in) - so the problem I was having was primarily a user error.

What might be a build issue is all the missing LoadModule mod_auth*
statements in a default httpd.conf, but I would not know about that. I
just see that with a build with only

Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

I get errors about Order, Deny, etc.. httpd 2.0 would be mod_access, but now there are several mod_auth* mods. Which is why I was asking if there is a prefered, or required order for LoadModules.


minfrin at sharp

Oct 16, 2009, 4:57 AM

Post #21 of 23 (1615 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Michael Felt wrote:

> my bad - my AddHandler statement was outside the IFModule block (at line
> 69, near the LoadModules, and it worked for years because mod_mime was
> built-in) - so the problem I was having was primarily a user error.
>
> What might be a build issue is all the missing LoadModule mod_auth*
> statements in a default httpd.conf, but I would not know about that. I
> just see that with a build with only
>
> Compiled in modules:
> core.c
> prefork.c
> http_core.c
> mod_so.c
>
> I get errors about Order, Deny, etc.. httpd 2.0 would be mod_access, but
> now there are several mod_auth* mods. Which is why I was asking if there
> is a prefered, or required order for LoadModules.

There is no required order for the modules, no, but surrounding the
offending pieces of config with <IfModule> is a definite good thing.

Regards,
Graham
--


mamfelt at gmail

Oct 19, 2009, 7:32 AM

Post #22 of 23 (1555 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

I am far enough now that I can consider removing the apr dependancies from
the httpd binary package. I have not read the Solaris pkginfo files yet, but
what I expect to find is that the httpd/apr directory is simply removed
before assembling the build package (or not including it in the package).
This assumes that httpd (apache2) will look for apr in /usr/local/apr (or
better ${PREFIX}/apr and ${PREFIX}/apr-util for whatever it needs.

If, conceptually, it is as simple as that, a yes is all I need. If not,
suggestions/warnings/etc are very welcome!

On Fri, Oct 9, 2009 at 7:22 PM, Graham Leggett <minfrin [at] sharp> wrote:

> Michael Felt wrote:
>
> > Current Status:
> > ==============
> > michael [at] x05:[/data/prj/httpd-2.2.14]bindist/bin/httpd -?
> > exec(): 0509-036 Cannot load program bindist/bin/httpd because of the
> > following errors:
> > rtld: 0712-001 Symbol XML_StopParser was referenced
> > from module /data/prj/httpd-2.2.14/bindist/lib/libaprutil-1.so(),
> > but a runtime definition
> > of the symbol was not found.
>
> Another thing I suggest you do - for quite a while now, packagers have
> packaged up dependencies separately from httpd. Both the solaris and rpm
> packaging is done separately for APR and APR-util, and the included APR
> and APR-util directory trees inside the httpd tarball are ignored.
>
> You'll find similar scripts for RPM and Solaris packaging in the APR and
> APR-util projects, you may find it easier to package those first, and
> when they're done, configure httpd to depend on those packages.
>
> Regards,
> Graham
> --
>


mamfelt at gmail

Oct 19, 2009, 7:53 AM

Post #23 of 23 (1555 views)
Permalink
Re: Making a binary distribution package... for AIX [In reply to]

Should have read them first - not so complex...

The which commands: do you normally have /usr/local/apr/bin in your PATH
variable, or should I be installing apr to a different directory (e.g.
/usr/local/bin).

I could come up with a solution that works for me, but I would rather follow
the conventions, whatever they may be.

On Mon, Oct 19, 2009 at 4:32 PM, Michael Felt <mamfelt [at] gmail> wrote:

> I am far enough now that I can consider removing the apr dependancies from
> the httpd binary package. I have not read the Solaris pkginfo files yet, but
> what I expect to find is that the httpd/apr directory is simply removed
> before assembling the build package (or not including it in the package).
> This assumes that httpd (apache2) will look for apr in /usr/local/apr (or
> better ${PREFIX}/apr and ${PREFIX}/apr-util for whatever it needs.
>
> If, conceptually, it is as simple as that, a yes is all I need. If not,
> suggestions/warnings/etc are very welcome!
>
>
> On Fri, Oct 9, 2009 at 7:22 PM, Graham Leggett <minfrin [at] sharp> wrote:
>
>> Michael Felt wrote:
>>
>> > Current Status:
>> > ==============
>> > michael [at] x05:[/data/prj/httpd-2.2.14]bindist/bin/httpd -?
>> > exec(): 0509-036 Cannot load program bindist/bin/httpd because of the
>> > following errors:
>> > rtld: 0712-001 Symbol XML_StopParser was referenced
>> > from module /data/prj/httpd-2.2.14/bindist/lib/libaprutil-1.so(),
>> > but a runtime definition
>> > of the symbol was not found.
>>
>> Another thing I suggest you do - for quite a while now, packagers have
>> packaged up dependencies separately from httpd. Both the solaris and rpm
>> packaging is done separately for APR and APR-util, and the included APR
>> and APR-util directory trees inside the httpd tarball are ignored.
>>
>> You'll find similar scripts for RPM and Solaris packaging in the APR and
>> APR-util projects, you may find it easier to package those first, and
>> when they're done, configure httpd to depend on those packages.
>>
>> Regards,
>> Graham
>> --
>>
>
>

Apache dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.