Aller au contenu

Erreur De Compilation Pkg-Config ?


Messages recommandés

Bonjour à vous,

J'essaye depuis plusieurs jours d'installer sur mon NAS (DS412+) une version plus récente de Ruby que celle fournie via IPKG.

J'ai donc suivi ce tuto : http://forum.synology.com/enu/viewtopic.php?f=27&t=60204 afin d'arriver à mes fins.

Les processeurs du DS1511+ et du DS412+ étant tout deux des processeurs x86 je pensais réussir rapidement à procéder à la compilation de Ruby sur ce dernier en suivant le tuto.

Erreur de ma part ! Je bloque sur des soucis de compilations d'une version plus récente de pkg-config (j'ai essayé avec la 0.27 et la 0.28).

Lorsque je teste l'exécutable compilé j'ai droit à un :

> /usr/local/bin/pkg-config --version
Segmentation fault (core dumped)

Etant très débutant dans la compilation de mes sources sur mon nas, je patauge un peu à en trouver la cause.

Voici les commandes que j'ai exécutées :

Préparation des dépendances

> ipkg install optware-devel gcc glib openssl openssl-dev
Package optware-devel (6.8-10) installed in root is up to date.
Package gcc (4.2.1-5) installed in root is up to date.
Package glib (2.20.4-1) installed in root is up to date.
Package openssl (0.9.8v-2) installed in root is up to date.
Package openssl-dev (0.9.8v-2) installed in root is up to date.
Nothing to be done
Successfully terminated.
Vérification de l'environnement
> env
MAIL=/var/mail/root
USER=root
OLDPWD=/root/sources
HOME=/root
SSH_TTY=/dev/pts/0
PAGER=more
LOGNAME=root
TERM=xterm-256color
PATH=/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
LANG=en_US.utf8
SHELL=/bin/ash
LC_ALL=en_US.utf8
PWD=/root/sources/pkg-config-0.28
PGDATA=/var/services/pgsql
TZ=CET-1CEST,M3.5.0,M10.5.0/3

Lancement du configure

> env LDFLAGS="-L/opt/lib" ./configure --prefix=/usr/local
checking for a BSD-compatible install... /opt/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /opt/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /opt/bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /opt/i686-linux-gnu/bin/ld
checking if the linker (/opt/i686-linux-gnu/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /opt/bin/nm -B
checking the name lister (/opt/bin/nm - interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 32768
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /opt/i686-linux-gnu/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %sn
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /opt/bin/nm -B output from gcc object... ok
checking for sysroot... no
./configure: line 6188: /usr/bin/file: No such file or directory
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/opt/i686-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether make supports nested variables... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for ln... ln
checking dirent.h usability... yes
checking dirent.h presence... yes
checking for dirent.h... yes
checking for unistd.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking for bash... /opt/bin/bash
checking for default search path for .pc files... ${libdir}/pkgconfig:${datadir}/pkgconfig
checking for system include path to avoid -I flags... /usr/include
checking for system library path to avoid -L flags... /usr/lib:/lib
configure: creating ./config.lt
config.lt: creating libtool
checking whether to list both direct and indirect dependencies... no
checking for Win32... no
checking if internal glib should be used... no
checking for pkg-config... /opt/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for GLIB... yes
checking if host- prefixed tool should be installed... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating check/Makefile
config.status: creating check/config.sh
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands

Le "x86_64-unknown-linux-gnu" m'interpelle mais si tout se build sans explosions nucléaires je ne sais pas si c'est grave ...

Continuons avec le make

> make install
Making install in .
make[1]: Entering directory `/root/sources/pkg-config-0.28'
  CC       pkg.o
  CC       parse.o
  CC       main.o
  CCLD     pkg-config
make[2]: Entering directory `/root/sources/pkg-config-0.28'
 /opt/bin/mkdir -p '/usr/local/bin'
  /opt/bin/bash ./libtool   --mode=install /opt/bin/install -c pkg-config '/usr/local/bin'
libtool: install: /opt/bin/install -c pkg-config /usr/local/bin/pkg-config
make  install-exec-hook
make[3]: Entering directory `/root/sources/pkg-config-0.28'
cd /usr/local/bin && ln pkg-config x86_64-unknown-linux-gnu-pkg-config
make[3]: Leaving directory `/root/sources/pkg-config-0.28'
 /opt/bin/mkdir -p '/usr/local/share/doc/pkg-config'
 /opt/bin/install -c -m 644 pkg-config-guide.html '/usr/local/share/doc/pkg-config'
 /opt/bin/mkdir -p '/usr/local/share/aclocal'
 /opt/bin/install -c -m 644 pkg.m4 '/usr/local/share/aclocal'
 /opt/bin/mkdir -p '/usr/local/share/man/man1'
 /opt/bin/install -c -m 644 pkg-config.1 '/usr/local/share/man/man1'
make[2]: Leaving directory `/root/sources/pkg-config-0.28'
make[1]: Leaving directory `/root/sources/pkg-config-0.28'
Making install in check
make[1]: Entering directory `/root/sources/pkg-config-0.28/check'
make[2]: Entering directory `/root/sources/pkg-config-0.28/check'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/root/sources/pkg-config-0.28/check'
make[1]: Leaving directory `/root/sources/pkg-config-0.28/check'

Et enfin je teste mon exécutable :

> /usr/local/bin/pkg-config --version
Segmentation fault (core dumped)

Voilà ... Je ne sais pas trop ce qui peut en être la cause, du peu que je sache c'est possible que l'exécutable soit généré avec des capacités d'adressage mémoire qui dépassent les possibilités du contrôleur mémoire de mon nas... mais comme je le dis je suis complètement nouveau dans les compilations de ce genre.

Avez-vous une idée vers laquelle je peux creuser ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.