[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] undefined symbols for en plugins plugin



Hej Erwin

Erwin S. Andreasen wrote:
Ja. Hvis ikke dit hoved-plugin er åbnet med RTLD_GLOBAL er det den
eneste måde de kan se symbolerne på.
En anden mulighed kunne være at overføre pointere til de funktioner
som plugins har brug for, som parameters. Altså:

Det kunne også virke. En fyr fra netscape foreslog, at jeg istedet indsætter et ekstra lag som så kan loade player med GLOBAL.

Mozilla -->dlopen(plugin) --->dlopen(player)--->dlopen(codecs)
                                ^                |
                                |                |
                                +----------------+

Jeg kan ikke linke codec-plugin'erne med playeren grundet foreskelle
i licensbetingelser og grundet softwarepatenter - desværre.


Så har du måske et licensproblem -- hvis tingene virkede som du håbede
på og second-tier plugins kunne kalde funktioner i hoved-plugin er de
jo linket dynamisk sammen, i hvert fald som GPL forstår det.

Og det må man ikke ? Det jeg ønsker at gøre er at linke således:


    Player(lukket kode, Mozilla license kode, måske BSD license kode)
    Codec(GPL kode, muligvis patenteret)

Mozilla, BSD og GPL kode offentliggøres, medens den lukkede kode
ikke offentliggøres.

Hvis jeg ikke må det, så kunne jeg, hvis jeg indsætter et ekstra
plugin lag, flytte den lukkede kode til denne ekstra plugin. Så er koden
i playeren og i codecs'ne.

Ellers kunne ethvert firma tage et GPL program, lave lidt om på det så
det kan loade shared objects og sælge proprietære shared objects som
gav ekstra muligheder, uden at licensere dem under GPL.

Hvis det er dig der skriver plugin-koden så skal du bare licensere den
som BSD eller lignende, så skulle du være kompatibel med det meste.

Men jeg har ikke lov til at offentliggøre den lukkede kode, så jeg skal på en eller anden måde separere lukket og GPL-kode.

--PMM

----------------------------------------------------------------
Peter Maersk-Moller
----------------------------------------------------------------
Ogg/Vorbis support for MPEG4IP. YUV12, XviD, AVI and MP4 support
for libmpeg2. See http://www.maersk-moller.net/projects/
----------------------------------------------------------------



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *