This is the .rpmmacros file I use to generate 64bit versions of OpenPKG as an example:

%l_make         /usr/openpkg/bin/make
#%l_mflags      -j4
%l_cc           /usr/openpkg/bin/gcc
%l_cxx          /usr/openpkg/bin/g++
%l_cflags       -O2 -m64 -mcpu=v9 -mtune=ultrasparc3
%l_ldflags      -m64 -mcpu=v9 -mtune=ultrasparc3
%l_cxxflags     -m64 -mcpu=v9 -mtune=ultrasparc3
%l_as           /usr/openpkg/bin/as
%l_ld           /usr/openpkg/bin/ar
%l_ar           /usr/openpkg/bin/ld

Unfortunately, OpenPKG was not designed to do this, so I had to hack up a lot of .SPEC files to properly pass in things like LDFLAGS or CFLAGS.

Another unfortunate, is that Sun loves to deprecate certain core library function calls when they build the 64bit version of the library. This means it's sometimes only possible to even generate a 32bit binary because this version of the libary is the only one that contains the needed code. I've had various problems with this under different versions of Solaris, but the most painful is Solaris 10 x86_64 because I can't even generate 64bit versions of such core packages as gettext.

As far as parallel makes are concerned, it doesn't work for some packages because a certain part of the build process may depend on an object file or some other process to finish before executing properly. This isn't OpenPKG specific, just software in general. It's best to use %l_mflags -j1 for any type of automated build process.

DC-

Dan wrote:

On 8/22/05, Doug Summers <[EMAIL PROTECTED]> wrote:
Dan wrote:
I'm trying to create a build environment under Solaris 9 (completely
stock) in which to build the PLUS tree as well as rebuild the CORE
packages, as encouraged by the tutorial.  So far I haven't found
documentation or example configs anywhere online, other than how to
specify settings using ~/.rpmmacros and a few env vars.

Could a developer share their configs or point me towards documentation?

The only "special" thing I had to do was use Sun's compiler to build
lsof as the gcc I built was only 32-bit.

Doug

The version of GCC in 2.4 doesn't seem to have a problem with lsof,
but a large number of other packages either bomb out during building
with -m64 (or -64, and I've no clue why some packages require one and
not the other) or they create executables that only dump core.  sudo
comes to mind.

Also, make -j with values of 2, 3, 4, or larger fails to build many
packages but the threshold seems to be random.  Anyone have ideas why
this might happen?



______________________________________________________________________
The OpenPKG Project                                    www.openpkg.org
User Communication List                      openpkg-users@openpkg.org

Reply via email to