OVH Cloud OVH Cloud

Gros probleme compilation FreeBSD 4.9 !!

14 réponses
Avatar
Thierry
Bonsoir,
je dirais la chose suivante, au secours, je suis à sec au niveau idées ...
Voilà, j'ai un serveur web tournant correctement depuis quelques années
... et oui depuis la 4.5 ... :-)
J'ai voulu, aujourd'hui faire une mise à jour de mes sources et en
profiter pour être à jour au niveau sécu ... comme je fais
habituellement depuis assez longtemps :

-cvsup -g -L 2 cvs-sources (all sources) ...
-make -j15 buildworld
-make buildkernel
reboot single user
-make installkernel
-make installworld

avec un peu de mergemaster .....
Sauf que là, ben big probleme, j'ai mis un "-j15" au niveau de la
compile, et j'aurai pas dû .... :

<===============================================================>

bash-2.05b$ sudo make -j15 installworld
mkdir -p /tmp/install.58207
for prog in [ awk cap_mkdb cat chflags chmod chown date echo egrep find grep ln make makewhatis mkdir mtree mv perl pwd_mkdb rm sed sh sysctl test true uname wc zic; do cp `which $prog` /tmp/install.58207; done
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=i386 MACHINE=i386 OBJFORMAT_PATH=/usr/obj/usr/src/i386/usr/libexec PERL5LIB=/usr/obj/usr/src/i386/usr/libdata/perl/5.00503 GROFF_BIN_PATH=/usr/obj/usr/src/i386/usr/bin GROFF_FONT_PATH=/usr/obj/usr/src/i386/usr/share/groff_font GROFF_TMAC_PATH=/usr/obj/usr/src/i386/usr/share/tmac PATH=/usr/obj/usr/src/i386/usr/sbin:/usr/obj/usr/src/i386/usr/bin:/usr/obj/usr/src/i386/usr/games:/tmp/install.58207 make -f Makefile.inc1 reinstall
--------------------------------------------------------------
>>> Making hierarchy
--------------------------------------------------------------
cd /usr/src; make -f Makefile.inc1 hierarchy
cd /usr/src/etc; make distrib-dirs
`grep "^[a-zA-Z]" /usr/src/etc/locale.deprecated`; while [ $# -gt 0 ] ; do for dir in /usr/share/locale /usr/share/nls /usr/local/share/nls; do test -d /${dir} && cd /${dir}; test -L "$2" && rm -rf "$2"; test \! -L "$1" && test -d "$1" && mv "$1" "$2"; done; shift; shift; done
mtree -deU -f /usr/src/etc/mtree/BSD.root.dist -p /
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in mtree
*** Error code 1
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
*** Error code 2
1 error
-bash-2.05b$

<===============================================================>

Ensuite, pour reparer ma betise (pour rester poli) j'ai fait un "make
clean" ... resultat identique ... je ne peux plus utiliser la commande
"vi" je ne peux donc plus modifier un quelconque fichier, ou installer un
packages à partir d'un port (ex vim) :

<===========================================================>
bash-2.05b$ sudo make
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in /usr/bin/sed
"/usr/ports/Mk/bsd.port.mk", line 910: warning: "/usr/bin/uname -r | /usr/bin/sed -e 's/[-(].*//'" returned non-zero status
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in /usr/bin/sed
"/usr/ports/Mk/bsd.port.mk", line 1918: warning: "/usr/sbin/pkg_info -P 2>/dev/null | /usr/bin/sed -e 's/.*: //'" returned non-zero status
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in /usr/bin/sed
"/usr/ports/Mk/bsd.port.mk", line 2476: warning: "echo 'vim.1 rvim.1 vim.1 rview.1 vim.1 gvim.1 vim.1 gview.1 vim.1 rgvim.1 vim.1 rgview.1 eview.1 gvimdiff.1' | /usr/bin/awk '{ if (NF % 2 != 0) { print "broken"; exit; } for (i=1; i<=NF; i++) { if ($i ~ /^-$/ && i != 1 && i % 2 != 0) { $i = $(i-2); printf " " $i " "; } else if ($i ~ /^[^ ]+\.[1-9ln][^. ]*$/ || $i ~ /^\//) printf " " $i " "; else { print "broken"; exit; } } }' | /usr/bin/sed -e ' \([^/ ][^ ]*\.\(.\)[^. ]*\ ${MAN\2PREFIX}/man/$$$${__lang}/man\2/\1.gg' -e 's/ /g' -e 's/MANlPREFIX/MANLPREFIX/g' -e 's/MANnPREFIX/MANNPREFIX/g'" returned non-zero status
"/usr/ports/Mk/bsd.port.mk", line 1: Malformed conditional (${_TMLINKS:M/usr/local*}x != x)
"/usr/ports/Mk/bsd.port.mk", line 4: Malformed conditional (${_TMLINKS:N/usr/local*}x != x)
"/usr/ports/Mk/bsd.port.mk", line 4487: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 4487: Need an operator
"/usr/ports/Mk/bsd.port.mk", line 4632: if-less endif
"/usr/ports/Mk/bsd.port.mk", line 4632: Need an operator
make: fatal errors encountered -- cannot continue

<============================================================>
J'utilise le ftp pour changer la composition d'un fichier, tel que mon
cvs-sources ou mon make.conf par exemple ... enfin bref c'est un peu le
bordel en ce moment ....

le truc assez marrant, c'est que toutes mes applis fonctionnent, sauf la
base mysql, c'est un peu embetant lorsque l'on heberge quelques forums .... :

<==============================================================>
Fichier localhost.err se situant dans /var/db/mysql :

Opened tables: 6
Open tables: 0
Open files: 0
Open streams: 0
031215 18:35:14 /usr/local/libexec/mysqld: Normal shutdown

031215 18:35:15 /usr/local/libexec/mysqld: Shutdown Complete

031215 18:35:15 mysqld ended

031215 20:48:26 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 20:48:26 mysqld ended

031215 21:36:40 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:36:40 mysqld ended

031215 21:38:58 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:38:58 mysqld ended

031215 21:40:35 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:40:35 mysqld ended

031215 21:42:53 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:42:53 mysqld ended

031215 21:50:43 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:50:43 mysqld ended

031215 21:53:43 mysqld started
/usr/libexec/ld-elf.so.1: Undefined symbol "__guard" referenced from COPY relocation in nohup
031215 21:53:43 mysqld ended

-bash-2.05b$ sudo /usr/local/libexec/mysqld &
[1] 389
-bash-2.05b$ 031215 21:56:43 Warning: setrlimit returned ok, but didn't change limits. Max open files is 128
031215 21:56:43 Warning: Changed limits: max_connections: 100 table_cache: 64
Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!
031215 21:56:43 Aborting
031215 21:56:43 /usr/local/libexec/mysqld: Shutdown Complete
[1]+ Exit 1 sudo /usr/local/libexec/mysqld

Voilà, plus de solutions, et c'est valable en 4.9 et 4.8 ....
Merci pour vos infos et votre aide.

Thierry

4 réponses

1 2
Avatar
Thierry
C'est bon, tout est OK.
Merci pour votre aide .
Avatar
Thierry
On Tue, 16 Dec 2003 23:40:21 +0100, Thierry wrote:

C'est bon, tout est OK.
Merci pour votre aide .


par contre, je suis redescendu en 4.8 ... Je ferais une maj un peu plus
tard ...
mais maintenant j'ai le pb suivant :


-bash-2.05b$ pkg_info
XFree86-Server-4.2.1_3 XFree86-4 X server and related programs
XFree86-libraries-4.2.1_1 XFree86-4 include/(shared) library kit
pkg_info: read_plist: bad command '@conflicts apache+ipv6-1.*'

Je n'ai jamais installé de serveur X sur cette machine, et pas d'apache
ipv6 non plus ...
Serait ce du au fait que je sois passé d'une 4.9 à une 4.8 ??

Merci

Avatar
espie
In article ,
Thierry wrote:
-bash-2.05b$ pkg_info
XFree86-Server-4.2.1_3 XFree86-4 X server and related programs
XFree86-libraries-4.2.1_1 XFree86-4 include/(shared) library kit
pkg_info: read_plist: bad command '@conflicts apache+ipv6-1.*'

Je n'ai jamais installé de serveur X sur cette machine, et pas d'apache
ipv6 non plus ...
Serait ce du au fait que je sois passé d'une 4.9 à une 4.8 ??
oui, evidemment. ;-)


Meme sans bien connaitre FreeBSD, la directive @conflicts sert tres
certainement a indiquer des conflits entre des packages que tu as installe
et d'autres packages que tu pourrais avoir envie d'installer, et elle est
apparue apres FreeBSD 4.8.

OpenBSD utilise @pkgcfl, je soupconne que FreeBSD aussi, pre-4.9, et qu'ils
ont du changer le nom et la semantique dans la foulee.

Le plus simple, c'est sans doute d'aller gratter dans /var/db/pkg, de
zapper les lignes @conflicts des packages concernes, de les desinstaller
maintenant que pkg_delete ne fera plus la gueule, et de reinstaller une
vraie version 4.8.

Ou tu peux fouiller dans les logs de pkg_install de FreeBSD entre 4.8 et 4.9,
regarder d'ou sort @conflicts, et reparer les packing-lists toi-meme.

Avatar
Arnaud Launay
Le Wed, 17 Dec 2003 12:13:01 +0000 (UTC), Marc Espie écrivit:
Serait ce du au fait que je sois passé d'une 4.9 à une 4.8 ??
oui, evidemment. ;-)

Le plus simple,
[snip]

Ou
[snip]


Tu peux aussi repasser en 4.9, sans te prendre la tête.

Arnaud.


1 2