<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for juancpaz</title>
    <link>http://www.advogato.org/person/juancpaz/</link>
    <description>Advogato blog for juancpaz</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 22 May 2013 14:18:07 GMT</pubDate>
    <item>
      <pubDate>Tue, 14 Oct 2003 18:58:51 GMT</pubDate>
      <title>14 Oct 2003</title>
      <link>http://www.advogato.org/person/juancpaz/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/juancpaz/diary.html?start=4</guid>
      <description>The project &lt;a href="https://sourceforge.net/projects/fspaix/" &gt;fspaix&lt;/a&gt; (Free Software Porting to AIX) seems that it has started. Thanks to Gerard Eviston. It has a AIX5 box and it has joined to the project.&lt;br&gt;
&lt;br&gt; 
We would be very glad if more people want to join to our project (with more boxes AIX if it is possible)&lt;br&gt;
&lt;br&gt;
Another thing, I have seen that my Certification in Advogato has fallen from Apprentice to Observer. Is this a normal behavior or is something wrong in mod_virgule?&lt;br&gt;
&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2003 15:09:41 GMT</pubDate>
      <title>24 Jul 2003</title>
      <link>http://www.advogato.org/person/juancpaz/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/juancpaz/diary.html?start=3</guid>
      <description>&lt;a href="http://www.advogato.org/person/haruspex/" &gt;haruspex&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Thank you for you interest. Well, that isn't the project I created &lt;a href="http://www.sourceforge.net/projects/fspaix" &gt;Free Software Porting to AIX&lt;/a&gt;, that AIX Port project is, I think, dead, without activity since a long time ago. I have spoken with Felix Mathais, his project leader, and he have left the project&lt;br&gt;
&lt;br&gt;
We will need AIX5x 64 bits at least, IBM wont support AIX &amp;lt;= 4.3 from 01/01/2004. I think we will can use a 64 bits machine to generate 32 bits code, IBM says this is possible, and I have successfully done it&lt;br&gt;
&lt;br&gt;
If all is right, we will compile and test software in aix, then we'll report and deliver to suited community. If things goes wrong, we'll find a solution, even changing code, and we will report it to comunity, too.&lt;br&gt;
&lt;br&gt;
If you have a sourceforge user, please, let me know, I will join you to fspaix with manager rights&lt;br&gt;
&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2003 13:06:47 GMT</pubDate>
      <title>24 Jul 2003</title>
      <link>http://www.advogato.org/person/juancpaz/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/juancpaz/diary.html?start=2</guid>
      <description>I have created a new project for AIX Porting in sourceforge, as long as I know sf don't provides a prowerpc-aix platform in its compiler farm. Somebody knows how can i get it? I have already done a support request for it&lt;br&gt;
&lt;br&gt;
If somebody want to help...wellcomed and thanks.&lt;br&gt;
&lt;br&gt;
At the moment we can only compile information like tips&amp;amp;tricks, experiences, documentation, and so on, about AIX Porting.</description>
    </item>
    <item>
      <pubDate>Fri, 23 May 2003 08:51:37 GMT</pubDate>
      <title>23 May 2003</title>
      <link>http://www.advogato.org/person/juancpaz/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/juancpaz/diary.html?start=1</guid>
      <description>&lt;b&gt;Building Apache 2.0.45 in AIX51 64 bits&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
This is about problems I have foud building Apache 2.0.45 in AIX 5.1 64 bits. First in all, when i build apache, i use a environment like this:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
PATH=$AUTOTOOLS:$PATH
CC="xlc_r"
CXX="xlC_r"
CPP="xlC_r -E"
LDFLAGS="-blipath:/usr/lib:/lib"
CFLAGS="-q64 -I. -I/usr/vacpp/include -qstrict -qlanglvl=extended -D_LARGE_FILES -g -qfullpath"
LTFLAGS=" "
OBJEXT=".o"
LIBEXT=".so"
AR="/bin/ar"
AR_FLAGS="-rv"
RANLIB="/bin/ranlib -t -X64"
OBJECT_MODE=64
LIBPATH="/usr/lib:/lib"
&lt;/pre&gt;
&lt;/blockquote&gt;
Note i use autotools to create configure files, those delivered with apache don't work right&lt;br&gt;
&lt;br&gt;
Well, next, i create a clean build system&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
cd $source_dir
./buildconf
&lt;/pre&gt;
&lt;/blockquote&gt;
I don't execute &lt;tt&gt;build/binbuild.sh&lt;/tt&gt; for to several reasons, as you can see below I need to change some things in middle of process... btw, apr and apr-util don't know Apache Layout, then, i usually set &lt;tt&gt;LAYOUT=apr&lt;/tt&gt; and &lt;tt&gt;LAYOUT=apr-util&lt;/tt&gt; in respective configures, just before &lt;tt&gt;sed&lt;/tt&gt; command use it.&lt;br&gt;
&lt;br&gt;
Next, I modify server &lt;tt&gt;core.c&lt;/tt&gt; to apply a patch to solve a &lt;tt&gt;xlc&lt;/tt&gt; problem as describe by &lt;a href="http" ://www.advogato.org/person/jefft&gt;Jeff Travick&lt;/a&gt; in &lt;a href="http" ://www.apache.org/~trawick/aixstatus.html&gt;"Status of Apache 2.0 on AIX"&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
Then, depending on environment you have set, probably, you could build all, however, if you do that now, you will probably find some problems.&lt;br&gt;
&lt;br&gt;
1. Where is &lt;tt&gt;libexpat.so&lt;/tt&gt;? nowhere, it won't generate&lt;br&gt;
2. httpd won't import symbols&lt;br&gt;
3. modules and apr-util libraries will have absolute paths in its loader sections&lt;br&gt;
&lt;br&gt;
To solve this, I must after execute &lt;tt&gt;configure&lt;/tt&gt; manually, modify makefiles before make. So, I execute &lt;tt&gt;configures&lt;/tt&gt;:&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
cd $source_dir
./configure --enable-layout=Apache --prefix=$source_dir/bindist --enable-mods-shared=most \
--with-expat=$source_dir/srclib/apr-util/xml/expat --enable-static-support&amp;lt;/tt&amp;gt;&lt;br&gt;
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;b&gt;1. Fix &lt;tt&gt;libexpat.so&lt;/tt&gt; generation&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
srclib/apr-util/xml/expat/lib/Makefile changed:&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
...
install: $(LIBRARY) $(APIHEADER)
...
$(LIBTOOL) --mode=install cp $(LIBRARY) $(DESTDIR)$(libdir)
...
&lt;/pre&gt;
&lt;/blockquote&gt;
I usually use &lt;tt&gt;libtool&lt;/tt&gt; from &lt;tt&gt;apr&lt;/tt&gt;:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
...
LIBTOOL = $(SHELL) $source_dir/srclib/apr/libtool
...
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;b&gt;2. Fix &lt;tt&gt;httpd&lt;/tt&gt; import symbols&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
To fix this, modify &lt;tt&gt;build/config_vars.mk&lt;/tt&gt; and set &lt;tt&gt;HTTPD_LDFLAGS&lt;/tt&gt; to get &lt;tt&gt;httpd.exp&lt;/tt&gt; file: &lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
...
HTTPD_LDFLAGS = -bI:$my_source_dir/server/httpd.exp
...
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;b&gt;3. Fix absolute path references in libraries&lt;/b&gt;&lt;br&gt;
&lt;br&gt;
I really hate this, finding absolute path references in loader section of libraries after generating a kit:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
$ dump -X64 -Hv libparutil-0.so
libaprutil-0.so:
...
                        ***Import File Strings***
INDEX  PATH                          BASE                MEMBER
0      &lt;i&gt;absolute_path&lt;/i&gt;:/usr/lib:/lib
1      &lt;i&gt;absolute_path&lt;/i&gt;/bindist/lib libexpat.so
2                                    libiconv.a          shr4_64.o
3      &lt;i&gt;absolute_path&lt;/i&gt;/bindist/lib libapr-0.so
4                                    libc.a              shr_64.o
&lt;/pre&gt;
&lt;/blockquote&gt;
Adding &lt;tt&gt;-blibpath=/usr/lib:/lib&lt;/tt&gt; to &lt;tt&gt;LDFLAGS&lt;/tt&gt; isn't sometimes enought to solve this. Sometimes, &lt;tt&gt;libtool&lt;/tt&gt; removes this flag. If configure generated &lt;tt&gt;Makefiles&lt;/tt&gt; with libraries full names in LIBS, or &lt;tt&gt;libtool&lt;/tt&gt; doesn't find libraries in .libs, it will search for it in another places and full paths will be generated&lt;br&gt;
&lt;br&gt;
This problem mainly affect module libraries and &lt;tt&gt;libapr-util.so&lt;/tt&gt;, the trick to solve it is, i think, to give to &lt;tt&gt;libtool&lt;/tt&gt; flags in following way:&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
...
LDFLAGS=-L$source_dir/srclib/apr -L$source_dir/srclib/apr-util \
-L$source_dir/srclib/apr-util/xml/expat/lib -blibpath:/usr/lib:/lib
...
LDLIBS=-lapr-0 -laprutil-0 -lexpat
...
&lt;/pre&gt;
&lt;/blockquote&gt;
For modules, it could be enought modifying &lt;tt&gt;build/config_vars.mk&lt;/tt&gt;, for &lt;tt&gt;apr-util&lt;/tt&gt;, I didn't find the right place to properly fix it, so I dump libtool command to a log, then, after &lt;tt&gt;make&lt;/tt&gt; and &lt;tt&gt;make install&lt;/tt&gt;, I launch the xlc command manually, some like this:&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
xlc_r -o .libs/libaprutil-0.so.0.9.3  \
buckets/apr_buckets_file.o buckets/apr_buckets_pool.o buckets/apr_buckets_flush.o buckets/apr_buckets_refcount.o \
...
misc/apr_rmm.o misc/apr_reslist.o misc/apr_queue.o misc/apu_version.o strmatch/apr_strmatch.o xlate/xlate.o \
-L$source_dir/srclib/apr-util/xml/expat/lib/.libs -lexpat  \
-L$source_dir/srclib/apr/.libs -lapr-0 \
-liconv -lm -lnsl   -lc  -Wl,-brtl -Wl,-bnoentry -Wl,-bexport:.libs/libaprutil-0.exp \
-Wl,-G -blibpath:/usr/lib:/lib
&lt;/pre&gt;
&lt;/blockquote&gt;
Something strange ... &lt;tt&gt;make&lt;/tt&gt; build &lt;tt&gt;.so&lt;/tt&gt; right, but &lt;tt&gt;make install&lt;/tt&gt; "relinks" &lt;tt&gt;libaprutil-0.so&lt;/tt&gt; (why?) taking other flags and producing a library with a wrong load header.&lt;br&gt;
&lt;br&gt;
Another problem is about &lt;tt&gt;mod_dav&lt;/tt&gt;, after a proper build and install, I start &lt;tt&gt;httpd&lt;/tt&gt; and looks ok, but when i try to connect, a core is generated ... debugging, I have found that a request is arriving to mod_dav. This request isn't for mod_dav, probably, mod_dav was loaded too soon, or another module that would should have processed the request previously, hasn't done it. I have found two solutions for this.&lt;br&gt;
&lt;br&gt;
1. Modifying &lt;tt&gt;modules/dav/main/mod_dav.c&lt;/tt&gt;&lt;br&gt;
&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
static int dav_fixups(request_rec *r)
{
   dav_dir_conf *conf;
   ...
   if (strcmp(r-&amp;gt;handler, DAV_HANDLER_NAME) != 0)   /* This is the fix, if program is allowed to continue */
      return DECLINED;                              /* without this check, a core could be generated      */
   
   conf = (dav_dir_conf *)ap_get_module_config(r-&amp;gt;per_dir_config,
      &amp;amp;dav_module);
   if (conf-&amp;gt;provider == NULL) {                   /* This could become a core if conf isn't a valid pointer */
      return DECLINED;
   }
   ...
}
&lt;/pre&gt;
&lt;/blockquote&gt;
2. A colleague told me a different solution, this is to statically link mod_dav.a into mod_dav_fs.so, something like this:&lt;br&gt;
&lt;blockquote&gt;
&lt;pre&gt;
xlc_r -o .libs/libmod_dav_fs.so.0.0.0  \
mod_dav_fs.o dbm.o lock.o repos.o ../main/.libs/libmod_dav.a  \
-lc  -Wl,-bnoentry -Wl,-bexport:.libs/libmod_dav_fs.exp -Wl,-G -blibpath:/usr/lib:/lib
&lt;/pre&gt;
&lt;/blockquote&gt;
... and, well, it is true, &lt;tt&gt;httpd&lt;/tt&gt; don't crash after this ... but I don't understand why this is done ... if we build a different provider, must we statically link &lt;tt&gt;mod_dav&lt;/tt&gt; too? ... I dont know if &lt;tt&gt;mod_dav&lt;/tt&gt; will work properly.&lt;br&gt;
&lt;br&gt;
This is all, I have finally create several scripts to pack .tar.gz file in the usual way, taking parts from original &lt;tt&gt;build/binbuild.sh&lt;/tt&gt;, ... previously I copy sources to local directory in order to remove temporary .nfs files, taking care that my script sets original paths in &lt;tt&gt;httpd-std.conf&lt;/tt&gt;, in order to ensure a future proper execution of install-bindist.sh.&lt;br&gt;
&lt;br&gt;
From Apache 2.0.39 (from bug in &lt;tt&gt;core.c&lt;/tt&gt;), I have seen that AIX have been forgotten by the community, I think that if Apache for AIX's build system isn't fixed now, the next apache versions could probably become too hard to build.&lt;br&gt;
&lt;br&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 29 Apr 2003 09:58:14 GMT</pubDate>
      <title>29 Apr 2003</title>
      <link>http://www.advogato.org/person/juancpaz/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/juancpaz/diary.html?start=0</guid>
      <description>&lt;b&gt;Apache 2.0.45 for powerpc-ibm-aix5.1 64 bits&lt;/b&gt;&lt;br&gt;&lt;br&gt;
With a lot of problems, I have got build and properly run Apache 2.0.45 on AIX 5.1 64 bits. I have used xlc. Next, I will try fix Apache build mechanism on AIX 5.1&lt;br&gt;&lt;br&gt;Soon, I will post an article about problems I have found and I will describe I have done to solve it.</description>
    </item>
  </channel>
</rss>
