[parsec-users] question about compiling "bodytrack" and "vips" on solaris machines

cbienia at CS.Princeton.EDU cbienia at CS.Princeton.EDU
Thu Jun 12 16:22:48 EDT 2008

Hi Guoqiang,

The '--rpath' flag is automatically chosen by the GNU autotools. It's 
black magic, fixing it will probably require a lot of know how since 
it's a fairly complex system. If the newer version of ld still has 
problems, try generating the configure script for vips again on your 
machine (possibly with an updated version of the autotools).

For the glib library a simple trick would be to manually download and 
install the latest version on your system. Then remove the glib 
dependency from the PARSEC version of vips and try to build it with the 
glib version which you just installed. If that doesn't work either then 
it's probably best to follow John's advice and contact the glib 
developers. You're lucky in so far that it's an actively maintained 
project that's used by many people, you should get good support from 

- Chris

Quoting Guoqiang Yang <nkyangguoqiang at gmail.com>:

> Hi Chris and John,
> Thanks for you guys' reply.
> For all those benchmarks, I was using solaris 10, gcc 4.2 and g++ 4.2, the
> "ld" version is "GNU ld version 2.14 20030612".
> For benchmark bodytrack: the "ld" complains that the option "-Wl,--rpath
> -Wl,/soft/gcc-4.2/SunOS5.10/lib -Wl,--rpath -Wl,/soft/gcc-4.2/SunOS5.10/lib"
> is illegal.  And I also checked that option is available for  ld version
> "GNU ld (GNU Binutils) 2.18". So I asked the operator in the department to
> update to the newer version of "ld". Also, I'm wondering where that option
> comes from. I checked the configure.ac and makefile.am, but never found
> where it is from. Could you please give me some clue if you know about this?
> For benchmark vips: the errors seem to be related with flags
> "USE_LIBICONV_GNU" and "_LIBICONV_H", the error happens in file
> "$PARSEC/pkgs/libs/glib/src/glib/gconvert.c" line 48. The error is really
> that flag "USE_LIBICONV_GNU" is not properly set. And I found
> "USE_LIBICONV_GNU" is defined in "$PARSEC/pkgs/libs/glib/src/configure.in".
> Anyhow, it is not properly set in the end.  Do you know how this could
> happen?
> Many thanks,
> Guoqiang Yang
> On Thu, Jun 12, 2008 at 5:43 AM, <cbienia at cs.princeton.edu> wrote:
>> Hi Guoqiang,
>> Bodytrack should compile without any problems. There's probably something
>> broken with your environment. Try using the latest versions of all packages,
>> if I remember correctly I did my work on Solaris 11.
>> If you have trouble building VIPS try to contact its developers directly.
>> The VIPS web site is here: http://www.vips.ecs.soton.ac.uk/
>> - Chris
>> Quoting Guoqiang Yang <nkyangguoqiang at gmail.com>:
>>  Hi there,
>>> I'm now trying to compiling parsec on solaris machines. According to
>>> Javier
>>> Lira, there are seven benchmarks which should be compiled. When I tried, I
>>> failed "bodytrack", "vips" and "x264". I did find solutions from this
>>> mailing list and finally made it. Thank Javier Lira for your solution.
>>> For "bodytrack" I got the following error, and I looked into the makefile
>>> for bodytrack but didn't find where the option "-Wl,--rpath
>>> -Wl,/soft/gcc-4.2/SunOS5.10/lib -Wl,--rpath
>>> -Wl,/soft/gcc-4.2/SunOS5.10/lib"
>>> come from nor what it is used for:
>>> ========================
>>> /soft/gcc-4.2/SunOS5.10/bin/g++ -O3 -funroll-loops -fprefetch-loop-arrays
>>> -fpermissive -fno-exceptions -DPARSEC_VERSION=1.0 -fexceptions
>>> -Wno-unknown-pragmas -Wall -o bodytrack AnnealingFactor.o BodyGeometry.o
>>> BodyPose.o CameraModel.o CovarianceMatrix.o ImageMeasurements.o
>>> ImageProjection.o RandomGenerator.o TrackingModel.o main.o
>>> TrackingModelPthread.o -L/soft/gcc-4.2/SunOS5.10/lib64
>>> -L/soft/gcc-4.2/SunOS5.10/lib ../FlexImageLib/.libs/libflex.a
>>> -L/home/staff00/mein/gcc-4.2.3/sparc-sun-solaris2.10/libstdc++-v3/src
>>> -L/home/staff00/mein/gcc-4.2.3/sparc-sun-solaris2.10/libstdc++-v3/src/.libs
>>> -L/home/staff00/mein/gcc-4.2.3/host-sparc-sun-solaris2.10/gcc
>>> threads/.libs/libthreads.a /soft/gcc-4.2/SunOS5.10/lib/libstdc++.so
>>> -L/usr/ccs/lib -lm -lgcc_s -lpthread -Wl,--rpath
>>> -Wl,/soft/gcc-4.2/SunOS5.10/lib -Wl,--rpath
>>> -Wl,/soft/gcc-4.2/SunOS5.10/lib
>>> /usr/ccs/bin/ld: illegal option -- rpath
>>> /usr/ccs/bin/ld: illegal option -- rpath
>>> ========================
>>> For "vips" the error is given below,  it seems that it has something to do
>>> with flags "USE_LIBICONV_GNU" and "_LIBICONV_H". And i find that
>>> "USE_LIBICONV_GNU" is defined in "" but don't know how they are used. Does
>>> anyone know about this?
>>> ========================
>>> /soft/gcc-4.2/SunOS5.10/bin/gcc -DHAVE_CONFIG_H -I.
>>> -I/scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src/glib
>>> -I..
>>> -I/scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src
>>> -fprefetch-loop-arrays -DPARSEC_VERSION=1.0 -Wall -MT gconvert.lo -MD -MP
>>> -MF .deps/gconvert.Tpo -c
>>> /scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src/glib/gconvert.c
>>> -o gconvert.o
>>> /scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src/glib/gconvert.c:48:2:
>>> error: #error GNU libiconv not in use but included iconv.h is from
>>> libiconv
>>> /scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src/glib/gconvert.c:
>>> In function 'g_iconv':
>>> /scratch/cerberus2/guoyang/benchmarks/parsec-1.0/./pkgs/libs/glib/src/glib/gconvert.c:169:
>>> warning: passing argument 2 of 'libiconv' from incompatible pointer type
>>> make[4]: *** [gconvert.lo] Error 1
>>> make[4]: Leaving directory
>>> `/scratch/cerberus2/guoyang/benchmarks/parsec-1.0/pkgs/libs/glib/obj/sun4-solaris.gcc/glib'
>>> ========================
>>> My local environment configuration:
>>> Sun Solaris 10
>>> gcc 4.2
>>> g++ 4.2
>>> Any suggestion is highly appreciated. Also, could you guys tell me your
>>> compiling environment?
>>> p.s. Can anyone delete my former message? Because i messed "bodytrack" up
>>> with "blackscholes" in that email.
>>> Many thanks in advance,
>>> Guoqiang Yang

More information about the parsec-users mailing list