question about building packages with a non-gcc compiler

7 views
Skip to first unread message

Jimmy

unread,
May 4, 2010, 3:03:37 AM5/4/10
to The X Binary Package System
Hi,

I've been looking at xbps over the last few days, I was wondering if
its possible to use a non-gcc compiler to build all the packages in
the system.

To give you some background on what I want to do. I want to create
some packages with the intel compilers (probably also with pathscale
and portland compilers as well) to build different implementations of
MPI (or just different builds of openmpi),so I would need to be able
to set CC, CXX, CPP, F77, FC and F90 variables so that packages use
the correct compiler etc... I'd also would want to have *all* the
versions installed at the same time (probably in different chroots or
what not). The environment I work at runs lots of old and new
computational codes and I've been looking for a simple packaging
system to build packages with.


Jimmy.

--
XBPS - The X Binary Package System

You received this message because you are subscribed to the Google
Groups "xbps" group.
To post to this group, send email to xb...@googlegroups.com
To unsubscribe from this group, send email to
xbps+uns...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/xbps?hl=en

Juan Romero Pardines

unread,
May 4, 2010, 6:19:45 AM5/4/10
to xb...@googlegroups.com
2010/5/4 Jimmy <jcf...@gmail.com>:
> Hi,
>
> I've been looking at xbps over the last few days, I was wondering if
> its possible to use a non-gcc compiler to build all the packages in
> the system.
>
> To give you some background on what I want to do. I want to create
> some packages with the intel compilers (probably also with pathscale
> and portland compilers as well) to build different implementations of
> MPI (or just different builds of openmpi),so I would need to be able
> to set CC, CXX, CPP, F77, FC and F90 variables so that packages use
> the correct compiler etc... I'd also would want to have *all* the
> versions installed at the same time (probably in different chroots or
> what not). The environment I work at runs lots of old and new
> computational codes and I've been looking for a simple packaging
> system to build packages with.

Hi Jimmy,

yes it should be possible, but at this moment it's not normalized. Days ago I
added the LLVM/clang package to accomplish this goal, clearly this is
something that I
want to support.

ATM you can simply "export" those variables by using pre_configure(),
pre_build()
or via the $configure_args var. Let me know if you have problems and
I'll help you.

Juan Romero Pardines

unread,
May 4, 2010, 6:37:38 AM5/4/10
to xb...@googlegroups.com
2010/5/4 Juan Romero Pardines <xtr...@gmail.com>:

> yes it should be possible, but at this moment it's not normalized. Days ago I
> added the LLVM/clang package to accomplish this goal, clearly this is
> something that I
> want to support.
>
> ATM you can simply "export" those variables by using pre_configure(),
> pre_build()
> or via the $configure_args var. Let me know if you have problems and
> I'll help you.

xbps-src needs to have a "toolchain" to build packages in a chroot, currently
this is accomplished by building (or installing) the "xbps-base-chroot" package
(in srcpkgs/xbps-base-chroot), that depends on binutils and gcc.

From what I see in www.open-mpi.org you only need make(1) and a C++
compiler, so you'd
have to install your compiler into the chroot and set the
CC/CXX/CXXFLAGS variables
in the build template file of OpenMPI.

I'll try to create the OpenMPI package today... cheers.

Juan Romero Pardines

unread,
May 4, 2010, 7:08:20 AM5/4/10
to xb...@googlegroups.com
2010/5/4 Juan Romero Pardines <xtr...@gmail.com>:

> I'll try to create the OpenMPI package today... cheers.

Hi, I've just pushed the openmpi build template into the 'xbps-src'
mercurial repo.

http://groups.google.com/group/xbps-commits/browse_thread/thread/d88f3f1ef20e8c85

It seems to depend on libstdc++, libgcc, libgomp, glibc and zlib. I'm
curious do the
other compilers also use the GCC libraries? if true you won't have to
change anything.

Jimmy Tang

unread,
May 4, 2010, 8:18:54 AM5/4/10
to xb...@googlegroups.com
On Tue, May 4, 2010 at 12:08 PM, Juan Romero Pardines <xtr...@gmail.com> wrote:
> 2010/5/4 Juan Romero Pardines <xtr...@gmail.com>:
>
>> I'll try to create the OpenMPI package today... cheers.
>
> Hi, I've just pushed the openmpi build template into the 'xbps-src'
> mercurial repo.
>
> http://groups.google.com/group/xbps-commits/browse_thread/thread/d88f3f1ef20e8c85
>
> It seems to depend on libstdc++, libgcc, libgomp, glibc and zlib. I'm
> curious do the
> other compilers also use the GCC libraries? if true you won't have to
> change anything.


yes and no, its a real mix with the other compilers, I was just hoping
to be able to define a compiler in a conf file and have a few tree's
of srcpkgs for different compilers/mpi's

as far as i know portland and pathscale are gcc derived, where as the
intel compilers are open64 compiler derived.

jimmy

Juan Romero Pardines

unread,
May 4, 2010, 8:26:24 AM5/4/10
to xb...@googlegroups.com
2010/5/4 Jimmy Tang <jcf...@gmail.com>:

> yes and no, its a real mix with the other compilers, I was just hoping
> to be able to define a compiler in a conf file and have a few tree's
> of srcpkgs for different compilers/mpi's
>
> as far as i know portland and pathscale are gcc derived, where as the
> intel compilers are open64 compiler derived.

The problems will come if they use different libraries other than
libgcc, libstdc++, etc.

I haven't tried different compilers yet, well the exception is
LLVM/clang which you
can use right now just setting CC="clang" to the environment, but I
haven't tried
the Intel compiler due that it's not easy to download, even they only
provide the
binaries AFAIK.

I'm sorry I don't know about the other compilers.
Reply all
Reply to author
Forward
0 new messages