Compilation error in libpci path inclusion.

John Soni Jose john.k at gracelabs.com
Tue Feb 14 10:16:32 UTC 2017


Hi All,

Trying to execute PCI shell terminal task 
"cpukit/libmisc/shell/main_pci" on an x86 machine.

Made below changes for including LIBPCI. The changes were made in 
"cpukit/configure.ac" and "cpukit/libmisc/shell/shellconfig.c"

diff --git a/cpukit/configure.ac b/cpukit/configure.ac
index 3d6888c..095866e 100644
--- a/cpukit/configure.ac
+++ b/cpukit/configure.ac
@@ -385,7 +385,7 @@ AC_MSG_RESULT([$HAVE_SHA])
  # Filter libpci to only build for architectures that have support for it
  AC_MSG_CHECKING([whether CPU supports libpci])
  case $RTEMS_CPU in
-  sparc)
+  sparc | i386)
     HAVE_LIBPCI=yes ;;
    *)
     HAVE_LIBPCI=no ;;

diff --git a/cpukit/libmisc/shell/shellconfig.c 
b/cpukit/libmisc/shell/shellconfig.c
index 11a4ff0..a676550 100644
--- a/cpukit/libmisc/shell/shellconfig.c
+++ b/cpukit/libmisc/shell/shellconfig.c
@@ -15,5 +15,6 @@

  #define CONFIGURE_SHELL_COMMANDS_INIT
  #define CONFIGURE_SHELL_COMMANDS_ALL
+#define RTEMS_PCI_CONFIG_LIB

diff --git a/cpukit/libpci/Makefile.am b/cpukit/libpci/Makefile.am
index cf336ed..a0dff03 100644
--- a/cpukit/libpci/Makefile.am
+++ b/cpukit/libpci/Makefile.am
@@ -41,7 +41,7 @@ libpci_a_SOURCES += pci_print.c
  # Driver manager PCI bus
  libpci_a_SOURCES += pci_bus.c
  include_drvmgrdir = $(includedir)/drvmgr
-include_drvmgr_HEADERS = pci_bus.h
+include_drvmgr_HEADERS = pci_bus.h drvmgr.h

After the above changes ran bootstrap command to regenerate 
preinstall.am files.

Hitting this compilation error. The same error is happening for both x86 
and leon2

"gmake[6]: *** No rule to make target `drvmgr.h', needed by 
`../../cpukit/../../../pc386/lib/include/drvmgr/drvmgr.h'.  Stop.
gmake[6]: Leaving directory 
`/opt/RTEMS/sandbox/i386-rtems4.12/i386-rtems4.12/c/pc386/cpukit/libpci'"

"gmake[6]: Entering directory 
`/opt/RTEMS/sandbox/leon-rtems4.12/sparc-rtems4.12/c/leon2/cpukit/libpci'
gmake[6]: *** No rule to make target `drvmgr.h', needed by 
`../../cpukit/../../../leon2/lib/include/drvmgr/drvmgr.h'.  Stop."


Do we need to enable any other flags for successful compilation of libpci ?

Regards

John





More information about the devel mailing list