Experimental Physics and
| |||||||||||||||||
|
Mark, I'm now convinced this is a glibc problem - I rebuilt base on RH 8.0, and confirmed that I can reporduce your problem with a static build of the example application. Then I rebuilt the example app on my RH 9.0 machine but using the 8.0 build of base (this way around works, the reverse doesn't). The only difference between the code in the result is the OS libraries, which on RH 9.0 means glibc 2.3.2 vs 2.2.93. This binary runs quite happily on both OS versions. I also managed to manually build a working executable on RH8.0 that statically linked to the libraries from base but dynamically to the system libraries. The command line I used was this: /usr/bin/g++ -o example -L/home/phoebus/ANJ/epics/base/3-14-dev/lib/linux-x86/ -L/home/phoebus3/ANJ/apps/example-3.14/lib/linux-x86/ example_registerRecordDeviceDriver.o dbSubExample.o exampleMain.o -Wl,-Bstatic -lxxxSupport -lrecIoc -lsoftDevIoc -ltestDevIoc -liocsh -lmiscIoc -lrsrvIoc -ldbtoolsIoc -lasIoc -ldbIoc -lregistryIoc -ldbStaticIoc -lca -lCom -Wl,-Bdynamic -lpthread -lreadline -lncurses -lm -lrt Note the strategically placed -Wl,Bstatic and -Wl,-Bdynamic arguments. I've filed a bug report to request the ability to build mixed-mode binaries using this linker feature, but I don't know whether Janet would be able to implement it in time for R3.14.3, probably not... - Andrew -- There are 10 types of people in the world: Those who understand binary, and those who don't.
| ||||||||||||||||
ANJ, 10 Aug 2010 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |