From: William Frost <tsmrnd0@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [Patch v3] dcmtk: new package
Date: Thu, 19 Jun 2014 16:36:35 +0900 [thread overview]
Message-ID: <53A29303.7050205@gmail.com> (raw)
Dear Thomas Petazzoni,
Before submitting patch v4 I will like to get some ideas about some of
your last
recommendations. I did a lot of googling and testing before writing this
but I
still have some doubts.
About the line:
DCMTK_CONF_ENV = ARFLAGS=cru
I think this it is related to linking statics libraries but I really
don't know what this does. If I remove this, linking fails with the
following error:
../../ofstd/include/dcmtk/ofstd/offile.h:679:8: note: the mangling of
'va_list' has changed in GCC 4.4
/home/qsenn/devel/src/buildroot/contrib/cpy/output/host/usr/bin/arm-none-linux
-gnueabi-ar libdcmdata.a dcpixseq.o dcpxitem.o dcuid.o dcerror.o dcstack.o
dclist.o dcswap.o dctag.o dcxfer.o dcobject.o dcelem.o dcitem.o dcmetinf.o
dcdatset.o dcsequen.o dcfilefo.o dcbytstr.o dcpixel.o dcvrae.o dcvras.o
dcvrcs.o dccodec.o dcvrda.o dcvrds.o dcvrdt.o dcvris.o dcvrtm.o dcvrui.o
dcchrstr.o dcvrlo.o dcvrlt.o dcvrpn.o dcvrsh.o dcvrst.o dcvrobow.o dcvrat.o
dcvrss.o dcvrus.o dcvrsl.o dcvrul.o dcvrulup.o dcvrfl.o dcvrfd.o dcvrpobw.o
dcvrof.o dcdirrec.o dcdicdir.o dcvm.o dcrleccd.o dcrlecce.o dcrlecp.o
dcrlerp.o
dcrledrg.o dcrleerg.o dctagkey.o dcdicent.o dcdict.o dcdictbi.o dcvr.o
dchashdi.o cmdlnarg.o dcvrut.o dctypes.o dcpcache.o dcddirif.o dcistrma.o
dcistrmb.o dcistrmf.o dcistrmz.o dcostrma.o dcostrmb.o dcostrmf.o
dcostrmz.o dcwcache.o dcpath.o vrscan.o vrscanl.o
/home/qsenn/devel/src/buildroot/contrib/cpy/output/host/usr/bin/arm-none-linux
-gnueabi-ar: two different operation options specified
make[3]: *** [libdcmdata.a] Error 1
I will really like to explain the line:
DCMTK_CONF_ENV = ARFLAGS=cru
but my knowledge is not enough for that, I just know that I need use it. If
you can give me some ideas about this it will be great.
So, keeping:
DCMTK_CONF_ENV = ARFLAGS=cru
I tried replacing:
DCMTK_MAKE_OPT = DESTDIR=$(STAGING_DIR) install-lib
by
DCMTK_INSTALL_STAGING_OPT=DESTDIR=$(STAGING_DIR) install-lib
as you recommended, but for some reason the compilation failed. I can't
see exactly why, this is a log fragment:
/home/qsenn/devel/src/buildroot/contrib/cpy/output/host/usr/bin/arm-none-linux
-gnueabi-g++ -O -D_REENTRANT -D_XOPEN_SOURCE_EXTENDED
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE
-D_POSIX_C_SOURCE=199506L -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -L../libi2d
-L../libsrc -L../../ofstd/libsrc -L../../oflog/libsrc -o pdf2dcm
pdf2dcm.o -ldcmdata
-loflog -lofstd -lz -lm -lrt -lpthread -lnsl
make[3]: Leaving directory
`/home/qsenn/devel/src/buildroot/contrib/cpy/output/
build/dcmtk-3.6.0/dcmdata/apps'
make[2]: Leaving directory
`/home/qsenn/devel/src/buildroot/contrib/cpy/output/
build/dcmtk-3.6.0/dcmdata'
make[1]: Leaving directory
`/home/qsenn/devel/src/buildroot/contrib/cpy/output/
build/dcmtk-3.6.0'
make: ***
[/home/qsenn/devel/src/buildroot/contrib/cpy/output/build/dcmtk-3.6.0
/.stamp_built] Error 2
so I tried this instead:
DCMTK_MAKE_ENV = DESTDIR=$(STAGING_DIR)
DCMTK_MAKE_OPT = libsrc-all
DCMTK_INSTALL_STAGING_OPT=DESTDIR=$(STAGING_DIR) install-lib
and it worked. But I don't know if is acceptable or not.
About including the binaries outputs in TARGET:
This package makes some static libraries which I like to use from staging
directory to link my application. So personally I don't need them on my
root
filesystem. I don't know Buildroot policy about including statics
libraries in
TARGET so I will follow your recommendation about this.
Best regards,
William
On 06/18/2014 03:26 PM, Thomas Petazzoni wrote:
> Dear William Frost,
>
> On Wed, 18 Jun 2014 09:05:19 +0900, William Frost wrote:
>> [PATCH] Changes v2 -> v3: (suggested by Thomas De Schampheleire):
>> - removed version selection option, only stable release is used
>> - added an empty new line between the comment header and the first
>> variable definition
>> - fixed license file reference
>> - reduced and cleaning DCMTK_CFLAGS and DCMTK_CXXFLAGS declarations
>> - removed DCMTK_INSTALL_STAGING_OPT and DCMTK_INSTALL_TARGET_OPT
>> - unconditionally use --with-zlib
>> - removed duplicated build commands
> All this text should not go into the commit log (otherwise it remains
> forever in the git history of the project). Instead, such changelog
> information should be...
>
>> Signed-off-by: William Frost<tsmrnd0@gmail.com>
>> ---
> ... here, i.e after the "---", or in a separate cover letter e-mail
> (see the Buildroot manual for more details about this).
>
>> +++ b/package/dcmtk/Config.in
>> @@ -0,0 +1,12 @@
>> +config BR2_PACKAGE_DCMTK
>> + bool "dcmtk"
>> + help
>> + DCMTK is a collection of libraries and applications implementing
>> + large parts the DICOM standard. It includes software for
>> examining,
>> + constructing and converting DICOM image files, handling offline
>> + media, sending and receiving images over a network connection, as
>> + well as demonstrative image storage and worklist servers.
>> DCMTK is
>> + is written in a mixture of ANSI C and C++. It comes in complete
>> + source code and is made available as "open source" software.
>> +
>> + http://dicom.offis.de/dcmtk.php.en
>> \ No newline at end of file
> There a missing newline at end of file, no?
>
>> diff --git a/package/dcmtk/dcmtk.mk b/package/dcmtk/dcmtk.mk
>> new file mode 100644
>> index 0000000..ae2c265
>> --- /dev/null
>> +++ b/package/dcmtk/dcmtk.mk
>> @@ -0,0 +1,23 @@
>> +################################################################################
>>
>> +#
>> +# dcmtk
>> +#
>> +################################################################################
>>
>> +
>> +DCMTK_VERSION = $(call qstrip,"3.6.0")
> Huh, why would we have this qstrip here? Why not just:
>
> DCMTK_VERSION = 3.6.0
>
>> +DCMTK_SITE =http://dicom.offis.de/download/dcmtk/dcmtk360
>> +
>> +DCMTK_LICENSE = BSD
>> +DCMTK_LICENSE_FILES = COPYRIGHT
>> +DCMTK_INSTALL_STAGING = YES
>> +
>> +DCMTK_CFLAGS = $(TARGET_CFLAGS) -O -Wall
>> +DCMTK_CXXFLAGS = $(TARGET_CXXFLAGS) -O -Wall
> These definitions are useless. <pkg>_CFLAGS and <pkg>_CXXFLAGS are not
> used by the package infrastructure.
>
>> +DCMTK_CONF_OPT = \
>> + --disable-rpath --with-zlib \
> One line per option:
>
> DCMTK_CONF_OPT = \
> --disable-rpath \
> --with-zlib
>
>> + ac_cv_my_c_rightshift_unsigned=no
> This should be in DCMTK_CONF_ENV.
>
>> +DCMTK_CONF_ENV = ARFLAGS=cru
> Maybe a short comment explaining why it's needed would be useful.
>
>> +DCMTK_MAKE_OPT = DESTDIR=$(STAGING_DIR) install-lib
> Useless spaces before the equal sign. Also, this should be:
>
> DCMTK_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install-lib
>
> Thought in this case, I wonder why we don't have a similar thing for
> the target installation.
>
> Thanks!
>
> Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20140619/c51782b1/attachment-0001.html>
next reply other threads:[~2014-06-19 7:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-19 7:36 William Frost [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-06-18 0:05 [Buildroot] [Patch v3] dcmtk: new package William Frost
2014-06-18 1:18 ` Gustavo Zacarias
2014-06-18 1:21 ` William Frost
2014-06-18 6:27 ` Thomas Petazzoni
2014-06-18 6:26 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53A29303.7050205@gmail.com \
--to=tsmrnd0@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.