[parsec-users] glib compilation error

Christian Bienia cbienia at CS.Princeton.EDU
Mon Mar 31 22:34:14 EDT 2008


Hello Mahin,

It seems that vips is having compatibility issues on your platform. John would 
probably be very interested to hear more about that.

PATH_MAX is supposed to be a constant which encodes the maximum length of a 
fully qualified file name on the system. It could be that you have to #define 
something before it gets included. If you can't figure out where it is 
defined, you can simply use a very large constant as a hotfix (1024 should be 
large enough).

PARSEC itself does not come with a libtool. You probably mean the one that 
vips builds for itself. Unfortunately I'm not sure what the error message 
means or how to disable it. The tool is rebuilt every time you execute 
cleanall because PARSEC always starts building from scratch using a clean 
copy of the sources. You can "cheat" if you want by running configure inside 
the source directory the way PARSEC does. If you then remove the configure 
script, PARSEC will only find the Makefiles and use those.

- Chris


On Monday 31 March 2008 07:29 pm, Mahin Mahmoodi wrote:
> Chris,
>
> I appreciate your suggestion.  I commented out the references to glib in
> parsec.conf.  The build now uses the precompiled version of glib.
>
> Now the compilation fails finding the definition for 'PATH_MAX' in
> 'pkgs/apps/vips/src/libsrc/iofuncs/package.c'.
>
> It seems that PATH_MAX is defined outside the parsec in limits.h.  But
> there are several limits.h files and I am not finding the right path to
> PATH_MAX. I appreciate your suggestion for resolving this error.
>
> The second issue with the build is that parsec is creating the libtool, but
> the libtool built by parsec fails indicating that "not configured to build
> any kind of library."  I worked around this error by removing the parsec
> build and using the prebuilt libtool.  But this seems to be a temporary
> solution because parsec recreate libtool as soon as I execute the cleanall
> command.  Is there a way for disabling the libtool build by parsec?
>
>
> I appreciate your suggestion.  Errors are posted below.
>
> Mahin
>
>
> parsec-1.0/./pkgs/apps/vips/src/libsrc/iofuncs/package.c(536): error:
> identifier "PATH_MAX" is undefined
>           char dir_name[PATH_MAX];
>                         ^
> compilation aborted for
> parsec-1.0/./pkgs/apps/vips/src/libsrc/iofuncs/package.c (code 2)
> make[4]: *** [package.lo] Error 1
> make[4]: Leaving directory
> `parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc/libsrc/iofuncs'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc/libsrc/iofuncs'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory
> `parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc/libsrc'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc'
> make: *** [all] Error 2
> [PARSEC] Error: 'env CXXFLAGS=-gcc-name=/usr/bin/gcc
> -I/usr/include/c++/4.1.2 -O3 -funroll-loops -prefetch -fpermissive
> -fno-exceptions -DPARSEC_VERSION=1.0 -fexceptions
> PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/li
>b
> /pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib/pkgconfig:/opt/gnome/lib/pkgc
>o
> nfig:/opt/gnome/lib/pkgconfig:/opt/gnome/share/pkgconfig:/usr/users/1/mahmo
>o di/parsec-1.0/./pkgs/libs/libxml2/inst/ia64-linux.icc/lib/pkgconfig make'
> failed.
>
>
>
> -----Original Message-----
> From: parsec-users-bounces at lists.cs.princeton.edu
> [mailto:parsec-users-bounces at lists.cs.princeton.edu] On Behalf Of Christian
> Bienia
> Sent: Thursday, March 27, 2008 2:26 PM
> To: PARSEC Users
> Subject: Re: [parsec-users] glib compilation error
>
> Hello Mahin,
>
> I remember I had trouble compiling glib on Itanium with icc. I worked
> around
>
> that by using the precompiled version that came with my system instead of
> the
> version that comes with PARSEC. If you want to do the same you have to edit
> the dependencies of the packages in file parsec.conf so glib is no longer
> listed. PARSEC will then simply skip the package. Otherwise it's probably
> best to send your question to the glib mailing list.
>
> - Chris
>
> On Wednesday 26 March 2008 10:22 pm, Mahin Mahmoodi wrote:
> > Hi,
> >
> > Icc compiler generates the following undefined references.  Any idea
> > where the following symbols are defined?
> >
> > Thanks,
> > Mahin
> >
> > .................
> > /parsec-1.0/./pkgs/libs/glib/src/gobject/glib-genmarshal.c(856): remark
> > #181: argument is incompatible with corresponding format string
> > conversion g_fprintf (bout, "%u.%u.%u", GLIB_MAJOR_VERSION,
> > GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
> >
> > /bin/sh ../libtool --mode=link /opt/intel/cc/10.1.008/bin/icc
> > -gcc-name=/usr/bin/gcc -I/usr/include/c++/4.1.2 -O3 -funroll-loops
> > -prefetch -DPARSEC_VERSION=1.0 -Wall  -L/opt/intel/cc/10.1.008/lib64
> > -L/opt/intel/cc/10.1.008/lib -o glib-genmarshal  glib-genmarshal.o
> > ../glib/libglib-2.0.la
> > mkdir .libs
> > /opt/intel/cc/10.1.008/bin/icc -gcc-name=/usr/bin/gcc
> > -I/usr/include/c++/4.1.2 -O3 -funroll-loops -prefetch
> > -DPARSEC_VERSION=1.0 -Wall -o glib-genmarshal glib-genmarshal.o 
> > -L/opt/intel/cc/10.1.008/lib64 -L/opt/intel/cc/10.1.008/lib
> > ../glib/.libs/libglib-2.0.a
> > ../glib/.libs/libglib-2.0.a(gatomic.o): In function
> > `g_atomic_pointer_compare_and_exchange':
>
> /usr/users/1/mahmoodi/parsec-1.0/./pkgs/libs/glib/src/glib/gatomic.c:(.text
>
> >+ 0x122): undefined reference to `__sync_bool_compare_and_swap'
> > ../glib/.libs/libglib-2.0.a(gatomic.o): In function
> > `g_atomic_int_compare_and_exchange':
>
> /usr/users/1/mahmoodi/parsec-1.0/./pkgs/libs/glib/src/glib/gatomic.c:(.text
>
> >+ 0x1a2): undefined reference to `__sync_bool_compare_and_swap'
> > ../glib/.libs/libglib-2.0.a(gatomic.o): In function `g_atomic_int_add':
>
> /usr/users/1/mahmoodi/parsec-1.0/./pkgs/libs/glib/src/glib/gatomic.c:(.text
>
> >+ 0x222): undefined reference to `__sync_fetch_and_add'
> > ../glib/.libs/libglib-2.0.a(gatomic.o): In function
> > `g_atomic_int_exchange_and_add':
>
> /usr/users/1/mahmoodi/parsec-1.0/./pkgs/libs/glib/src/glib/gatomic.c:(.text
>
> >+ 0x2a2): undefined reference to `__sync_fetch_and_add'
> > make[2]: *** [glib-genmarshal] Error 1
> > make[2]: Leaving directory
> > `/parsec-1.0/pkgs/libs/glib/obj/ia64-linux.icc/gobject'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory
> > `/parsec-1.0/pkgs/libs/glib/obj/ia64-linux.icc' make: *** [all] Error 2
> > [PARSEC] Error: 'env make' failed.
> >
> > _______________________________________________
> > parsec-users mailing list
> > parsec-users at lists.cs.princeton.edu
> > https://lists.cs.princeton.edu/mailman/listinfo/parsec-users
>
> _______________________________________________
> parsec-users mailing list
> parsec-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/parsec-users
>
> _______________________________________________
> parsec-users mailing list
> parsec-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/parsec-users



More information about the parsec-users mailing list