pcp
[Top] [All Lists]

Re: [pcp] Solaris build notes

To: Nathan Scott <nathans@xxxxxxxxxx>
Subject: Re: [pcp] Solaris build notes
From: Josef 'Jeff' Sipek <jeffpc@xxxxxxxxxxxxxx>
Date: Thu, 25 Jun 2015 19:20:21 -0400
Cc: pcp <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <700307243.26392851.1435272506780.JavaMail.zimbra@xxxxxxxxxx>
References: <474160992.25596336.1435198655884.JavaMail.zimbra@xxxxxxxxxx> <1945955780.25644422.1435200191659.JavaMail.zimbra@xxxxxxxxxx> <20150625133756.GB101450@xxxxxxxxxxxxxxxxxxxxxxxxx> <20150625161654.GF101450@xxxxxxxxxxxxxxxxxxxxxxxxx> <700307243.26392851.1435272506780.JavaMail.zimbra@xxxxxxxxxx>
User-agent: Mutt/1.5.23 (2014-03-12)
On Thu, Jun 25, 2015 at 06:48:26PM -0400, Nathan Scott wrote:
> Hi Jeff,
> 
> ----- Original Message -----
> > [...]
> > Right, it finished.  I had to tweak the build trivially to get a 32-bit
> > build.
> > Without this trivial tweak (which you probably should *not* include),
> 
> *nod* - I think a variant of that patch would be fine though...
> 
> > linker error because qmake would try to shove in 64-bit Qt into an otherwise
> > 32-bit build.  Note that OI Hipster uses gcc for everything unlike Solaris.
> > 
> > diff --git a/src/include/builddefs.in b/src/include/builddefs.in
> > index d3408bf..4db796a 100644
> > --- a/src/include/builddefs.in
> > +++ b/src/include/builddefs.in
> > @@ -163,7 +163,7 @@ GIT     = @GIT@
> >  PYTHON     = @PYTHON@
> >  PYTHON3    = @PYTHON3@
> >  DTRACE  = @DTRACE@
> > -QMAKE      = @qmake@
> > +QMAKE      = @qmake@ -spec solaris-g++
> > 
> 
> The configure.ac has knowledge of whether the platform is solaris (or alike),
> as well as whether gcc or non-gcc compiler is being used (via $cc_is_gcc); so
> a patch that expands @qmake@ in this situation to include that -spec option,
> would certainly be a useful addition (iow, a configure.ac patch, rather than
> a builddefs.in patch).

That sounds quite sane.  The reason I hacked up builddefs.in is because the
one time I had to deal with autotools was enough for my lifetime ;)

> Did you need any other build changes?

Technically, I hacked up Makepkgs to avoid the 64-bit lib dir as well:

diff --git a/Makepkgs b/Makepkgs
index cb4ca60..dbdc7dd 100755
--- a/Makepkgs
+++ b/Makepkgs
@@ -189,7 +189,8 @@ in
        ;;
     sunos)
        ARCH=`isainfo -k`
-       [ "$ARCH" = amd64 -o "$ARCH" = sparcv9 ] && configopts="$configopts 
--disable-ssp --libdir=/usr/lib/64"
+       configopts="$configopts --disable-ssp"
+       #[ "$ARCH" = amd64 -o "$ARCH" = sparcv9 ] && configopts="$configopts 
--disable-ssp --libdir=/usr/lib/64"
        ;;
 esac
 

Illumos (and Solaris) use the "bare" directory for the 32-bit bins and a
subdirectory for 64-bit versions.  E.g.,

/usr/bin       # 32-bit
/usr/bin/amd64 # 64-bit

/usr/lib/64 happens to be a symlink to /usr/lib/amd64 on x86 systems.  (IIRC,
the magic directory name is sparcv9 on sparc.)

The reason for the above hack to Makepkgs is because `isainfo -k` outputs amd64
if the kernel is 64-bit.

> Also, would you be able to add an
> Illumos buildbot into Lukas' set?
> 
>   http://buildbot.pcp.io/ 
>   http://pcp.io/buildbot.html
> 
> ... would help us keep it up to date & automatically produce & test packages.

That sounds quite useful.  I'll look into it hopefully this weekend.  (Btw,
it looks like the debian slaves are down.)

Jeff.

-- 
Failure is not an option,
It comes bundled with your Microsoft product.

<Prev in Thread] Current Thread [Next in Thread>