Hi Igor, Looks like something is wrong with 64 bit distribution.
$ file lib*.so* libgc.so.1: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped libgc.so.1.0.3: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped libx10rt_pgas_lapi.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped libx10rt_pgas_sockets.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped libx10rt_sockets.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped libx10rt_standalone.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped libx10.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped Why there are 32-bit stuff in a 64 bit distribution? Is that correct? Thanks Richard Gomes M: +44(77)9955-6813 http://tinyurl.com/frgomes twitter: frgomes JQuantLib is a library for Quantitative Finance written in Java. http://www.jquantlib.org/ twitter: jquantlib On 05/11/10 05:15, Igor Peshansky wrote: >> x10c++: /usr/bin/ld: skipping incompatible >> /opt/JavaIDE/x10-2.1.0-linux-x86_64/lib/libgc.a when searching for -lgc >> /usr/bin/ld: cannot find -lgc >> collect2: ld returned 1 exit status >> x10c++: Non-zero return code: 1 >> 2 errors. > > Richard, > > We do build on Linux/x86_64 nightly, with no troubles. > > The binaries distributed for Linux/x86_64 are built in 64-bit mode. > However, some earlier versions of GCC defaulted to 32-bit mode, and > they only recently switched to the 64-bit default. You may be able > to proceed by adding the "-m64" switch to your g++ post-compilation > command, namely > > x10c++ -post 'g++ -m64' \ > ... > > Or simply upgrade to a newer version of GCC. > >> $ file x10-2.1.0_linux_x86_64.tgz >> x10-2.1.0_linux_x86_64.tgz: POSIX tar archive (GNU) > > Oops. Good catch. Thanks for the report. > Igor > > Richard Gomes<rgomes1...@yahoo.co.uk> wrote on 11/05/2010 12:47:51 AM: > >> Hi guys, >> >> By coincidence, I was working on this aspect this afternoon. >> In a nutshell, I'd like to use Emacs in text mode in certain >> circumstances. In this case, I need command line tools. >> >> My message is not directly related to SCons, but it presents some >> similar experiences too. In the end, I describe a difficulty I found and > >> not yet solved. >> >> >> 1. directory layout >> >> . I came from the Java world, specially using Maven, which basically >> means we may have several source folders. At least, we have two folders: > >> one for main source files (many packages) and one for test files (many >> packages too). >> . There are usually folders reserved for "resources" (not code) which >> usually needs to be packaged together to the code. >> . We also usually build stuff in the "target" folder. >> >> This is the directory layout: >> >> src >> main >> x10 >> (main source code here) >> resources >> (lots of files/folders here) >> test >> x10 >> (test code here) >> resources >> (lots of files/folder here) >> target >> (generated binaries here) >> >> >> >> >> 2. In order to build my application, I've done the following: >> >> $ cd target >> >> $ x10c++ \ >> -o test \ >> -MAIN_CLASS=com.jquantlib.math.statistics.StatisticsTests \ >> `find ~/workspace-x10/xql-statistics/src/main/x10 \ >> -type f -name '*.x10' ` \ >> `find ~/workspace-x10/xql-statistics/src/test/x10 \ >> -type f -name '*.x10' ` \ >> >> >> 3. Running the application >> >> $ ./test >> 43 >> >> Great! It builds fine and the application executes :) >> >> >> >> >> 4. Difficulties >> >> >> I said it works. >> Well... it works only on my laptop, which is a i*86 thing >> >> $ uname >> Linux acer4150 2.6.35-22-generic #35-Ubuntu SMP Sat Oct 16 20:36:48 UTC >> 2010 i686 GNU/Linux >> >> >> It does not run on my desktop, which is a x86_64 thing: >> >> $ uname >> Linux terra 2.6.32-5-amd64 #1 SMP Fri Oct 15 00:56:30 UTC 2010 x86_64 >> GNU/Linux >> >> >> The error message is: >> >> >> x10c++: /usr/bin/ld: skipping incompatible >> /opt/JavaIDE/x10-2.1.0-linux-x86_64/lib/libgc.a when searching for -lgc >> /usr/bin/ld: cannot find -lgc >> collect2: ld returned 1 exit status >> x10c++: Non-zero return code: 1 >> 2 errors. >> >> >> >> Looking at the build.xml script (intended to build the X10 >> distribution), I saw that there's no way to make difference between 32 >> bits and 64 bits on Linux, like this: >> >> >> UNAME=`uname -smp | sed -e 's/ /,/g'` >> >> FILE_SEP='/'; if [[ "$UNAME" = CYGWIN* ]]; then FILE_SEP='\\'; fi >> >> PATH_SEP=':'; if [[ "$UNAME" = CYGWIN* ]]; then PATH_SEP=';'; fi >> >> [ -n "$X10_PLATFORM" ] || \ >> >> case "$UNAME" in >> >> CYGWIN*,i*86,*) export X10_PLATFORM='win32_x86';; >> >> Linux,*86*,*) export X10_PLATFORM='linux_x86';; >> >> Linux,ppc*,*) export X10_PLATFORM='linux_ppc';; >> >> AIX,*,powerpc) export X10_PLATFORM='aix_ppc';; >> >> Darwin,*,i*86) export X10_PLATFORM='macosx_x86';; >> >> Darwin,*,powerpc) export X10_PLATFORM='macosx_ppc';; >> >> SunOS,*,sparc) export X10_PLATFORM='sunos_sparc';; >> >> FreeBSD,*64*,*) export X10_PLATFORM='freebsd_amd64';; >> >> *) echo "Unrecognized platform: '$UNAME'"; exit 1;; >> >> esac >> >> # NOTE: the above assumes that Cygwin==win32 (probably valid) >> >> >> >> Observe that "Linux,*86*,*" matches both Linux,i686 and Linux,x86_64 :( >> >> >> I've tried to build X10 from sources and the error persists. >> Just in case, I've downloaded again >> >> x10-2.1.0_linux_x86_64.tgz >> >> ... and tried x10c++ again from it but it fails. >> >> >> In fact, there's a possibility that my desktop is screwed up. >> I admit I need to reinstall the entire box from scratch. >> >> So, I'd like to hear from you guys if you are building on Linux x86_64 >> as expected, without troubles. >> >> >> >> >> Just a final note: >> >> x10-2.1.0_linux_x86_64.tgz suggests that it is a tar.gz file. >> In fact, it is not! >> >> $ file x10-2.1.0_linux_x86_64.tgz >> x10-2.1.0_linux_x86_64.tgz: POSIX tar archive (GNU) >> >> >> >> Thanks a lot :) >> >> >> Richard Gomes >> M: +44(77)9955-6813 >> http://tinyurl.com/frgomes >> twitter: frgomes >> >> JQuantLib is a library for Quantitative Finance written in Java. >> http://www.jquantlib.org/ >> twitter: jquantlib >> >> On 04/11/10 23:49, Josh Milthorpe wrote: >>> Hi Russel, >>> >>> x10c++ does handle multiple source X10 files, including checking > whether >>> the file has changed since the last compilation. It will search for > any >>> imported X10 classes in 'sourcepath'. I typically compile to a > separate >>> target directory, so that my X10 source dirs don't get filled up with >>> *.cc and *.h files. For example: >>> >>> x10c++ -sourcepath .:${other-src-dir} -d ${target-dir} MyClass.x10 >>> >>> By default this is a dynamic linking process so you will of course > need >>> the X10 libraries in your library path when running the executable. >>> >>> We use ant for all our builds. Feel free to browse the build.xml > files >>> for our software, HG repo linked to from >>> http://cs.anu.edu.au/~Josh.Milthorpe/anuchem.html >>> There was talk a while back of creating specific x10c/x10c++ tasks for >>> ant, but no movement so far. > http://jira.codehaus.org/browse/XTENLANG-356 >>> >>> I haven't tried SCons with X10 - sounds like you just volunteered :-) >>> >>> Cheers, >>> >>> Josh >>> >>> Russel Winder wrote: >>>> I am not sure which tools for compilation of X10 programs people are >>>> using. Is anyone using SCons? Would there be any interest in > creating >>>> a SCons tool for X10? >>>> >>>> Compiling X10 via the Java route clearly leads to having many classes >>>> each in a separate file. The compilation strategy is clear. >>>> >>>> When compiling via the C++ route, there seems to be an indication > that >>>> all the X10 code is in a single file, though I am sure this is not > what >>>> people are actually doing. I suspect this is a RTFM but can someone >>>> point me at information on the canonical multifile process for > compiling >>>> X10 via the C++ route. >>>> >>>> Thanks. ------------------------------------------------------------------------------ The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book "Blueprint to a Billion" shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev _______________________________________________ X10-users mailing list X10-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/x10-users