This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problems building openssh -> is sysroot working properly ?


Enrico, 

On Wed, Nov 17, 2004 at 03:24:28PM +0100, Enrico Weigelt wrote:
> when compiling openssh in a crosstool'ed gcc w/ sysroot I 
> encountered the problem that libcrypto.so was not found although
> it was on the right place and the configure script has the 
> correct location (I placed openssl under /usr/lib/ssl/)
> 
> Further studies w/ strace showed up that ld tries to find the
> libs in the host system (/usr/lib/ssl/xxx..), instead of searching
> relative to the sysroot when -L... is passed. 
> Passing the full library path via --with-ssl= to openssh didnt 
> help, since it now cant find the include files -> gcc's include 
> path seems to be properly under the sys-root.
> 
> At the end of the story I cant crosscompile openssh :((
> 
> How can I solve this problem ?

You can have a look at how PTXdist does it. After applying this patch from the
patch repository: 

http://www.pengutronix.de/software/ptxdist/patches-cvs/openssh-3.7.1p2/generic/generic-configure-ac.patch

some more tweaks are being done: 

----------openssh.make----------
[...]
$(STATEDIR)/openssh.extract: $(openssh_extract_deps)
        @$(call targetinfo, openssh.extract)
        @$(call clean, $(OPENSSH_DIR))
        @$(call extract, $(OPENSSH_SOURCE))
        @$(call patchin, $(OPENSSH))

        OPENSSL_VERSION_NUMBER="`sed -n -e 's/.*OPENSSL_VERSION_NUMBER.*0x[0]*\([0-9a-f]*\)L/\1/p' \
                $(CROSS_LIB_DIR)/include/openssl/opensslv.h`" \
        OPENSSL_VERSION_TEXT="`sed -n -e 's/.*OPENSSL_VERSION_TEXT.*"\(.*\)"/\1/p' \
                $(CROSS_LIB_DIR)/include/openssl/opensslv.h`" && \
        perl -i -p -e "s/ssl_library_ver=\"VERSION\"/ssl_library_ver=\"$$OPENSSL_VERSION_NUMBER ($$OPENSSL_VERSION_TEXT)\"/g" \
                $(OPENSSH_DIR)/configure.ac && \
        perl -i -p -e "s/ssl_header_ver=\"VERSION\"/ssl_header_ver=\"$$OPENSSL_VERSION_NUMBER ($$OPENSSL_VERSION_TEXT)\"/g" \
                $(OPENSSH_DIR)/configure.ac

        cd $(OPENSSH_DIR) && PATH=$(PTXCONF_PREFIX)/$(AUTOCONF257)/bin:$$PATH autoconf
        touch $@
[...]
---------------------------------

Additionally, you'll have to set LD=<your-gcc>. 

HTH, 

Robert
-- 
 Dipl.-Ing. Robert Schwebel | http://www.pengutronix.de
 Pengutronix - Linux Solutions for Science and Industry
   Handelsregister:  Amtsgericht Hildesheim, HRA 2686
     Hornemannstraße 12,  31137 Hildesheim, Germany
    Phone: +49-5121-28619-0 |  Fax: +49-5121-28619-4

------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]