[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Adding SONAME to a shared object in KLEE



Hi everyone,

On Thu, 2016-02-11 at 15:25 +0000, Gianfranco Costamagna wrote:
> klee lacks of libncurses5-dev

Thanks for pointing this out!


> python-tabulate not available on jessie

I am aware of that. It is available in jessie-backports. This will be
taken care of automagically once I start building the package for Sid.


> anyhow.
> Makefile.rules, around line 1116 (patched)
> LibName.so target:
> 
> -	$(Verb) $(Link) $(SharedLinkOptions) -o $@ $(ObjectsO) \
> +	$(Verb) $(Link) $(SharedLinkOptions) -Wl,-soname,$@.so.1 -o $@.so.1 $(ObjectsO) \
> 
> 
> seems to be working, but it changes soname for all the libraries in the same way AFAICS.
> let me know if it works for you too.

Thank you for this too! 

Are you saying the package builds after that? It doesn't work for me.

The build process breaks as in this way the shared library files come
with different names and then target names in Makefile.rules don't match
anymore. I tried using this:

$(LibName.SO): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
$(SharedLibDir)/.dir
        $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \
          $(notdir $@)
        $(Verb) $(Link) $(SharedLinkOptions) -Wl,-soname,$@.1 -o $@.1
$(ObjectsO) \
          $(ProjLibsOptions) $(LLVMLibsOptions) $(LIBS)
        ln -s $@.1 $@

Note the added ln command. That didn't work.

I also tried this:

$(LibName.SO): $(ObjectsO) $(ProjLibsPaths) $(LLVMLibsPaths)
$(SharedLibDir)/.dir
        $(Echo) Linking $(BuildMode) $(SharedLibKindMessage) \
          $(notdir $@)
        $(Verb) $(Link) $(SharedLinkOptions) -Wl,-soname,$@.1 -o $@.1
$(ObjectsO) \
          $(ProjLibsOptions) $(LLVMLibsOptions) $(LIBS)
        ldconfig -n $(SharedLibDir)

(ldconfig instead of ln.) That didn't work either.


Any more ideas?


-- 
Cheers,
Marko
https://dimjasevic.net/marko

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: