Ubuntu can't see libArray.so using sac2c-follow
|
|
Bugzilla Link |
1138 |
Created on |
Sep 30, 2014 16:20 |
Version |
svn |
OS |
Linux |
Architecture |
PC |
Extended Description
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[3]: 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?