Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Compile error -- "libstdc++.la: file not recognized"
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
reynolds531
Apprentice
Apprentice


Joined: 23 Apr 2005
Posts: 260
Location: Rochester, NY

PostPosted: Thu Dec 22, 2005 2:49 am    Post subject: Compile error -- "libstdc++.la: file not recognized&quo Reply with quote

I'm trying to compile a new version of Recoll, a desktop search tool:

www.lesbonscomptes.com/recoll/

However, I get the following error message:

Code:
make[1]: Leaving directory `/usr/local/portage/app-misc/recoll-1.0.14/bincimapmime'
cd index; rm -f recollindex; make recollindex
make[1]: Entering directory `/usr/local/portage/app-misc/recoll-1.0.14/index'
g++ -Wall -Wno-unused -g -I. -I../index -I../utils -I../common -I../unac -I../bincimapmime -I/usr/local/include -I/usr/include  -DRECOLL_PREFIX=\"/usr/local\" -D_GNU_SOURCE -DPUTENV_ARG_NOT_CONST -DHAVE_VASPRINTF=1 -DHAVE_MKDTEMP=1 -c -o recollindex.o recollindex.cpp
g++ -Wall -Wno-unused -g -I. -I../index -I../utils -I../common -I../unac -I../bincimapmime -I/usr/local/include -I/usr/include  -DRECOLL_PREFIX=\"/usr/local\" -D_GNU_SOURCE -DPUTENV_ARG_NOT_CONST -DHAVE_VASPRINTF=1 -DHAVE_MKDTEMP=1 -o recollindex recollindex.o ../lib/librcl.a ../bincimapmime/libmime.a \
        -lxapian  -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.la   -lpthread
/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.la: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[1]: *** [recollindex] Error 1
make[1]: Leaving directory `/usr/local/portage/app-misc/recoll-1.0.14/index'
make: *** [all] Error 2


(By the way, I'm not using portage to compile the program; the references to "/usr/local/portage" are there only because I like to use my local portage tree to organize programs I compile outside of portage.)

The developer has given me a workaround that allows me to compile the program (basically, replacing the reference to libstdc++.la in one of the files generated during configuration). He's also looking into whether this problem may be an error in the program.

What I'm hoping people here can tell me is whether this might be a byproduct of my recent upgrade from gcc 3.6.6 to 3.4.4.

I've looked at the gcc thread and saw some problems involving libstdc++.la, but not the same problem (for instance, the file wasn't created on some people's systems, IIRC; it does exist on mine).

I'm doubtful that the upgrade is to blame because I successfully compiled hundreds of programs with the new gcc. But I'd like to get some expert views since I'd like to write an ebuild for this program.
Back to top
View user's profile Send private message
infirit
l33t
l33t


Joined: 11 Jan 2003
Posts: 764
Location: Hoofddorp / The Netherlands

PostPosted: Sun Dec 25, 2005 1:34 pm    Post subject: Reply with quote

The error is from C++ only so all C program would not get this error. You could try running:
Code:
fix_libtool_files.sh <old-gcc-version>

But I doubt it would make any difference. Also try re-emerging gcc and libstdc++-v3.
_________________
EASY TO INSTALL = Difficult to install, but instruction manual has pictures.
Join the adopt an unanswered post initiative today
Back to top
View user's profile Send private message
dhave
Apprentice
Apprentice


Joined: 28 Oct 2005
Posts: 298
Location: Still outside the Matrix ...

PostPosted: Thu Jan 12, 2006 6:04 pm    Post subject: Reply with quote

Reynolds531, I'm trying to do the same thing (compile recoll), and I'm getting exactly the same error. I alsy am running gcc-3.4.4.

I tried re-emerging libstdc++, but that didn't make any difference. I had also already tried the "fix_libool_files" script, to no avail.

I haven't tried re-emerging gcc, as I don't think it's worth the time or trouble. However, I would like to know what the developer's workaround is. Would you mind posting the specifics? Thanks.
Back to top
View user's profile Send private message
dhave
Apprentice
Apprentice


Joined: 28 Oct 2005
Posts: 298
Location: Still outside the Matrix ...

PostPosted: Thu Jan 12, 2006 8:56 pm    Post subject: Reply with quote

After running ./configure, I deleted the reference to libstdc++.la in the file mk/localdefs file. Then I did "make" and "make install". Everything compiled fine, and the program seems to work as intended. I checked with the developer (who's very helpful, by the way), and he said this was an acceptable workaround.

It seems to be a pretty nice application. Maybe a lightweight Beagle replacement, though I haven't run it extensively yet. Give it a try.
Back to top
View user's profile Send private message
reynolds531
Apprentice
Apprentice


Joined: 23 Apr 2005
Posts: 260
Location: Rochester, NY

PostPosted: Thu Jan 12, 2006 10:11 pm    Post subject: Reply with quote

dhave wrote:
After running ./configure, I deleted the reference to libstdc++.la in the file mk/localdefs file. Then I did "make" and "make install". Everything compiled fine, and the program seems to work as intended. I checked with the developer (who's very helpful, by the way), and he said this was an acceptable workaround.

It seems to be a pretty nice application. Maybe a lightweight Beagle replacement, though I haven't run it extensively yet. Give it a try.


Sorry I didn't see your message in time to give you the workaround. I also had to edit the Makefile to give the path to qmake, though I wonder if the problem there is that qmake is not in my path. Do I risk anything by adding it?

I took beagle off my system and just use recoll now. It doesn't index your system automatically, but the updates take less than 10 minutes on my system and it returns results amazingly quickly. Best of all, it allows boolean and other complex queries.
Back to top
View user's profile Send private message
reynolds531
Apprentice
Apprentice


Joined: 23 Apr 2005
Posts: 260
Location: Rochester, NY

PostPosted: Fri Jan 13, 2006 12:35 am    Post subject: Reply with quote

I tried isolating the problem by compiling omega, another program that depends on xapian. Omega compiled without error. Here's the final bit of output after running make:

Code:
if g++ -DHAVE_CONFIG_H -I. -I. -I.  -DCONFIGFILE_SYSTEM=\"/usr/local/etc/omega.conf\"   -g -O2  -MT date.o -MD -MP -MF ".deps/date.Tpo" -c -o date.o date.cc; \
then mv -f ".deps/date.Tpo" ".deps/date.Po"; else rm -f ".deps/date.Tpo"; exit 1; fi/bin/sh ./libtool --tag=CXX --mode=link g++  -g -O2    -o omega  omega.o query.o cgiparam.o utils.o configfile.o date.o /usr/lib/libxapian.la
g++ -g -O2 -o omega omega.o query.o cgiparam.o utils.o configfile.o date.o  /usr/lib/libxapian.so -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so
make[1]: Leaving directory `/home/gary/downloads/omega-0.9.2'


I'm guessing that it's significant that libstd++.so is listed here, instead of the libstd++.la in the case of recoll. That suggests to me that there's an error in the recoll code rather than in the xapian build, or perhaps some peculiatiry in the way it builds on a gentoo system (since it does compile on other systems). But this is way over my head.
Back to top
View user's profile Send private message
medoc
n00b
n00b


Joined: 10 Dec 2005
Posts: 7
Location: Europe

PostPosted: Fri Jan 13, 2006 7:20 am    Post subject: Reply with quote

Hello, I am the developper of recoll. Deleting the reference to libstdc++.la from mk/localdefs is the correct fix until I can sort this out (I added it to the download page on the web site).

I believe that the reason why the link with omega works is that it is performed by libtool. As libstdc++.la is a libtool file, libtool does the right thing (delete it from the c++ command). But it should be possible to link with xapian without using libtool (it does work on quite a few other systems), I have sent a message to the xapian-devel list about this problem, I hope I'll have a real solution soon.

By the way, this is not a gentoo issue, I heard of someone on slackware with the same problem.

I'll also add a check for qmake in the configure.

Thanks to all for putting up with these issues, don't hesitate to contact me, I am always looking for ways to improve/extend recoll.

JF
Back to top
View user's profile Send private message
dhave
Apprentice
Apprentice


Joined: 28 Oct 2005
Posts: 298
Location: Still outside the Matrix ...

PostPosted: Fri Jan 13, 2006 10:08 am    Post subject: Reply with quote

reynolds531 wrote:
I took beagle off my system and just use recoll now. It doesn't index your system automatically, but the updates take less than 10 minutes on my system and it returns results amazingly quickly. Best of all, it allows boolean and other complex queries.

On the Recoll home page, this is listed among the features: "An indexer which runs either as a thread inside the GUI or as an external, cron'able program."

So, if you want to, you can apparently set up automatic indexing. Or, I suppose, you could do boot-time indexing or something like that. Check the online user manual for info about setting up cron.

I agree with you that Recoll is besting Beagle (no pun intended). I didn't take any measurements, but Beagle seemed to be monopolizing a lot of system resources.
Back to top
View user's profile Send private message
dhave
Apprentice
Apprentice


Joined: 28 Oct 2005
Posts: 298
Location: Still outside the Matrix ...

PostPosted: Sat Jan 14, 2006 6:37 pm    Post subject: Fixed now. Reply with quote

This problem is now fixed by a patch to Xapian, one of the prerequisites for building Recoll. The patched package is xapian-0.9.2-r1. It's currently listed in "testing", so you'll have to make an addition to your package.keywords to emerge it.

I emerged the patched Xapian package, then rebuilt and reinstalled Recoll with no problems.

Those of you who are Beagle fans should give Recoll a try, at least for comparison's sake.
Back to top
View user's profile Send private message
reynolds531
Apprentice
Apprentice


Joined: 23 Apr 2005
Posts: 260
Location: Rochester, NY

PostPosted: Sat Jan 14, 2006 6:53 pm    Post subject: Reply with quote

Just a note that this was indeed a problem with xapian, not with recoll. The recoll developer submitted a patch against xapian that just went into portage. Just use > xapian-0.9.2-r1 and recoll should compile.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum