> 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. -- Igor Peshansky (note the spelling change!) IBM T.J. Watson Research Center X10: Parallel Productivity and Performance (http://x10-lang.org/) XJ: No More Pain for XML's Gain (http://www.research.ibm.com/xj/) "I hear and I forget. I see and I remember. I do and I understand" -- Xun Zi ------------------------------------------------------------------------------ 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