Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile Error on Gentoo 64 Bi #18

Closed
hasse69 opened this issue Mar 13, 2015 · 5 comments
Closed

Compile Error on Gentoo 64 Bi #18

hasse69 opened this issue Mar 13, 2015 · 5 comments

Comments

@hasse69
Copy link
Owner

hasse69 commented Mar 13, 2015

When i try to compile the latest tar or svn of rar2fs i get the following error with unrarsrc-5.0.12. with unrarsrc-4.2.4 it works.

mv -f .deps/dirlist.Tpo .deps/dirlist.Po
gcc -std=gnu99 -DHAVE_CONFIG_H -I.  -I/root/unrarsrc/unrar -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=26 -DNDEBUG -Wall  -g -O2 -DSVNREV_=409 -fno-omit-frame-pointer -Wextra -Wno-unused-result -pthread -MT rar2fs.o -MD -MP -MF .deps/rar2fs.Tpo -c -o rar2fs.o rar2fs.c
mv -f .deps/rar2fs.Tpo .deps/rar2fs.Po
gcc -std=gnu99 -o rar2fs dllext.o optdb.o filecache.o iobuffer.o sighandler.o dirlist.o rar2fs.o -pthread -rdynamic     -lfuse -lunrar  -lstdc++
dllext.o: In function `RARListArchiveEx':
/root/rar2fs-read-only/dllext.cpp:273: undefined reference to `Archive::Read(void*, unsigned long)'
dllext.o: In function `RARNextVolumeName':
/root/rar2fs-read-only/dllext.cpp:362: undefined reference to `NextVolumeName(wchar_t*, unsigned int, bool)'
dllext.o: In function `ListFileHeader':
/root/rar2fs-read-only/dllext.cpp:604: undefined reference to `RarTime::GetText(wchar_t*, unsigned long, bool, bool)'
/root/rar2fs-read-only/dllext.cpp:667: undefined reference to `RarTime::GetText(wchar_t*, unsigned long, bool, bool)'
/root/rar2fs-read-only/dllext.cpp:662: undefined reference to `RarTime::GetText(wchar_t*, unsigned long, bool, bool)'
/root/rar2fs-read-only/dllext.cpp:714: undefined reference to `ParseVersionFileName(wchar_t*, bool)'
/root/rar2fs-read-only/dllext.cpp:678: undefined reference to `BinToHex(unsigned char const*, unsigned long, char*, wchar_t*, unsigned long)'
dllext.o: In function `DataSet':
/root/rar2fs-read-only/dllext.cpp:71: undefined reference to `CmdExtract::CmdExtract(CommandData*)'
dllext.o: In function `RARInitArchiveEx':
/root/rar2fs-read-only/dllext.cpp:108: undefined reference to `CommandData::AddArcName(wchar_t const*)'
/root/rar2fs-read-only/dllext.cpp:161: undefined reference to `Archive::GetComment(Array<wchar_t>*)'
dllext.o: In function `Array<char>::Add(unsigned long)':
/root/unrarsrc/unrar/array.hpp:97: undefined reference to `ErrorHandler::GeneralErrMsg(wchar_t const*, ...)'
collect2: ld returned 1 exit status
make[1]: *** [rar2fs] Error 1
make[1]: Leaving directory `/root/rar2fs-read-only'
make: *** [all] Error 2

Original issue reported on code.google.com by pingu5400 on 2013-11-04 00:50:37

@hasse69
Copy link
Owner Author

hasse69 commented May 23, 2015

rar2fs-read-only # ldd ../unrarsrc/unrar/libunrar.so
        linux-vdso.so.1 (0x00007fffdb7ff000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libstdc++.so.6 (0x00007f17a8631000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f17a833a000)
        libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/libgcc_s.so.1 (0x00007f17a8124000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f17a7f07000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f17a7b5f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f17a8b9d000)

Original issue reported on code.google.com by pingu5400 on 2013-11-04 00:52:18

@hasse69
Copy link
Owner Author

hasse69 commented May 23, 2015

Looks like the build is picking up the wrong version of the library. Probably the one
already installed on the system. If you wish to compile towards a new version of the
library you need to pick it up at configuration time by using --with-unrar-lib=<path>.
But that will also render rar2fs potentially incompatible with the installed library
so I would suggest you to instead build the new library and then install it *before*
building rar2fs.


Original issue reported on code.google.com by hans.beckerus on 2013-11-04 08:55:21

@hasse69
Copy link
Owner Author

hasse69 commented May 23, 2015

(No text was entered with this change)

Original issue reported on code.google.com by hans.beckerus on 2013-11-04 12:08:07

@hasse69
Copy link
Owner Author

hasse69 commented May 23, 2015

I'm not gentoo users, but maybe I can one suggestion for you.

It seems to be libunrar installed with gentoo distribution, right? First, check if
it is installed using gentoo's package manager, and check the version of it. If it's
version prior to 5.0, that may be occur.

For successfully compilation with unrar source, run configure script with --with-unrar=<path>
and --with-unrar-lib=<path>. libunrar must be compiled before you compile rar2fs. And,
you should use LD_LIBRARY_PATH=<path> shell variable when run it.

I tested it on opneSUSE 13.1 RC1, it works - even with static version of libunrar I
malually maked! (It doesn't needed LD_LIBRARY_PATH) I think it may works for you, too.

Original issue reported on code.google.com by jyhpsycho on 2013-11-07 05:47:03

@hasse69
Copy link
Owner Author

hasse69 commented May 23, 2015

No response from OP yet. In any case, this is not something that needs fixing in rar2fs.
I have however added yet another test that, during configure time, will abort if the
source and link time library does not match.

Case closed.

Original issue reported on code.google.com by hans.beckerus on 2013-11-08 14:44:36

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant