aMule Forum
English => en_Bugs => Topic started by: cagnulein on March 27, 2004, 07:02:04 PM
-
during the make:
g++ -I/usr/include/ -D__CRYPTO_MDK_SUSE_FC__ -g -o amulecmd amulecmd-TextClient.o amulecmd-MD5Sum.o amulecmd-ECSocket.o -L/usr/local/lib -pthread -lwx_base-2.4 -L/usr/lib -lcurl -lz -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lcryptopp
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lcryptopp
collect2: ld returned 1 exit status
make[2]: *** [amulecmd] Error 1
make[2]: Leaving directory `/home/cagnulein/aMule-2.0.0rc1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/cagnulein/aMule-2.0.0rc1'
make: *** [all] Error 2
get-info.sh output
I. Development Environment
A. Compiler Info
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/specs Configured with: /var/tmp/portage/gcc-3.3.3/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,objc,java --enable-threads=posix --enable-long-long --disable-checking --enable-cstdio=stdio --enable-clocale=generic --enable-__cxa_atexit --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-interpreter --enable-java-awt=xlib --with-x --disable-multilib Thread model: posix gcc version 3.3.3 20040217 (Gentoo Linux 3.3.3, propolice-3.3-7)
B. wxWindows Info
Version: 2.4.2
-pthread -lwx_gtk-2.4
C. GTK Info
GTK 1: 1.2.10
GTK 2: 2.4.0
II. System Environment
A. CPU Info
Type: AuthenticAMD
Model: AMD Duron(TM)Processor
Speed: 1211.388
BMips: 2392.06
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
B. Memory Info
Total: 256124 kB
Unused: 6788 kB
C. Kernel Info
Version: 2.6.4-gentoo
D. Library Info
wxWindows library: libwx_gtk_xrc-2.4.so (libc6) => /usr/lib/libwx_gtk_xrc-2.4.so libwx_gtk_stc-2.4.so (libc6) => /usr/lib/libwx_gtk_stc-2.4.so libwx_gtk_plot-2.4.so (libc6) => /usr/lib/libwx_gtk_plot-2.4.so libwx_gtk_ogl-2.4.so (libc6) => /usr/lib/libwx_gtk_ogl-2.4.so libwx_gtk_net-2.4.so (libc6) => /usr/lib/libwx_gtk_net-2.4.so libwx_gtk_gl-2.4.so (libc6) => /usr/lib/libwx_gtk_gl-2.4.so libwx_gtk_gizmos-2.4.so (libc6) => /usr/lib/libwx_gtk_gizmos-2.4.so libwx_gtk_fl-2.4.so (libc6) => /usr/lib/libwx_gtk_fl-2.4.so libwx_gtk_dcsvg-2.4.so (libc6) => /usr/lib/libwx_gtk_dcsvg-2.4.so libwx_gtk_canvas-2.4.so (libc6) => /usr/lib/libwx_gtk_canvas-2.4.so libwx_gtk-2.4.so (libc6) => /usr/lib/libwx_gtk-2.4.so libwx_base-2.4.so (libc6) => /usr/local/lib/libwx_base-2.4.so
-
how did you install? did you use my ebuild (http://www.amule.org/amule//attachment.php?attachmentid=309&sid=)?
did you emerge dev-libs/crypto++?
-
ops, i haven't see it
Thx a lot :)
-
I did not use the ebuild.
It compiled without a single problem
cagnulein,
You need to make a simlink of the cryptopp files. These files are saved with the name crypto++ and amule searches for cryptopp.
They are exactly the same files, but the ebuild for libcrypto (crypto++) renames them from crytpopp to crypto++, which I find it very weird.
-
on my first run:
[cagnulein@~/psybnc] amule
Initialising aMule
Loading preferences from /home/cagnulein/.aMule/preferences.ini
Config:
x1: 0 y1: 0 x2: 1016 y2: 710
split read, found : 405
srv_split read, found : 463
*** UDP socket at 4665 (chat)
*** TCP socket at 4662
*** UDP socket at 4672
No cryptkey.dat found, creating
amule: integer.cpp:2012: void CryptoPP::RecursiveMultiplyTop(word*, word*, const word*, const word*, const word*, unsigned int, const P*) [with P = CryptoPP::LowLevel]: l'assertion « carry >= 0 && carry <= 2 » a échoué.
Aborted
-
i created a cryptkey.dat and now it works but too slowly :(
-
Hi,
May be a crypto++ problem. can u run "cryptest v" program to test it ? is the result of test good ?
(NOTE: cd in the data dir before running cryptest)
cryptest v
... ...
All tests passed!
Test ended at Sun Mar 28 11:28:33 2004
the polish
-
cagnulein, which flags are you using?
i read on gentoo bugzilla that libcrypto++ have problems with -O3, try eventually with -O2
-
-03 now i'm tring with -02
thx for this tip :)
-
u can have prob with -O2 too, depend on distro and gcc ...
For example, -O2 on mandrake 9.2 make the tests not all pass ...
to be sure ALWAYS run cryptest v
the polish
-
Originally posted by Master
I did not use the ebuild.
It compiled without a single problem
cagnulein,
You need to make a simlink of the cryptopp files. These files are saved with the name crypto++ and amule searches for cryptopp.
They are exactly the same files, but the ebuild for libcrypto (crypto++) renames them from crytpopp to crypto++, which I find it very weird.
this is not necessary, ./configure check for library name now
-
Originally posted by thepolish
u can have prob with -O2 too, depend on distro and gcc ...
For example, -O2 on mandrake 9.2 make the tests not all pass ...
to be sure ALWAYS run cryptest v
the polish
tested by me and others, on gentoo (stable gcc) crypto++ libraries work without problems with -O2
-
i can't find cryptest
is it with crypto++?
where i can find it?
thx in advance
-
yes, it is in crypto++ sources and built when compiling, but dont know if it is installed with the ebuild ...
u can try to build crypto++ from sources with the same compilation options u have in gentoo make.conf, run cryptest in sources, then, when they are validated, install it with the ebuild
the polish
-
default gentoo ebuild deletes this file, but you can test crypto++ without recompiling the whole package manually
1) unzip file crypto51.zip in a directory (it doesn't matter which)
2) open file GNUmakefile
3) find lines: cryptest.exe: libcryptopp.a $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcryptopp $(LDFLAGS) $(LDLIBS)
and modify them: cryptest.exe: $(TESTOBJS)
$(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) -L. -lcrypto++ $(LDFLAGS) $(LDLIBS)
4) make cryptest.exe
5) ./cryptest.exe v
if everything works, you'll see
[...]
All tests passed!
-
Under SID, I've found the same compilation problem......
The strange thing is that compilation terminates with such an error, only when using libcrypto++ and libcrypto++-dev packages shipped in debian repositories.
No problem, instead, when compling libcrypto from tar.* sources....
-
special debian.rules in source package ?
-
i tried with cryptest.exe and this is the result:
BlumBlumShub validation suite running... passed 49ea2cfdb01064a0bbb92af101dac18a94f7b7ce FAILED
561dbce8465caa24a9a6 cryptest.exe: integer.cpp:2012: void CryptoPP::RecursiveMultiplyTop(word*, word*, const word*, const word*, const word*, unsigned int, const P*) [with P = CryptoPP::LowLevel]: Assertion `carry >= 0 && carry <= 2' failed.
Aborted
:(
-
there's a new official ebuild in portage, did you try it?
-
:O
/me emerge sync
:P
thx for the news :)
-
same problem here, debian sid
"make" failed beacuse ld could'nt find -lcryptopp
i installed libcrypto++-5.1 and libcrypto++-dev only after the first run of configure and make, so i did "make distclean" and "./configure --prefix=/usr/local"
then it fails because ld can't find -lcrypto++
?(
i did "cryptest v" and everything is ok
I also tried installing libcrypto++ 5.1 from .tar source, and then passing the path with "./configure --with-crypto-etc...=/usr/local/crypto++/" , configure works and says I'm using "mdk" crypto++ style, but it continues saying that ld can't find -lcryptopp
I read something about symlinks... can anyone tell me something more about that? I also read that it's not necessary, because configure checks for the filenames.. but I don't know what else can I do.
-
hi, if u compiled crypto from source (make & make install) rerun configure without --with-crypto-prefix
greets
-
.........if i compile libcrypto from source.......amule compilation terminates successfully, if i use libcripto++ debian sid packages ........amule compilation terminates with errors reporting that -lcryptopp cannot be found....
-
because it's called libcrypto++5.1 in debian
debian's fault :P
-
Originally posted by Kry
because it's called libcrypto++5.1 in debian
did'nt someone say that configure checks for filenames?
because when I run configure with libcrypto debian packages (5.1 and -dev) , it finds libcrypto and it says:
./configure --prefix=/usr/local
[...]
checking for crypto++ version >= 5.1... yes
[...]
Crypto++ library/headers style? gentoo_debian
but compilation fails:
/usr/bin/ld: cannot find -lcrypto++
now I'm going to reinstall libcrypto from scratch, and see what happen
-
i recompiled libcrypto5.1.tar.bz2
copied libcryptopp.a to /usr/local/lib
moved compilation directory to /usr/local/share/cryptopp
(it seems there is no "make install" feature)
as root, I gave the ldconfig command
then re-configured amule:
./configure --prefix=/usr/local/ --with-crypto-prefix=/usr/local/share/cryptopp/
it finds librcypto, compilation starts and the usual problem (which is at the very beginning) seems solved. but...
g++ -I/usr/local/share/cryptopp/ -D__CRYPTO_MDK_SUSE_FC__ -g -o amulecmdDLG amulecmdDLG-TextClient.o amulecmdDLG-MD5Sum.o amulecmdDLG-ECSocket.o -pthread -lwx_gtk-2.4 -L/usr/lib -lcurl -lssl -lcrypto -ldl -lssl -lcrypto -ldl -lz -lcryptopp
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/lib/wx/include/base-2.4 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -DWXBASE -I/usr/local/share/cryptopp/ -D__CRYPTO_MDK_SUSE_FC__ -g -MT amuleweb-WebServer.o -MD -MP -MF ".deps/amuleweb-WebServer.Tpo" \
-c -o amuleweb-WebServer.o `test -f 'WebServer.cpp' || echo './'`WebServer.cpp; \
then mv -f ".deps/amuleweb-WebServer.Tpo" ".deps/amuleweb-WebServer.Po"; \
else rm -f ".deps/amuleweb-WebServer.Tpo"; exit 1; \
fi
In file included from WebServer.cpp:29:
WebServer.h:287: error: `Bytef' was not declared in this scope
WebServer.h:287: error: `dest' was not declared in this scope
WebServer.h:287: error: `uLongf' was not declared in this scope
WebServer.h:287: error: `destLen' was not declared in this scope
WebServer.h:287: error: parse error before `*' token
WebServer.cpp: In static member function `static void
CWebServer:: ProcessURL(ThreadData)':
WebServer.cpp:554: error: `uLongf' undeclared (first use this function)
WebServer.cpp:554: error: (Each undeclared identifier is reported only once for
each function it appears in.)
WebServer.cpp:554: error: parse error before `=' token
WebServer.cpp:555: error: `destLen' undeclared (first use this function)
WebServer.cpp:556: error: `Bytef' undeclared (first use this function)
WebServer.cpp:556: error: parse error before `)' token
WebServer.cpp:560: error: must have at least one catch per try block
WebServer.cpp:560: error: parse error before `catch'
WebServer.cpp:563: error: `bOk' undeclared (first use this function)
WebServer.cpp: At global scope:
WebServer.cpp:571: error: parse error before `}' token
WebServer.cpp:574: error: `Data' was not declared in this scope
WebServer.cpp:578: error: parse error before `for'
WebServer.cpp:578: error: `pThis' was not declared in this scope
WebServer.cpp:578: error: parse error before `;' token
WebServer.cpp:578: error: syntax error before `++' token
WebServer.cpp:586: error: parse error before `for'
WebServer.cpp:586: error: syntax error before `<=' token
WebServer.cpp:586: error: syntax error before `++' token
WebServer.cpp:1687:2: warning: #warning fix GetLastLogEntry()
WebServer.cpp:1985:2: warning: #warning fix GetLastLogEntry
WebServer.cpp:1994:2: warning: #warning fix GetLastLogEntry
WebServer.cpp:2370: error: `dest' was not declared in this scope
WebServer.cpp:2370: error: parse error before `*' token
WebServer.cpp: In static member function `static int
CWebServer::_GzipCompress(...)':
WebServer.cpp:2373: error: `uLong' undeclared (first use this function)
WebServer.cpp:2373: error: parse error before `;' token
WebServer.cpp:2374: error: `z_stream' undeclared (first use this function)
WebServer.cpp: At global scope:
WebServer.cpp:2375: error: syntax error before `.' token
WebServer.cpp:2376: error: syntax error before `.' token
WebServer.cpp:2377: error: syntax error before `.' token
WebServer.cpp:2378: error: ISO C++ forbids declaration of `crc' with no type
WebServer.cpp:2378: error: `Z_NULL' was not declared in this scope
WebServer.cpp:2378: error: `crc32' was not declared in this scope
WebServer.cpp:2381: error: ISO C++ forbids declaration of `err' with no type
WebServer.cpp:2381: error: `stream' was not declared in this scope
WebServer.cpp:2381: error: `level' was not declared in this scope
WebServer.cpp:2381: error: `Z_DEFLATED' was not declared in this scope
WebServer.cpp:2381: error: `MAX_WBITS' was not declared in this scope
WebServer.cpp:2381: error: `MAX_MEM_LEVEL' was not declared in this scope
WebServer.cpp:2381: error: `Z_DEFAULT_STRATEGY' was not declared in this scope
WebServer.cpp:2381: error: `deflateInit2' was not declared in this scope
WebServer.cpp:2382: error: parse error before `if'
WebServer.cpp:2385: error: `dest' was not declared in this scope
WebServer.cpp:2385: error: `gz_magic' was not declared in this scope
WebServer.cpp:2385: error: `gz_magic' was not declared in this scope
WebServer.cpp:2386: error: `Z_DEFLATED' was not declared in this scope
WebServer.cpp:2386: error: ISO C++ forbids declaration of `sprintf' with no
type
WebServer.cpp:2386: error: `int sprintf' redeclared as different kind of symbol
/usr/include/stdio.h:330: error: previous declaration of `int sprintf(char*,
const char*, ...)'
WebServer.cpp:2386: error: initializer list being treated as compound
expression
WebServer.cpp:2388: error: syntax error before `.' token
WebServer.cpp:2389: error: syntax error before `.' token
WebServer.cpp:2390: error: syntax error before `.' token
WebServer.cpp:2391: error: syntax error before `.' token
WebServer.cpp:2393: error: ISO C++ forbids declaration of `err' with no type
WebServer.cpp:2393: error: redefinition of `int err'
WebServer.cpp:2381: error: `int err' previously defined here
WebServer.cpp:2393: error: `stream' was not declared in this scope
WebServer.cpp:2393: error: `Z_FINISH' was not declared in this scope
WebServer.cpp:2393: error: `deflate' was not declared in this scope
WebServer.cpp:2394: error: parse error before `if'
WebServer.cpp:2398: error: ISO C++ forbids declaration of `err' with no type
WebServer.cpp:2398: error: redefinition of `int err'
WebServer.cpp:2393: error: `int err' previously defined here
WebServer.cpp:2398: error: `stream' was not declared in this scope
WebServer.cpp:2398: error: `deflateEnd' was not declared in this scope
WebServer.cpp:2399: error: ISO C++ forbids declaration of `crc' with no type
WebServer.cpp:2399: error: redefinition of `int crc'
WebServer.cpp:2378: error: `int crc' previously defined here
WebServer.cpp:2399: error: parse error before `*' token
WebServer.cpp:2401: error: parse error before `*' token
WebServer.cpp:2402: error: parse error before `*' token
WebServer.cpp:2403: error: parse error before `*' token
WebServer.cpp:2404: error: parse error before `*' token
WebServer.cpp:2406: error: parse error before `*' token
WebServer.cpp:2407: error: parse error before `*' token
WebServer.cpp:2408: error: parse error before `*' token
WebServer.cpp:2409: error: parse error before `*' token
WebServer.cpp:2411: error: ISO C++ forbids declaration of `destLen' with no
type
WebServer.cpp:2411: error: `int*destLen' used prior to declaration
WebServer.cpp:2411: error: `stream' was not declared in this scope
WebServer.cpp:2412: error: parse error before `return'
make[2]: *** [amuleweb-WebServer.o] Error 1
make[2]: Leaving directory `/home/angelo/Downloads/xmule/aMule/aMule-2.0.0rc1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/angelo/Downloads/xmule/aMule/aMule-2.0.0rc1'
make: *** [all] Error 2
Am I without any hope?
-
--with-crypto-prefix=/usr/local/share/cryptopp/
should be
--with-crypto-prefix=/usr/local/share/
Really.
Anyway, dunno it if will be relateed. tell me :)
(BTW: what distro & arch?)
-
1) if you compile libcrypto from source ........just type make && make install .........and amule will perfectly compile, too.
2) if i use debian precompiled libcrypto packages............,then:
a) configure reports to find gentoo_deiban style libraries;
b) but, afterward, doesn't compile.
Now, it seems a bit strange that first it find the libraries and the report the error.....anyway..........what are we supposed to do?
Maybe "ln -s libcrypto++5.1 libcrypto++" or something similar to it?
(since debian packages provides such libraries with different names?)
-
Maybe "ln -s libcrypto++5.1 libcrypto++" or something similar to it?
Yes. ln -s libcrypto++5.1.a libcrypto++.a
I thought I rported it to the debian packager.... as a matter of fact, there is a warning on configure :/
I'll try to make rc2 more specific on crypto detection... but it's a debian packager bug on libcrypto++. Yep.
-
Originally posted by Kry
--with-crypto-prefix=/usr/local/share/
Really.
Anyway, dunno it if will be relateed. tell me :)
(BTW: what distro & arch?)
it works!i just followed your hint. thankyou :baby:
i'm using debian sid on i686 (amd)
-
Originally posted by Kry
Maybe "ln -s libcrypto++5.1 libcrypto++" or something similar to it?
Yes. ln -s libcrypto++5.1.a libcrypto++.a
I thought I rported it to the debian packager.... as a matter of fact, there is a warning on configure :/
I'll try to make rc2 more specific on crypto detection... but it's a debian packager bug on libcrypto++. Yep.
OK THNKS!!!!
-
Hi, I'm a french newbie and i'm asking for your help :
I installed libcrypto whith this file : crypto-5.1.tar.bz2
then when i try to install amule (apt-get install amule) I see this error
...
The following packages have unmet dependencies:
amule: Depends: libcrypto++5.1 but it is not installable
E: Broken packages
?(
Is it the same problem??
PS i use debian
-
Heh, you have a big conception missunderstanding ;-)
when you install a package (may it be a .deb package, a .rpm, a .tgz, a .ebuild or whatever) this package has some meta-information which tells the unpackager (the program that actually unpacks the packaged file and installs it) which packages must be installed in order to be able to work with that package. So, when dpkg (apt-get is just a front-end of dpkg) tries to install the amule package, it find out that the libcrypto++5.1 package isn't installed. By compiling crypto++ you are installing libcrypto++ but dpkg has no idea that you have done so, since in its database, no-one has added crypto++ as "installed".
apt-get should actually automatically install libcrypto++5.1 but it isn't doing so. This is probably because you aren't useing Sid, but maybe Sarge or Woody. I'd rather suggest you try compiling aMule instead of apt-getting it. As I use Debian, I'm going to try reproducing your problem here in my box, to see what is exactly happening. Meanwhile, compile aMule... this way you'll be able to _always_ have the latest aMule release working! WOW! ;-)
Greetings!