Jump to content
ManInTheMirror

SystemC 2.3 installation problems on ubuntu

Recommended Posts

Hi all,

I am having some problems proceeding with systemC 2.3.0 installation on ubuntu.

The problem arises at the point of executing the 'make' command

make[3]: Entering directory `/home/beteck/systemc-2.3/objdir/src/sysc/kernel'

/bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DSC_INCLUDE_FX -I. -I../../../../src/sysc/kernel -I../../../../src -fpermissive -Wall -m32 -O3 -pthread -c -o sc_attribute.lo ../../../../src/sysc/kernel/sc_attribute.cpp

libtool: compile: Failed to create `.libs'

make[3]: *** [sc_attribute.lo] Error 1

Can anyone help with that?

Best regards

Share this post


Link to post
Share on other sites

In general, a failing libtool indicates a local problem with your environment. Please check for free space, directory permission, etc. You use a filesystem with sipport for symbolic links, right? (i.e. not NTFS, FAT32)? Do you try to cross-compile?

That said, can you please post the output of the call (incl. the parameters given to) the 'configure' script? You somehow added -fpermissive to the compiler flags, which is a bad, if not very bad idea.

/Philipp

Share this post


Link to post
Share on other sites

Thanks Philip.

sudo ../configure --prefix=/usr/local/systemc-2.3 CPPFLAGS=-fpermissive

sudo ../configure CPPFLAGS=-fpermissive --prefix=/usr/local/systemc-2.3

I have tried those two calls at different times before the 'make'

I have also called the ../configure --prefix=/usr/local/systemc-2.3 i.e without the CPPFLAGS= -fpermissive

When CPPFLAGS is used, output is:

beteck@ubuntu:~/systemc-2.3/objdir$ make

Making all in src

make[1]: Entering directory `/home/beteck/systemc-2.3/objdir/src'

Making all in sysc

make[2]: Entering directory `/home/beteck/systemc-2.3/objdir/src/sysc'

Making all in kernel

make[3]: Entering directory `/home/beteck/systemc-2.3/objdir/src/sysc/kernel'

/bin/bash ../../../libtool --tag=CXX --mode=compile g++ -DSC_INCLUDE_FX -I. -I../../../../src/sysc/kernel -I../../../../src -fpermissive -Wall -m32 -O3 -pthread -c -o sc_attribute.lo ../../../../src/sysc/kernel/sc_attribute.cpp

libtool: compile: Failed to create `.libs'

make[3]: *** [sc_attribute.lo] Error 1

make[3]: Leaving directory `/home/beteck/systemc-2.3/objdir/src/sysc/kernel'

make[2]: *** [all-recursive] Error 1

make[2]: Leaving directory `/home/beteck/systemc-2.3/objdir/src/sysc'

make[1]: *** [all-recursive] Error 1

make[1]: Leaving directory `/home/beteck/systemc-2.3/objdir/src'

make: *** [all-recursive] Error 1

===========================

Without the CPPFLAGS the configure cmd is denied permission to execute - output is

beteck@ubuntu:~/systemc-2.3/objdir$ ../configure --prefix=/usr/local/systemc-2.3

../configure: line 1492: config.log: Permission denied

../configure: line 1502: config.log: Permission denied

To answer your question about the type of file system,I am not quite sure. I am using Ubuntu installed on an HP window machine

The compiler is gnu gcc.

Thanks in advance

Share this post


Link to post
Share on other sites

sudo ../configure --prefix=/usr/local/systemc-2.3 CPPFLAGS=-fpermissive

sudo ../configure CPPFLAGS=-fpermissive --prefix=/usr/local/systemc-2.3

...

beteck@ubuntu:~/systemc-2.3/objdir$ make

...

beteck@ubuntu:~/systemc-2.3/objdir$ ../configure --prefix=/usr/local/systemc-2.3

Ok, I think you have messed up the file permissions in your "objdir" directory by calling "configure" through sudo. (Why?!)

You should start afresh by removing the "objdir" directory first, or try the following from within a "new" build directory.

Call "configure" without the "CPPFLAGS=-fpermissive" (Where did you get that from anyway?), and compile as regular user. Afterwards you can install via sudo:

../configure --prefix=/usr/local/systemc-2.3
make
sudo make install

Greetings from Oldenburg,

Philipp

Share this post


Link to post
Share on other sites

Your are a STAR, Philipp.

Merci mille fois.

To answer the question "Where you got that from anyway". I found it in that all time bin yard called interget through google search - lots of shit on there if one doesnt know how to sifter through.

Anyway,thank you very much

Have a good day

Share this post


Link to post
Share on other sites

Just for the record:

CPPFLAGS

is not meant to pass options to the C or C++ compiler when using

make

, it is used to pass options to the C preprocessor (usually called

cpp

). You should use

CFLAGS

and

CXXFLAGS

to pass options to the C compiler or C++ compiler, respectively. As Philipp mentioned, using

-fpermissive

is not a good idea.

Regards,

Torsten Maehne

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...