Ubuntu can't see libArray.so using sac2c-follow
|Created on||Sep 30, 2014 16:20|
I just recompiled sac2c and the stdlib from scratch, under sac2c-follow on Ubuntu 14.04 LTS. At this point, I am unable to compile anything that uses the standard library: ls /usr/local/libexec/sac2c/18614 comslc ctest libsac2c.so sac2c-p saccc tree csima libsac2c.d.so sac2c sac2tex sacpolylibisnullintersect csimt libsac2c.p.so sac2c-d sac4c sacprapolyhedral sac@rattler:~/sac/testsuite/optimizations/awlf$ sac2c time2code.sac MT_MODE = 0 in target, forcing -numthreads to 1. ** 1: Loading SAC program ... **** Locating source code ... Reading from file "./time2code.sac" ... **** Running C preprocessor ... **** Parsing input file ... abort: Cannot find library `tree/host/libArrayTree.so' for module `Array' compilation failed while Loading SAC program. sac@rattler:~/sac/testsuite/optimizations/awlf$ ls /usr/local/libexec/sac2c/18614/tree/host/ libsacpreludeTree.so I see that there is nothing under tree/host except the sacprelude, so the abort makes sense. I looked for some help on the sac-home web site, here: http://www.sac-home.org/index.php?p=.%2F55_Download%2F41_Installation%2F41_Trouble_Shooting cat $SAC2CBASE/sac2crc # Circumvent ubuntu linker problem. target seq: CFLAGS += " --Wl,--no-as-needed " There is an empty .sac2crc in /home/sac. I am guessing something is wrong with the install of the generated stdlib. sudo make install for the stdlib shows, in part, this: Making install for target mt_pth ** Note: modules Dislin DislinBars DislinQuick DislinCanvas DislinPage DislinPlot3d DislinSystem disabled due to configuration. make: Entering directory `/home/sac/sac/BASE/stdlib' /usr/bin/install -c -d /usr/local/libexec/sac2c/18604/tree/host /usr/bin/install -c -d /usr/local/lib/sac2c/18604/modlibs/host/mt-pth sac2c-p -V sac2c v1.00-beta (Haggis And Apple) product rev 18614 (Mon Sep 29 16:03:13 EDT 2014 by sac) sac@rattler:~/sac/testsuite/optimizations/awlf$ sac2c-d -V sac2c v1.00-beta (Haggis And Apple) developer rev 18614 Eventually, I did a .configure in the stdlib before building and installing the stdlib. That resolved the above problem, but things then die in the linker, as noted in an earlier bug report. This strikes me as something that is going to break a lot of attempts to work with sac2c. Perhaps the makefile can be fancied up so that it detects when sac2c has been changed, and force a rerun of configure, or else abort with a suitable error message?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information