The Samba-Bugzilla – Bug 4702
Compilation of dynconfig.c for 3.0.25/3.0.25a fails under Tru64 4.0f
Last modified: 2008-04-11 11:24:42 UTC
Running make fails on dynconfig.c for both samba 3.0.25 and 3.0.25a under HP Tru64 4.0f.
Created attachment 2759 [details]
Here's the compilation log for 3.0.25
Has there been any action on resolving on this problem? Is there any hope that there will be a fix? Every new version of Samba beyond 3.0.24 fails to build under Tru64 4.0f. Thanks.
We are continuously monitoring the ability to build and run samba on various platforms in our build farm: http://build.samba.org/ . But we are building the current development branch, which is v3-2-test (the development branch for the upcoming release of Samba 3.2.0). We only have one Tru64 machine at our disposal, which is a "V5.1B-4-PK6" (uname says "OSF1 axp V5.1 2650 alpha"). v3-2-test builds ok there. A lot of work and changes have gone into the build system since 3.0.24.
Could you please try if the current 3.0.28a releas brings any improvement?
You can download the tarball at http://us4.samba.org/samba/ftp/stable/samba-3.0.28a.tar.gz
As an onther attept, you could try to build the current v3-2-test branch (or the 3.2.0pre2 tarball available at http://download.samba.org/samba/ftp/pre/samba-3.2.0pre2.tar.gz). We know that this builds on our Tru64 machine.
To further track down your concrete problem, we would need more information about your build:
* exact configure command.
* output of configure
* config.log file
* make output for that build
Of course, access to a test machine would facilitate debugging... :-)
Generally, you could help us monitoring the build succes by adding a Tru64 machine to our build farm, following the instructions you can find at http://build.samba.org/instructions.html .
Cheers - Michael
Created attachment 3195 [details]
output of configure for 3.0.28a
Created attachment 3196 [details]
config.log for 3.0.28a
compressed (.Z) file
Created attachment 3197 [details]
output of make for 3.0.28a
Created attachment 3198 [details]
output of configure for 3.2.0pre2
Created attachment 3199 [details]
config.log for 3.2.0pre2
As requested, I've attached the output of configure, the config.log and the output of make for 3.0.28. Please note that configure failed for 3.2.0pre2 with "error: c99 structure initializer are not supported", so there is no output of make for that build.
thanks for the details. Here are the comments:
* The configure error:
For 3.2.0pre2, apparently a slightly older version of autoconf has been used to create the "configure" script. The version used for the 3.0.28a tarball seems to have a newer and apparently better detection for preprocessor flags for the OSF 4.0 compiler. So you could either re-generate configure by running "./autogen.sh" from the source directory if you have autoconf installed. Or use the freshly generated configure script I am going to attach next.
* For the compile error:
There is a problem with conflicting prototypes for lib/util_tdb.c that the other compilers seem to be not strict enough to complain that badly. The reason for the problem is that there is on the on hand the hand-written header includes/util_tdb.h and on the other hand the generated prototypes in includes/proto.h. The proper fix (that I am working on for 3.2.) is not to autogenerate prototypes for util_tdb.c. The quick fix is to simply remove or comment out the prototypes from util_tdb.h (and simply leave the data type definitions). I am going to attach a patch for that that you can apply against 3.0.28a to test again.
Created attachment 3206 [details]
configure script for 3.2.0pre2 (gzipped)
This a configure script for 3.2.0pre2 generated with a newer version of autoconf than the one present in the 3.2.0pre2 tarball. It contains better support for the OSF 4.0 compiler.
Created attachment 3207 [details]
3.0.28a prototypes patch (util_tdb)
This is a proof-of-concept patch against 3.0.28a that removes the unmaintained handwritten prototypes from includes/util_tdb.h.
Created attachment 3216 [details]
Output of new 3.2.0pre2 configure script
The new configure script completed OK, but make failed (output to follow)...
Created attachment 3217 [details]
new config.log for 3.2.0pre2
This is a compressed (.Z) file.
Created attachment 3218 [details]
output of make for 3.2.0pre2
Created attachment 3219 [details]
output of make for patched 3.0.28a
I applied the patch to util_tdb, but compilation failed with "cc: Severe ./lib/netapi/netapi.h, line 27: Cannot find file <inttypes.h> specified in #include directive. (noinclfile)"
what you encountered are two separate probelms.
For the 3.2.0pre2 build, I add Günther Deschner, the author of the new
libnetapi code, to the Cc list of this bug.
The 3.0.28a problem looks very strange to me.
I'll attach a patch you can try next.
Created attachment 3248 [details]
patch: Try to fix the 3.0.28a build
This is a blind attempt to fix the 3.0.28a build by moving the
prototype of the nonexisting function into the
"ifdef HAVE_COMPILER_WILL_OPTIMIZE_OUT_FNS ..." block.
I can't believe that this is the reason though, since the test succeeded in the config.log of 3.2.0pre2 supplied...
when testing the build, please make sure to run make realdistclean first
(or start from a fresh unpack of the tarball, applying my two patches).
autogen.sh && configure [<opts>] && make proto && make [everything]
Created attachment 3249 [details]
patch: fix build netapi 3.2
This tries to fix the build of 3.2.0pre2.
(In reply to comment #17)
> Hi Scott,
> what you encountered are two separate probelms.
> For the 3.2.0pre2 build, I add Günther Deschner, the author of the new
> libnetapi code, to the Cc list of this bug.
That one should be fixed now.
(In reply to comment #21)
> (In reply to comment #17)
> > Hi Scott,
> > what you encountered are two separate probelms.
> > For the 3.2.0pre2 build, I add Günther Deschner, the author of the new
> > libnetapi code, to the Cc list of this bug.
> That one should be fixed now.
To clarify: the inttypes include has been removed in commit a4e3bc2bade8bf74696e1c6ced74da563ff2df7b:
Created attachment 3262 [details]
output from autogen, etc. after applying 3.0.28a patch
FYI, Tru64 does not have autogen/autoheader so I had to install gnu autogen-2.53 and m4-1.4. After autogen finished, configure failed with "c99: structure intitialzer are not supported" error.
Created attachment 3263 [details]
Output from autogen, etc after applying patch for 3.2.0pre2
After autogen finished, I received various configure "possible undefined macro" errors.