Home > Archive > PERL Miscellaneous > March 2008 > perl on pc 104
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
| Ron Eggler 2008-03-27, 10:15 pm |
| Hi,
I need to get perl5 on our little pc104 (with goede) system in order to get
ssh-keygen( openSSH) - which depends on openSSL which depends on perl5 -
running.
When I'm trying to compile (configure) it, I get this messages:
[shell]
I used the command:
cc -o
try -O2 -fno-strict-aliasing -pipe -I/usr/local/include -L/usr/local/lib
try.c -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
./try
and I got the following output:
/usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
to `pthread_condattr_setpshared'
/usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
to `pthread_mutexattr_destroy'
/usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
to `pthread_mutexattr_setpshared'
/usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
to `pthread_mutexattr_init'
/usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
to `pthread_mutex_trylock'
collect2: ld returned 1 exit status
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] y
Ok. Stopping Configure.
[root@NEMS perl-5.10.0]# find / -name "libdb.so"
/usr/lib/libdb.so
[/shell]
Any ideawhat I would be doing wrongly and what that exactly is, as you can
see, i made a find on the bottom and i do have the libdb.so available
in /usr/lib.
Thanks for any help!
--
chEErs roN
| |
| John Bokma 2008-03-27, 10:15 pm |
| Ron Eggler <test@example.com> wrote:
[..]
> /usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined
> reference to `pthread_mutexattr_setpshared'
> /usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined
> reference to `pthread_mutexattr_init'
> /usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined
[..]
> Any ideawhat I would be doing wrongly and what that exactly is, as you
> can see, i made a find on the bottom and i do have the libdb.so
> available in /usr/lib.
But do you have pthread.so (I assume it's called like that).
(Unless I am not entirely awake and read the messages wrong...)
--
John
http://johnbokma.com/perl/
| |
| Ben Morrow 2008-03-27, 10:15 pm |
|
Quoth Ron Eggler <test@example.com>:
>
> I need to get perl5 on our little pc104 (with goede) system in order to get
> ssh-keygen( openSSH) - which depends on openSSL which depends on perl5 -
> running.
> When I'm trying to compile (configure) it, I get this messages:
> [shell]
> I used the command:
>
> cc -o
> try -O2 -fno-strict-aliasing -pipe -I/usr/local/include -L/usr/local/lib
> try.c -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
> ./try
>
> and I got the following output:
>
> /usr/lib/gcc/i586-linux-uclibc/3.4.4/../../../libdb.so: undefined reference
> to `pthread_condattr_setpshared'
<snip>
>
> Any ideawhat I would be doing wrongly and what that exactly is, as you can
> see, i made a find on the bottom and i do have the libdb.so available
> in /usr/lib.
The problem is not libdb.so, it's that libdb.so requires the pthread
functions, which aren't getting loaded. Do you have a version of
libdb.so which doesn't require threads, and can you persuade Configure
to use it?
Alternatively, can you Configure perl with -Duseithreads? I wouldn't
normally recommend this on a Unix machine (perl threads are practically
useless when you have fork(2)), but it may be an easy way to pull the
thread libraries in.
Otherwise, you may have more luck asking perl5-porters@perl.org: they
are the people who maintain perl, and they will certainly be interested
in situations where perl won't configure.
Ben
| |
| Ron Eggler 2008-03-27, 10:16 pm |
| Ben Morrow wrote:
>
> Quoth Ron Eggler <test@example.com>:
> <snip>
>
> The problem is not libdb.so, it's that libdb.so requires the pthread
> functions, which aren't getting loaded. Do you have a version of
> libdb.so which doesn't require threads, and can you persuade Configure
> to use it?
>
> Alternatively, can you Configure perl with -Duseithreads? I wouldn't
> normally recommend this on a Unix machine (perl threads are practically
> useless when you have fork(2)), but it may be an easy way to pull the
> thread libraries in.
>
> Otherwise, you may have more luck asking perl5-porters@perl.org: they
> are the people who maintain perl, and they will certainly be interested
> in situations where perl won't configure.
>
> Ben
Alright, ./Configure -Duseithreads went well withou doing anything else to
pthread libraries.
BUT I get this on make test or make install:
[shell]
NEMS perl-5.10.0 # make test
make: *** No rule to make target `/usr/include/bits/errno_values.h', needed
by `miniperlmain.o'. Stop.
NEMS perl-5.10.0 # make install
make install.perl install.man STRIPFLAGS= DESTDIR=""
make[1]: Entering directory `/uc/home/ron/software/perl-5.10.0'
make[1]: *** No rule to make target `/usr/include/bits/errno_values.h',
needed by `miniperlmain.o'. Stop.
make[1]: Leaving directory `/uc/home/ron/software/perl-5.10.0'
make: *** [install] Error 2
[/shell]
Not really sure wht this means and if this relates to the pthread problem i
had before.
--
chEErs roN
| |
| Ron Eggler 2008-03-27, 10:16 pm |
| John Bokma wrote:
> Ron Eggler <test@example.com> wrote:
>
> [..]
>
>
> [..]
>
>
> But do you have pthread.so (I assume it's called like that).
>
> (Unless I am not entirely awake and read the messages wrong...)
I'm not sure what i would need to install to get this problem with pthread
resolved... :o
--
chEErs roN
| |
| John Bokma 2008-03-27, 10:16 pm |
| Ron Eggler <test@example.com> wrote:
[..]
> make: *** No rule to make target `/usr/include/bits/errno_values.h',
> needed by `miniperlmain.o'. Stop.
[..]
Sounds to me like errno_values.h is missing.
--
John
http://johnbokma.com/perl/
| |
| Ben Morrow 2008-03-27, 10:16 pm |
|
Quoth Ron Eggler <test@example.com>:
>
> Alright, ./Configure -Duseithreads went well withou doing anything else to
> pthread libraries.
> BUT I get this on make test or make install:
> [shell]
> NEMS perl-5.10.0 # make test
> make: *** No rule to make target `/usr/include/bits/errno_values.h', needed
> by `miniperlmain.o'. Stop.
Do you have a /usr/include/bits/errno_values.h? If not, you need to find
one from somewhere (is there a libc headers package you can install, or
is bits/errno_values.h part of the kernel headers and you don't have
them installed?), or you need to work out why miniperlmain.c thinks it
needs it when it doesn't. IIRC bits/errno_values.h is a glibc-ism, and
is included by errno.h; you mentioned uclibc at some point, so perhaps
you are ending up with the wrong errno.h?
If you do have one, and make is just being silly, you could try removing
the
miniperlmain$(OBJ_EXT): /usr/include/bits/errno_values.h
line from makefile (note: *not* Makefile) and see if that changes the
error message. If it does you will probably need to remove all the
dependancies on headers in /usr/include before it will build.
> NEMS perl-5.10.0 # make install
Since you've been having problems configuring, you *really* want to run
make test before you make install.
> Not really sure wht this means and if this relates to the pthread problem i
> had before.
No, it probably doesn't.
Ben
|
|
|
|
|