[Clamav-devel] enabling DMG and XAR support

Steven Morgan smorgan at sourcefire.com
Wed Mar 26 15:19:21 EDT 2014


FYI, This just in (from clamdoc.pdf):

<quote>
The following packages are optional, but required for bytecode JIT support:

 GCC C and C++ compilers (minimum 4.1.3, recommended 4.3.4 or newer)
the package for these compilers are usually called: gcc, g++, or gcc-c++.
</quote>

Mileage may be better in those cases by using ./configure --enable-llvm=no


On Wed, Mar 26, 2014 at 3:06 PM, Brandon Perry <bperry.volatile at gmail.com>wrote:

> FWIW i am currently asking friends if they have a PPC that i can try this
> one.
>
> Sent from a computer
>
> > On Mar 26, 2014, at 1:37 PM, Brandon Perry <bperry.volatile at gmail.com>
> wrote:
> >
> > You must not have read my email. I was not saying it is your build tool.
> I said it was your architecture causing the LLVM type to not be implicitly
> casted to a long int, likely due to register sizes on the PPC platform.
> >
> > You will need to modify the code to explicitly cast the LLVM type to a
> long int so that it compiles on your architecture.
> >
> >
> >
> > Sent from a computer
> >
> >> On Mar 26, 2014, at 12:58 PM, Dale Walsh <dale at daleenterprise.com>
> wrote:
> >>
> >> Why do people have to be so stupid and immediately implicate the build
> tools or environment?
> >>
> >> Because updates and bug-fixes were applied, your assuming that these
> are not done correctly or in compliance with the OS and build environment
> or that they are faulty.
> >>
> >> First, you need to stop this bull-crap about non-standard and heavily
> modified and listen to the details regarding the issue you are told and
> stop focusing on the build tools which you have no clue about.
> >>
> >> It is best that you accept my word that it is standard and in
> compliance with the OS, build environment and ADE.
> >>
> >> I have confirmed the issue still exists under gcc-4.4 so it's not a
> build tool issue.
> >>
> >> I now have generated a fully working  ClamAV 0.98.1 under gcc-3.3,
> gcc-4.0.0 and gcc 4.0.1 by cleanly autoreconf-ing the source tree.
> >>
> >> Here's my configure for the working builds under the mentioned
> compilers:
> >> CFLAGS="-arch ppc -arch i386 -g -Os -pipe -DFD_SETSIZE=2048 -arch ppc
> -arch i386" CCFLAGS="-arch ppc -arch i386 -g -Os -pipe " CXXFLAGS="-arch
> ppc -arch i386 -g -Os -pipe " LDFLAGS="-arch ppc -arch i386   "
> ./configure --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack --with-user=clamav --with-group=clamav
> --with-dbdir=/var/clamav --disable-clamav
> >>
> >>
> >>
> >> Is using ltmain.sh from Debian-Ubuntu called portability amongst
> different environments??
> >>
> >>
> >> -- Dale
> >>
> >>
> >>
> >>> On Mar 26, 2014, at 09:06 AM, Brandon Perry wrote:
> >>>
> >>> "I don't use MacPorts or any other non-standard build environment..."
> >>>
> >>> Your entire build system is non-standard if you maintain in the way
> you say
> >>> you do.
> >>>
> >>> This is very likely an architecture issue and will require explicit
> casts
> >>> in order to work for you (which would cause performance decreases for
> every
> >>> other ClamAV user). Would you expect the ClamAV project to maintain
> this?
> >>> You say you have submitted code in the past, you will likely need to
> make
> >>> this work yourself by adding the explicit casts to the codebase.
> >>>
> >>> This really isn't an issue with ClamAV or LLVM/Clang. You have a system
> >>> that is relatively unsupportable because of A) age and B) you have
> >>> *heavily* modified it at this point to attempt to maintain it. Even if
> one
> >>> of us had an old PPC with gcc 4.0 (which compiles ClamAV just fine on
> FC4
> >>> which makes me think your patching has not been as successful as you
> >>> think), we would still not have the same environment you do since you
> claim
> >>> to maintain your binaries by hand.
> >>>
> >>> Unless you are willing to add the explicit casts yourself, I think you
> are
> >>> probably SOL.
> >>>
> >>>
> >>>
> >>>> On Wed, Mar 26, 2014 at 3:02 AM, Dale Walsh <dale at daleenterprise.com>
> wrote:
> >>>>
> >>>> You ask for details so here they are.
> >>>>
> >>>> I don't use MacPorts or any other non-standard build environment, I
> don't
> >>>> suffer compiler bugs so I don't need  'CCFLAGS="-O0" to correct a
> buggy
> >>>> compiler and I have applied every patch and bug-fix released and
> experience
> >>>> no build issues with any other software source.
> >>>>
> >>>>
> >>>> Here's what I start with:
> >>>>
> >>>> Using gcc-3.3 (it's old but it compiles for ppc)
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os
> -pipe
> >>>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe "
> >>>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc            "
> >>>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release &&
> >>>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release
> >>>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure
> >>>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack
> >>>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav
> >>>> --disable-clamav
> >>>>
> >>>> make
> >>>> make install # no issues with the build or install but nothing seems
> to
> >>>> works and segfaults (expected behavior)
> >>>>
> >>>> Using gcc-3.3
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -arch
> i386
> >>>> -g -Os -pipe -pipe -no-cpp-precomp -arch ppc -arch i386"
> CCFLAGS="-arch ppc
> >>>> -arch i386 -g -Os -pipe " CXXFLAGS="-arch ppc -arch i386 -g -Os -pipe
> "
> >>>> LDFLAGS="-arch ppc -arch i386            "
>  TEXI2HTML="/usr/bin/texi2html
> >>>> -subdir ." rm -rf /tmp/clamav/Release && mkdir -p /tmp/clamav/Debug
> && ln
> >>>> -sf /CLAMAV_BUILD/Release /tmp/clamav/Release &&
> CFLAGS="-DFD_SETSIZE=2048"
> >>>> ./configure --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> >>>> --enable-bigstack --with-user=clamav --with-group=clamav
> >>>> --with-dbdir=/var/clamav --disable-clamav
> >>>>
> >>>> make
> >>>>
> >>>> fails with:
> >>>> ld: Undefined symbols:
> >>>> _lt_libltdlc_LTX_preloaded_symbols
> >>>> /usr/bin/libtool: internal link edit command failed
> >>>>
> >>>>
> >>>>
> >>>> Using gcc-3.5 (it's old but it compiles for ppc)
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os
> -pipe
> >>>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe "
> >>>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc            "
> >>>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release &&
> >>>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release
> >>>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure
> >>>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack
> >>>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav
> >>>> --disable-clamav
> >>>>
> >>>> make
> >>>> make install # no issues with the build or install but nothing seems
> to
> >>>> works and segfaults (expected behavior)
> >>>>
> >>>> Using gcc-3.5
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -arch
> i386
> >>>> -g -Os -pipe -pipe -no-cpp-precomp -arch ppc -arch i386"
> CCFLAGS="-arch ppc
> >>>> -arch i386 -g -Os -pipe " CXXFLAGS="-arch ppc -arch i386 -g -Os -pipe
> "
> >>>> LDFLAGS="-arch ppc -arch i386            "
>  TEXI2HTML="/usr/bin/texi2html
> >>>> -subdir ." rm -rf /tmp/clamav/Release && mkdir -p /tmp/clamav/Debug
> && ln
> >>>> -sf /CLAMAV_BUILD/Release /tmp/clamav/Release &&
> CFLAGS="-DFD_SETSIZE=2048"
> >>>> ./configure --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> >>>> --enable-bigstack --with-user=clamav --with-group=clamav
> >>>> --with-dbdir=/var/clamav --disable-clamav
> >>>>
> >>>> make
> >>>>
> >>>> fails with:
> >>>> ld: Undefined symbols:
> >>>> _lt_libltdlc_LTX_preloaded_symbols
> >>>> /usr/bin/libtool: internal link edit command failed
> >>>>
> >>>>
> >>>> Using gcc-4.0.0
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os
> -pipe
> >>>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe "
> >>>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc            "
> >>>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release &&
> >>>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release
> >>>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure
> >>>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack
> >>>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav
> >>>> --disable-clamav
> >>>>
> >>>> make
> >>>> fails with  ./llvm/lib/VMCore/TypesContext.h:311: error: invalid
> >>>> conversion from 'const llvm::Type*' to 'long int'
> >>>>
> >>>> Using gcc-4.0.1
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os
> -pipe
> >>>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe "
> >>>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc            "
> >>>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release &&
> >>>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release
> >>>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure
> >>>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack
> >>>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav
> >>>> --disable-clamav
> >>>>
> >>>> make
> >>>> fails with  ./llvm/lib/VMCore/TypesContext.h:311: error: invalid
> >>>> conversion from 'const llvm::Type*' to 'long int'
> >>>>
> >>>> Using gcc-4.1.0
> >>>> cd /private/var/tmp/clamav/clamav-1.obj && CFLAGS="-arch ppc -g -Os
> -pipe
> >>>> -pipe -no-cpp-precomp -arch ppc" CCFLAGS="-arch ppc -g -Os -pipe "
> >>>> CXXFLAGS="-arch ppc -g -Os -pipe " LDFLAGS="-arch ppc            "
> >>>> TEXI2HTML="/usr/bin/texi2html -subdir ." rm -rf /tmp/clamav/Release &&
> >>>> mkdir -p /tmp/clamav/Debug && ln -sf /CLAMAV_BUILD/Release
> >>>> /tmp/clamav/Release && CFLAGS="-DFD_SETSIZE=2048" ./configure
> >>>> --prefix="/usr" --mandir=/usr/share/man --sysconfdir=/etc
> --enable-bigstack
> >>>> --with-user=clamav --with-group=clamav --with-dbdir=/var/clamav
> >>>> --disable-clamav
> >>>>
> >>>> make
> >>>> fails with  ./llvm/lib/VMCore/TypesContext.h:311: error: invalid
> >>>> conversion from 'const llvm::Type*' to 'long int'
> >>>>
> >>>>
> >>>>
> >>>> -- Dale
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Mar 25, 2014, at 18:29 PM, Brandon Perry wrote:
> >>>>
> >>>> Thanks, I don't have a PPC here, but I am going to install fedora
> core 4
> >>>>> x86 and x86_64 inside of virtual machines and will see if I run into
> any
> >>>>> issues.
> >>>>>
> >>>>> Legacy systems are unfortunate. However, I think you would be hard
> >>>>> pressed to find any open source project today supporting that, so I
> >>>>> don't think it is that ridiculous to not expend the effort to
> actively
> >>>>> support it. I wouldn't be surprised if the code required to make it
> >>>>> compile on your system *and* modern systems caused performance
> decreases
> >>>>> (or even not compile on modern gcc!).
> >>>>>
> >>>>> There might be a small chance that you would need to maintain a
> separate
> >>>>> patchset to maintain this compatibility since having it compile on
> both
> >>>>> your legacy and modern systems would be detrimental to other ClamAV
> users.
> >>>>>
> >>>>> _______________________________________________
> >>>>> http://lurker.clamav.net/list/clamav-devel.html
> >>>>> Please submit your patches to our Bugzilla: http://bugs.clamav.net
> >>>> _______________________________________________
> >>>> http://lurker.clamav.net/list/clamav-devel.html
> >>>> Please submit your patches to our Bugzilla: http://bugs.clamav.net
> >>>
> >>>
> >>>
> >>> --
> >>> http://volatile-minds.blogspot.com -- blog
> >>> http://www.volatileminds.net -- website
> >>> _______________________________________________
> >>> http://lurker.clamav.net/list/clamav-devel.html
> >>> Please submit your patches to our Bugzilla: http://bugs.clamav.net
> >>
> >> _______________________________________________
> >> http://lurker.clamav.net/list/clamav-devel.html
> >> Please submit your patches to our Bugzilla: http://bugs.clamav.net
> _______________________________________________
> http://lurker.clamav.net/list/clamav-devel.html
> Please submit your patches to our Bugzilla: http://bugs.clamav.net
>


More information about the clamav-devel mailing list