Jump to content

SystemC 2.3 installation problems on ubuntu


ManInTheMirror

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

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
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...