You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

4.6 KiB

PFEXTLIB Build Results

Build Summary

Successfully compiled all three PFEXTLIB libraries in CentOS 3.9 i386 environment:

cppunit-1.10.2

  • Shared library: libcppunit-1.10.so.2.0.0 (1.9 MB)
  • Static library: libcppunit.a (3.4 MB)
  • Binary: DllPlugInTester
  • Location: ./output/cppunit/lib/
  • Format: ELF 32-bit LSB shared object, Intel i386
  • Dependencies: libstdc++.so.5, libm.so.6, libc.so.6, libgcc_s.so.1
  • Status: Compiled successfully (install error is non-critical - headers already present)

fftw-3.0.1

  • Shared library: libfftw3.so.3.0.1 (624 KB)
  • Static library: libfftw3.a (1.0 MB)
  • Location: ./output/fftw/lib/
  • Format: ELF 32-bit LSB shared object, Intel i386
  • Configure options: --enable-sse --enable-threads
  • Dependencies: libm.so.6, libc.so.6, ld-linux.so.2
  • Status: Compiled successfully

hdf5-1.6.2

  • Shared library: libhdf5.so.0.0.0 (997 KB)
  • Static library: libhdf5.a (1.3 MB)
  • Location: ./output/hdf5/lib/
  • Format: ELF 32-bit LSB shared object, Intel i386
  • Configure options: --enable-cxx
  • Dependencies: libm.so.6, libc.so.6, ld-linux.so.2
  • Status: Compiled successfully

Build Environment

  • OS: CentOS 3.9 i386 (from archive.kernel.org vault)
  • GCC: 3.2.3-59 (gcc, g++, cpp)
  • glibc: 2.3.2-95.50
  • libstdc++: 5.0 (from compat-libstdc++-7.3-2.96.128)
  • Toolchain: autoconf 2.57, automake 1.6.3, libtool 1.4.3, make 3.79.1
  • Total packages: 47 RPMs verified and installed

Docker Image

  • Image name: centos39-pfextlib:latest
  • Architecture: i386 (32-bit)
  • Source directory: /usr/local/PFEXTLIB-1.2/

Output Directory Structure

output/
├── cppunit/
│   ├── bin/
│   │   └── DllPlugInTester
│   ├── include/
│   │   └── cppunit/        (complete header tree)
│   └── lib/
│       ├── libcppunit-1.10.so.2.0.0
│       ├── libcppunit.so -> libcppunit-1.10.so.2.0.0
│       ├── libcppunit.a
│       └── *.o files
├── fftw/
│   ├── include/
│   │   └── fftw3.h
│   └── lib/
│       ├── libfftw3.so.3.0.1
│       ├── libfftw3.so -> libfftw3.so.3.0.1
│       └── libfftw3.a
└── hdf5/
    ├── include/
    │   └── H5public.h
    └── lib/
        ├── libhdf5.so.0.0.0
        ├── libhdf5.so -> libhdf5.so.0.0.0
        └── libhdf5.a

Build Scripts

  1. build-docker-image.sh (270 lines)

    • Downloads 47 RPMs from CentOS 3.9 vault
    • Creates minimal rootfs with rpm2cpio
    • Cleans source directories (make distclean, rm *.o .so *.a .libs)
    • Generates build scripts for each library
    • Builds Docker image
  2. build-libraries.sh

    • Starts Docker container in background
    • Executes builds inside container
    • Copies compiled libraries to ./output/
    • Automatically cleans up container
  3. verify-rpms.sh

    • Validates all 47 RPM package names
    • 100% verified against CentOS vault

Usage

Rebuild Docker Image

./build-docker-image.sh

Build All Libraries

./build-libraries.sh

Verify RPM Package Names

./verify-rpms.sh

Helper Commands

./pfextlib-docker.sh
# Commands: start, stop, shell, build, build-cppunit, build-fftw, build-hdf5,
#           clean, logs, help

Notes

  • Install errors: cppunit shows "files are the same" errors during install phase - this is expected because headers exist in source directory. The compiled libraries are successfully created.
  • libstdc++.so.6: Not found in CentOS 3.9 packages. GCC 3.2.3 compiled binaries need libstdc++.so.5 which is present.
  • 32-bit libraries: All libraries are 32-bit Intel i386 format, suitable for legacy systems.

Timestamps

  • Build Date: November 3, 2024
  • Build Time: ~3 minutes for all libraries
  • Image Size: ~320 MB (minimal CentOS 3.9 + build tools)

Files Created

  • build-docker-image.sh - Main Docker image builder
  • build-libraries.sh - Library compilation and extraction script
  • verify-rpms.sh - RPM verification tool
  • pfextlib-docker.sh - Helper script with common commands
  • README.md - Full documentation
  • BUILD-RESULTS.md - This file

Success Criteria

All three libraries compile without errors Shared objects (.so) created successfully Static libraries (.a) created successfully Libraries are 32-bit i386 format Dependencies are satisfied (libstdc++.so.5, libm, libc, libgcc_s) Headers and binaries extracted Build process is reproducible