Summary: | Problem while emerge media-libs/jbigkit | ||
---|---|---|---|
Product: | Gentoo/Alt | Reporter: | Dirk Schoenberger <dirk.schoenberger> |
Component: | Mac OSX | Assignee: | Gentoo for Mac OS X <ppc-macos> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | PPC | ||
OS: | OS X | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Dirk Schoenberger
2005-09-30 11:30:49 UTC
spanky's fault, he added a shared libs patch and omitted support for OSX, but didn't drop the keyword :) I committed a fix that creates a dylib on Darwin. Don't know whether it is useful, but at least it compiles again. > spanky's fault, he added a shared libs patch and omitted support for OSX, but > didn't drop the keyword :) > I committed a fix that creates a dylib on Darwin. Don't know whether it is > useful, but at least it compiles again. How easy was this fix? I have several open bugs (eg. 105578), which seem to have related problems... bug #105578 looks indeed to be a similar problem. The thing is as follows: - on linux shared libraries are called xyz.so[.version], while Darwin uses xyz[.version].dylib - building shared libraries is default on OSX (if I recall correctly) in contrast to linux - in practice you see a Makefile doing something like $(CC) -shared $@ -Wl,-soname -Wl,$@ -> this is where the error comes from. In this case I applied the following patch (excerpts): +ifeq ($(UNAME),Darwin) + SONAME = dylib +else + SONAME = so +endif + +all: libjbig.a libjbig.$(SONAME) tstcodec +libjbig.so: $(SOBJS) + $(CC) -shared $(LDFLAGS) -o $@ -Wl,-soname -Wl,$@ $(SOBJS) +libjbig.dylib: $(SOBJS) + $(CC) -dynamic $(LDFLAGS) -o $@ -dynamiclib -install_name $@ $(SOBJS) which generated a dylib file `otool` could read somehow. |