
Recherche avancée
Médias (3)
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
-
Creativecommons informational flyer
16 mai 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (56)
-
Encodage et transformation en formats lisibles sur Internet
10 avril 2011MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (7903)
-
Undefined symbol despite libraries being linked
17 septembre 2020, par Areopagcurrently I'm trying to write a JNI function using ffmpeg features, but when I'm trying to run my java executable after a clean compile I get the following error :


/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java: symbol lookup error: /lib/libmediaserv_ffmpeg.so: undefined symbol: _Z19avformat_open_inputPP15AVFormatContextPKcP13AVInputFormatPP12AVDictionary



I can't figure out why ffmpeg is not linked correctly.


mediaserv_ffmpeg.cpp :


#include <iostream>
#include <libavformat></libavformat>avformat.h>
#include <libavutil></libavutil>avutil.h>

JNIEXPORT jobject JNICALL Java_mediaserv_ffmpeg_getMetadata
 (JNIEnv* env, jclass cls, jstring path) { ... }
</iostream>


What I've tried so far is inspecting libmediaserv_ffmpeg.so :


nm libmediaserv_ffmpeg.so --format=sysv | grep avformat
_Z19avformat_open_inputPP15AVFormatContextPKcP13AVInputFormatPP12AVDictionary| | U | NOTYPE| | |*UND*
_Z20avformat_close_inputPP15AVFormatContext| | U | NOTYPE| | |*UND*
_Z25avformat_find_stream_infoP15AVFormatContextPP12AVDictionary| | U | NOTYPE| | |*UND*



Which, I think, is just another way of saying that there are undefined symbols in the .so file.


The commands used to build the lib (taken from
make VERBOSE=1
) :

/usr/bin/c++ -Dmediaserv_ffmpeg_EXPORTS -I/usr/lib/jvm/java-11-openjdk-amd64/include -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux -I/mnt/g/Workspace/mediaserv/third-party/ffmpeg -fPIC -std=gnu++1z -o CMakeFiles/mediaserv_ffmpeg.dir/mediaserv_ffmpeg.cpp.o -c /mnt/g/Workspace/mediaserv/third-party/mediaserv_ffmpeg.cpp
/usr/bin/c++ -fPIC -shared -Wl,-soname,libmediaserv_ffmpeg.so -o /mnt/g/Workspace/mediaserv/build/libs/libmediaserv_ffmpeg.so CMakeFiles/mediaserv_ffmpeg.dir/mediaserv_ffmpeg.cpp.o -Wl,-rpath,/usr/lib/jvm/java-11-openjdk-amd64/lib:/usr/lib/jvm/java-11-openjdk-amd64/lib/server:/mnt/g/Workspace/mediaserv/third-party/ffmpeg/libavutil:/mnt/g/Workspace/mediaserv/third-party/ffmpeg/libavformat /usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so /usr/lib/jvm/java-11-openjdk-amd64/lib/server/libjvm.so ../ffmpeg/libavutil/libavutil.so ../ffmpeg/libavformat/libavformat.so



I've already tried to seek for errors in GCC's trace option for the linker and it lists me which libraries it tries to link / is linking but the result stays the same.


/usr/bin/ld: mode elf_x86_64
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/7/crtbeginS.o
CMakeFiles/mediaserv_ffmpeg.dir/mediaserv_ffmpeg.cpp.o
/usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so
/usr/lib/jvm/java-11-openjdk-amd64/lib/server/libjvm.so
../ffmpeg/libavutil/libavutil.so
../ffmpeg/libavformat/libavformat.so
-lstdc++ (/usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so)
/lib/x86_64-linux-gnu/libm.so.6
/lib/x86_64-linux-gnu/libmvec.so.1
libgcc_s.so.1 (/usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so.1)
/lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
libgcc_s.so.1 (/usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so.1)
/usr/lib/gcc/x86_64-linux-gnu/7/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/crtn.o



CMakeLists.txt :


cmake_minimum_required(VERSION 3.17)
project(mediaserv_ffmpeg)

set(CMAKE_CXX_STANDARD 17)
set(BUILD_SHARED_LIBS ON)
add_library(${PROJECT_NAME} SHARED mediaserv_ffmpeg.cpp mediaserv_ffmpeg.h)

find_package(JNI REQUIRED)

find_path(AVUTIL_INCLUDE_DIR libavutil/avutil.h HINTS ffmpeg REQUIRED)
find_library(AVUTIL_LIBRARY avutil HINTS ${PROJECT_SOURCE_DIR}/ffmpeg/libavutil PATHS REQUIRED)

find_path(AVFORMAT_INCLUDE_DIR libavformat/avformat.h HINTS ffmpeg REQUIRED)
find_library(AVFORMAT_LIBRARY avformat HINTS ${PROJECT_SOURCE_DIR}/ffmpeg/libavformat REQUIRED)

target_include_directories(${PROJECT_NAME} PRIVATE ${JNI_INCLUDE_DIRS} ${AVUTIL_INCLUDE_DIR} ${AVFORMAT_INCLUDE_DIR})

target_link_libraries(${PROJECT_NAME} ${JNI_LIBRARIES} ${AVUTIL_LIBRARY} ${AVFORMAT_LIBRARY})



Neither ffmpeg taken from the official ubuntu bionic repository nor a self-compiled version with
configure --enable-shared
works for me.

Where is my mistake or what could I still inspect ?


Thanks in advance.


-
Piwik Developer Guides : helping you make the most of the Piwik platform
At Piwik we are creating the leading open analytics platform that gives every user full control over their data. Today we are excited to announce the official launch of the Piwik Developer Guides at developer.piwik.org. The Developer Guides complement existing User Guides and more than 250 FAQs.
Piwik Developer Guides
The Developer guides will help you whenever you need to :
- Integrate Piwik analytics in your website or application — Integration guides explain (1) how to track users of your apps (with JavaScript Tracking or other Tracking API Clients) and (2) how to query Piwik’s reporting data to integrate it into your application (Accessing Piwik data).
- Develop a new Plugin for Piwik — Plugin development guides introduce the Piwik Platform and explain how to get started with creating a new plugin to extend and customise Piwik.
- Piwik API references — API References include the references for Tracking API, Analytics API, JavaScript Tracking API and the Database schema.
- See what’s changed in the platform — Changelog for Piwik platform developers lists all changes to our HTTP API’s, Plugins, Themes, etc.
Helping Developers innovate with Piwik
Piwik is an open platform – it is open because users control their data, users control the Piwik software (it is Free/libre software) and also because users can extend the platform via the powerful plugins architecture. Piwik users can already choose from 49 plugins available on the Marketplace ! (as of 2015 April 16th)
Now that developer guides are officially released, we are hopeful that even more talented developers will be able to create Plugins and distribute them on the Marketplace.
Share your feedback
We are committed to providing excellent Developer Guides and to achieve this, we need to hear your feedback and suggestions. To send us a message, click on the “Give Feedback” link in the footer of pages (we are listening !).
What’s coming next ?
- Platform Developer Changelog will continue to list all changes to the Piwik Platform and APIs.
- We will regularly update the guides when there are changes in the platform.
- We will improve existing guides based on users’ feedback and suggestions (tasks are tracked in this issue tracker on Github.)
We hope you find the guides useful, and thank you for being part of the Piwik community !
-
Piwik Developer Guides : helping you make the most of the Piwik platform
At Piwik we are creating the leading open analytics platform that gives every user full control over their data. Today we are excited to announce the official launch of the Piwik Developer Guides at developer.piwik.org. The Developer Guides complement existing User Guides and more than 250 FAQs.
Piwik Developer Guides
The Developer guides will help you whenever you need to :
- Integrate Piwik analytics in your website or application — Integration guides explain (1) how to track users of your apps (with JavaScript Tracking or other Tracking API Clients) and (2) how to query Piwik’s reporting data to integrate it into your application (Accessing Piwik data).
- Develop a new Plugin for Piwik — Plugin development guides introduce the Piwik Platform and explain how to get started with creating a new plugin to extend and customise Piwik.
- Piwik API references — API References include the references for Tracking API, Analytics API, JavaScript Tracking API and the Database schema.
- See what’s changed in the platform — Changelog for Piwik platform developers lists all changes to our HTTP API’s, Plugins, Themes, etc.
Helping Developers innovate with Piwik
Piwik is an open platform – it is open because users control their data, users control the Piwik software (it is Free/libre software) and also because users can extend the platform via the powerful plugins architecture. Piwik users can already choose from 49 plugins available on the Marketplace ! (as of 2015 April 16th)
Now that developer guides are officially released, we are hopeful that even more talented developers will be able to create Plugins and distribute them on the Marketplace.
Share your feedback
We are committed to providing excellent Developer Guides and to achieve this, we need to hear your feedback and suggestions. To send us a message, click on the “Give Feedback” link in the footer of pages (we are listening !).
What’s coming next ?
- Platform Developer Changelog will continue to list all changes to the Piwik Platform and APIs.
- We will regularly update the guides when there are changes in the platform.
- We will improve existing guides based on users’ feedback and suggestions (tasks are tracked in this issue tracker on Github.)
We hope you find the guides useful, and thank you for being part of the Piwik community !