[parsec-users] glib compilation error

Christian Bienia cbienia at CS.Princeton.EDU
Tue Apr 1 14:19:02 EDT 2008


Mahin,

This is an issue which makes icc choke on one of the Linux header files.
I'm not sure what icc means by 'incomplete type is not allowed'. Are you
using an old version of Linux or icc? Updating it might solve those
issues.

- Chris


On Tue, 2008-04-01 at 12:57, Mahin Mahmoodi wrote:
> I added the '#define PATH_MAX 1024' to the files package.c and predicate.c
> and seems that the undefined problem with PATH_MAX is resolved. 
> 
> Current incompatibility is in /usr/include/linux/vedeodev2.h file!  I posted
> below the error.  I appreciate any suggestion.
> 
> opt/intel/cc/10.1.008/bin/icc -c99 -DHAVE_CONFIG_H -I. -I../..
> -I/parsec-1.0/./pkgs/apps/vips/src/libsrc/video
> -I/parsec-1.0/./pkgs/apps/vips/src/include -pthread
> -I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include
> -I/usr/include/libxml2 -I/opt/gnome/include/glib-2.0
> -I/opt/gnome/lib/glib-2.0/include -I/usr/include/libpng12
> -gcc-name=/usr/bin/gcc -I/usr/include/c++/4.1.2 -O3 -funroll-loops -prefetch
> -DPARSEC_VERSION=1.0 -MT im_video_v4l1.lo -MD -MP -MF
> .deps/im_video_v4l1.Tpo -c
> /parsec-1.0/./pkgs/apps/vips/src/libsrc/video/im_video_v4l1.c -o
> im_video_v4l1.o
> icc: command line remark #10010: option '-c99' is deprecated and will be
> removed in a future release. See '-help deprecated'
> /usr/include/linux/videodev2.h(502): error: incomplete type is not allowed
>         struct timeval          timestamp;
>                                 ^
> 
> compilation aborted for
> /parsec-1.0/./pkgs/apps/vips/src/libsrc/video/im_video_v4l1.c (code 2)
> make[4]: *** [im_video_v4l1.lo] Error 1
> make[4]: Leaving directory
> `/parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc/libsrc/video'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory
> `/parsec-1.0/pkgs/apps/vips/obj/ia64-linux.icc/libsrc/video'
> 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'
>  
> 
> -----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: Monday, March 31, 2008 10:34 PM
> To: PARSEC Users
> Subject: Re: [parsec-users] glib compilation error
> 
> 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
> 
> _______________________________________________
> 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