Bugzilla – Bug 3253
RLS build fails on Mac OS X 10.4 Tiger
Last modified: 2008-03-12 11:27:42
You need to log in before you can comment on or make changes to this bug.
Hi, I am trying to build GT4 on Mac oS X 10.4 using gcc 4 and java 1.5. Apache Ant version 1.6.2 and GNU tools have been installed using fink. The build fails as follows. Any idea or workaround about? I have already tried to compile using the old gcc 3.3, and the build fails exactly as for gcc 4. Thanks, Massimo ... cd org/globus/replica/rls; make /Library/Java/Home/bin/javac -classpath ../../../.. RLSAttribute.java /Library/Java/Home/bin/javac -classpath ../../../.. RLSAttributeObject.java /Library/Java/Home/bin/javac -classpath ../../../.. RLSClient.java /Library/Java/Home/bin/javac -classpath ../../../.. RLSLRCInfo.java /Library/Java/Home/bin/javac -classpath ../../../.. RLSString2Bulk.java /Library/Java/Home/bin/jar cf rls.jar org/globus/replica/rls/*.class /Library/Java/Home/bin/javah -o RLSClient.h -classpath rls.jar org.globus.replica.rls.RLSClient /bin/sh /usr/local/globus4/sbin/libtool-gcc32dbg --mode=compile /usr/bin/gcc - DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING= \"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"globus_rls_client\" -DVERSION=\"4.0\" -I. -I/Users/ globus/gt4.0.0-all-source-installer/source-trees/replica/rls/client/java -I/usr/local/globus4/include/ gcc32dbg -I/Library/Java/Home/include -I/Library/Java/Home/include/ -I../library -I/usr/local/ globus4/include -I/usr/local/globus4/include/gcc32dbg -I/sw/include -no-cpp-precomp -I/sw/ include -g -fno-common -I/sw/include -DBIND_8_COMPAT -Wall -c -o jni.lo jni.c mkdir .libs /usr/bin/gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" - DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"globus_rls_client\" -DVERSION= \"4.0\" -I. -I/Users/globus/gt4.0.0-all-source-installer/source-trees/replica/rls/client/java -I/usr/ local/globus4/include/gcc32dbg -I/Library/Java/Home/include -I/Library/Java/Home/include/ -I../ library -I/usr/local/globus4/include -I/usr/local/globus4/include/gcc32dbg -I/sw/include -no-cpp- precomp -I/sw/include -g -fno-common -I/sw/include -DBIND_8_COMPAT -Wall -c jni.c -fno- common -DPIC -o .libs/jni.o jni.c:57: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_admin' RLSClient.h:86: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_admin' was here jni.c:98: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_connect' RLSClient.h:94: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_connect' was here jni.c:116: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_close' RLSClient.h:102: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_close' was here jni.c:130: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_geterrormessage' RLSClient.h:126: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_geterrormessage' was here jni.c:140: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_gettimeout' RLSClient.h:134: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_gettimeout' was here jni.c:148: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_settimeout' RLSClient.h:142: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_settimeout' was here jni.c:156: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattradd' RLSClient.h:150: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattradd' was here jni.c:175: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattraddbulk' RLSClient.h:158: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattraddbulk' was here jni.c:196: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrremovebulk' RLSClient.h:206: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrremovebulk' was here jni.c:217: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrcreate' RLSClient.h:166: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrcreate' was here jni.c:234: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrdelete' RLSClient.h:174: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrdelete' was here jni.c:251: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrget' RLSClient.h:182: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrget' was here jni.c:277: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrmodify' RLSClient.h:190: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrmodify' was here jni.c:296: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrremove' RLSClient.h:198: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrremove' was here jni.c:316: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrsearch' RLSClient.h:214: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrsearch' was here jni.c:374: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrvalueget' RLSClient.h:222: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrvalueget' was here jni.c:403: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcattrvaluegetbulk' RLSClient.h:230: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcattrvaluegetbulk' was here jni.c:431: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcadd' RLSClient.h:238: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcadd' was here jni.c:451: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcaddbulk' RLSClient.h:246: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcaddbulk' was here jni.c:471: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcclear' RLSClient.h:254: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcclear' was here jni.c:485: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrccreate' RLSClient.h:262: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrccreate' was here jni.c:505: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrccreatebulk' RLSClient.h:270: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrccreatebulk' was here jni.c:526: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcdelete' RLSClient.h:278: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcdelete' was here jni.c:546: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcdeletebulk' RLSClient.h:286: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcdeletebulk' was here jni.c:567: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcexists' RLSClient.h:294: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcexists' was here jni.c:610: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetlfn' RLSClient.h:310: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetlfn' was here jni.c:642: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetlfnbulk' RLSClient.h:318: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetlfnbulk' was here jni.c:664: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetlfnwc' RLSClient.h:326: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetlfnwc' was here jni.c:698: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetpfn' RLSClient.h:334: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetpfn' was here jni.c:730: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetpfnbulk' RLSClient.h:342: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetpfnbulk' was here jni.c:752: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcgetpfnwc' RLSClient.h:350: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcgetpfnwc' was here jni.c:786: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcmappingexists' RLSClient.h:358: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcmappingexists' was here jni.c:812: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrenamelfn' RLSClient.h:366: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrenamelfn' was here jni.c:832: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrenamelfnbulk' RLSClient.h:374: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrenamelfnbulk' was here jni.c:853: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrenamepfn' RLSClient.h:382: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrenamepfn' was here jni.c:873: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrenamepfnbulk' RLSClient.h:390: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrenamepfnbulk' was here jni.c:894: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrliadd' RLSClient.h:398: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrliadd' was here jni.c:918: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrlidelete' RLSClient.h:406: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrlidelete' was here jni.c:942: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrligetpart' RLSClient.h:414: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrligetpart' was here jni.c:974: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrliinfo' RLSClient.h:422: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrliinfo' was here jni.c:999: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_lrcrlilist' RLSClient.h:430: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_lrcrlilist' was here jni.c:1048: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_makestrlist' RLSClient.h:438: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_makestrlist' was here jni.c:1063: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_makestr2list' RLSClient.h:446: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_makestr2list' was here jni.c:1085: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_makeaolist' RLSClient.h:454: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_makeaolist' was here jni.c:1104: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rligetlrc' RLSClient.h:462: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rligetlrc' was here jni.c:1136: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rligetlrcbulk' RLSClient.h:470: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rligetlrcbulk' was here jni.c:1158: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rligetlrcwc' RLSClient.h:478: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rligetlrcwc' was here jni.c:1192: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rliexists' RLSClient.h:486: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rliexists' was here jni.c:1235: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rlisenderlist' RLSClient.h:518: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rlisenderlist' was here jni.c:1283: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rlimappingexists' RLSClient.h:502: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rlimappingexists' was here jni.c:1309: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_rlirlilist' RLSClient.h:510: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_rlirlilist' was here jni.c:1358: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_getconfiguration' RLSClient.h:526: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_getconfiguration' was here jni.c:1384: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_setconfiguration' RLSClient.h:534: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_setconfiguration' was here jni.c:1405: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_stats' RLSClient.h:542: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_stats' was here jni.c:1439: error: conflicting types for 'Java_org_globus_replica_rls_RLSClient_system' RLSClient.h:550: error: previous declaration of 'Java_org_globus_replica_rls_RLSClient_system' was here make[4]: *** [jni.lo] Error 1 make[3]: *** [filelist-recursive] Error 1 make[2]: *** [all_filelists] Error 1 make[1]: *** [all-recursive] Error 1 ERROR: Build has failed make: *** [globus_rls_client] Error 2
The workaround I know of is to not build RLS by specifying --disable-rls. I'm reassigning this to the RLS team to track the build bug itself.
I'm accepting, but also dropping severity to major. Reason being that we haven't yet attempted to support mac osx -- for RLS that is. And --disable-rls is the right answer to proceed with the rest of GT 4 build.
Subject: Re: GT4 build fails on Mac OS X 10.4 Tiger On May 17, 2005, at 2:07 AM, bugzilla-daemon@mcs.anl.gov wrote: > http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=3253 > > schuler@isi.edu changed: > > What |Removed |Added > ---------------------------------------------------------------------- > ------ > CC| |annc@isi.edu > Severity|blocker |major > Status|NEW |ASSIGNED > > > > ------- Additional Comments From schuler@isi.edu 2005-05-16 19:07 > ------- > I'm accepting, but also dropping severity to major. Reason being > that we > haven't yet attempted to support mac osx -- for RLS that is. And -- > disable-rls > is the right answer to proceed with the rest of GT 4 build. > Looking on the Globus GT4 download page, it looks like you actually support Mac OS X, at least reading the release notes and looking at the download page that explicitly reads: Source Download Builds on Apple OS X, RedHat, Fedora Core, Debian, SuSE, HP-UX, AIX, FreeBSD, and Solaris And, instead, the build fails... Regards, Massimo -- ************************************************************************ ************* Massimo Cafaro, Ph.D. Center for Advanced Computational Technologies Assistant Professor Voice +39 0832 297371 University of Lecce, Italy Fax +39 0832 297279 Faculty of Engineering E-mail massimo.cafaro@unile.it Via per Monteroni cafaro@cacr.caltech.edu 73100 Lecce, Italy Web http://sara.unile.it/~cafaro ************************************************************************ *************
OK. First of all, I believe you are right -- that we haven't clearly stated what platforms RLS is expected to work on. Sorry, you had to run into problems first instead of documentation! Now, looking more closely at the problem the error sounds more like something specific to java than Mac -- perhaps. The error "conflicting types" occurs for function signatures generated by javah which produces the RLSClient.h header. Since the header gets properly generated with jdk 1.4.2, this issue could be related to the use of java 1.5. One quick test would be to try out the build with jdk 1.4.x rather than java 1.5. I suspect there is something we may need to change in the RLS's jni.c file.
Subject: Re: GT4 build fails on Mac OS X 10.4 Tiger -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Jun 16, 2005, at 1:25 AM, bugzilla-daemon@mcs.anl.gov wrote: > http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=3253 > > > > > > ------- Additional Comments From schuler@isi.edu 2005-06-15 18:25 > ------- > OK. First of all, I believe you are right -- that we haven't > clearly stated > what platforms RLS is expected to work on. Sorry, you had to run > into problems > first instead of documentation! > > Now, looking more closely at the problem the error sounds more like > something > specific to java than Mac -- perhaps. The error "conflicting types" > occurs for > function signatures generated by javah which produces the > RLSClient.h header. > Since the header gets properly generated with jdk 1.4.2, this issue > could be > related to the use of java 1.5. > > One quick test would be to try out the build with jdk 1.4.x rather > than java > 1.5. I suspect there is something we may need to change in the > RLS's jni.c > file. Hi, I did this too. Building with jdk 1.4.2 led to the same exact result, so it looks like jdk version is not a critical factor here. Cheers, Massimo - -- ************************************************************************ ************* Massimo Cafaro, Ph.D. Center for Advanced Computational Technologies Assistant Professor Voice +39 0832 297371 University of Lecce, Italy Fax +39 0832 297279 Faculty of Engineering E-mail massimo.cafaro@unile.it Via per Monteroni cafaro@cacr.caltech.edu 73100 Lecce, Italy Web http://sara.unile.it/~cafaro ************************************************************************ ************* -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iD8DBQFCsV9SAfiHN/HOWeURAgSjAJ9TLH/SSNWXTZE4phmpVn6LXA2twgCgmqFO fcjMpr09cVgo+3Dx1IDTahk= =C3PF -----END PGP SIGNATURE-----
OK. Thanks for the feedback. I will need to try to duplicate this.
I have also run into this issue. (Nov. 2005, five months after original report.) Looks to me like there are two rls folders in the source tree each with a different RLSClient.h/jni.c... (I'm not logged on to the machine right now and can't remember their exact names, but I'll return later with them...) Perhaps it is simply a matter of using the wrong one. One was using int and one was using jint - perhaps they are different in this configuration?
The file paths I promised in my last comment... The two copies of jni.c on my Mac build are located at: gt4.0.1-all-source-installer/source-trees-thr/replica/rls/client/java and gt4.0.1-all-source-installer/source-trees/replica/rls/client/java They both include RLSClient.h, but... ...the only copy of RLSClient.h that I could find is at: gt4.0.1-all-source-installer/source-trees-thr/replica/rls/client/java I had originally configured with --with-flavor=gcc32dbg, a prefix and --with-iodbc=/usr/local When I re-configured with --disable-rls, both make and make install completed successfully. Hope this helps you track it down.
on jdk 1.5 on my mac, jint can in indeed be defined either as a long or an int - this is conditionally typedef'd in /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers/jni_md.h on my machine. The warnings can be made to go away by changing all of the occurences of int to jint in the JNI methods referenced in jni.c In addition, I needed to set: export CPATH=/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Headers because that is where jni.h and jni_md.h appear to be installed on my host. With the above two actions, the 'globus_rls_client' package compiles without error here Note, I say compiled - I haven't actually tried to use it yet. I'm at least wary of what is going on with casts of jint/int to other types -- a change from int to jint may be changing what happens here.
Moving onto globus_rls_server, this refers to temio.h which doesn't exist. termios.h does (extra s). Substituting that makes globus_rls_server compile (but again, I haven't tried to use it)
Created an attachment (id=1018) [details] fix build errors in rls client
Created an attachment (id=1019) [details] fix build errors in rls client
Created an attachment (id=1020) [details] fix build errors in rls server
I have subsequently given RLS a tiny test and it appears to be able to create an LFN and answer a query about it.
Much thanks to Ben Clifford for submitting patches, to Keith Jackson for confirming patches (by recreating them independently), and Christopher Jordan for reconfirming. Fix committed to globus_4_0_branch.
Fix committed to trunk