[FREEBSD] perl compileren lukt niet (lib probs?)

Pagina: 1
Acties:

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 25-07 15:22
--- *WARNING* : layout verneukerij :P ---

ik heb hier een doos met freebsd 4.3 en perl 5.6.1 wil daarop niet compileren.

bij het configureren (perl Configure) krijg ik deze error: /usr/libexec/elf/ld: cannot find -lnsl

echter bij het checken van libraries staat tie er wel tussen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
checking for optional libraries...
No -lsfio.
No -lsocket.
No -lbind.
No -linet.
Found -lnsl (shared).    <<----------
No -lnm.
No -lndbm.
Found -lgdbm.
No -ldbm.
No -ldb.
No -ldl.
No -ldld.
No -lld.
No -lsun.
Found -lm (shared).
Found -lc (shared).
No -lcposix.
No -lposix.
No -lndir.
No -ldir.
Found -lcrypt (shared).
No -lsec.
No -lucb.
No -lbsd.
No -lBSD.
No -lPW.
No -lx.
No -liconv.
Found -lutil (shared).

In order to compile perl5 on your machine, a number of libraries
are usually needed.  Include any other special libraries here as well.
Say "none" for none.  The default list is almost always right.
 
What libraries to use? [-lnsl -lgdbm -lm -lc -lcrypt -lutil]

vervolgens komt de volgende melding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Checking your choice of C compiler and flags for coherency...
I've tried to compile and run the following simple program:

#include <stdio.h>
int main() { printf("Ok\n"); exit(0); }

I used the command:

      cc -o try -O -fno-strict-aliasing -I/usr/local/include -Wl,-E -L/usr/local/lib try.c -lnsl -lgdbm -lm -lc -lcrypt -lutil
      ./try

and I got the following output:

/usr/libexec/elf/ld: cannot find -lnsl
I can't compile the test program.
(The supplied flags or libraries might be incorrect.)
 
You have a BIG problem.  Shall I abort Configure [y]

nou heb ik een locate gedaan naar libnsl - l(ib)nsl ?
en in /usr/compat/linux/lib/ staat /usr/compat/linux/lib/libnsl-2.1.2.so en /usr/compat/linux/lib/libnsl.so.1

nou dacht ik slim te zijn en een ldconfig -m /usr/compat/linux/lib/ maar dat dat helpt ook niet echt.

ik heb nou al wel meer problemen met shared libraries o.a. met mysql_setpermission
code:
1
2
3
d57107# ./mysql_setpermission -U root
Password for user root to connect to MySQL: 
install_driver(mysql) failed: Can't load '/usr/local/lib/perl5/site_perl/5.005/i386-freebsd/auto/DBD/mysql/mysql.so' for module DBD::mysql: Shared object "libmysqlclient.so.6" not found at /usr/libdata/perl/5.00503/DynaLoader.pm line 169, <STDIN> chunk 1.

met een locate komt er dan weer uit dat het filetje in usr/local/mysql/lib staat. vervolgens doe ik een ldconfig -m /usr/local/mysql/lib.

dan wordt het nog spannender :? :
code:
1
2
3
d57107# ./mysql_setpermission -U root
Password for user root to connect to MySQL: 
Bus error (core dumped)

nou ziet dat eruit dat DBI kaput is en daarom heb ik ook DBI 1.18 gereinstalled. nou doet die reinstall het wel, maar de MySQL module 1.2216 doet het uiteraard weer niet (met als resultaat dat mysql_setpermission het nog niet doet):
code:
1
2
3
4
dit is een van de vele foutmeldingen bij een 'make test' 
t/dbdadmin..........install_driver(mysql) failed: Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: Shared object "libmysqlclient.so.6" not found at /usr/libdata/perl/5.00503/DynaLoader.pm line 169.

Failed 16/17 test scripts, 5.88% okay. 706/709 subtests failed, 0.42% okay.

weet iemand een oplossing? en aub geen 'doe es een reinstall' want het is geen windows. dat zou dan mijn tweede reinstall in een jaar zijn en daar heb ik eik geen zin in ;(

  • AVL
  • Registratie: Januari 2000
  • Laatst online: 25-09-2022

AVL

OHMSS

Installeer je vanuit de ports? Zo niet, doe dat dan wel, daar zijn ze voor. Indien nodig even cvsuppen, en dan cd /usr/ports/lang/perl; make install en je hebt perl 5.6.1. Daarna kun je ook mooi de DBI's vanuit de ports opnieuw installeren :).

"I'd rather have a bottle in front of me than a frontal lobotomy."


  • Infern0
  • Registratie: September 2000
  • Laatst online: 16-03 23:51

Infern0

Hou die ontzettende rust!!

Volgens mij heb je geen perl 5.6 maar 5.0.
Je kunt die switchen door "use perl" ofzoiets uit te voeren (ben het vergeten) omdat perl5 tot het base system hoort moet je dit doen (net zoals met bind8 naar bind 9)

http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL