Hi, Andrew. I just went through a Log4Cxx rebuild myself with setting up a new 
build server last week, so I can appreciate the hurdle that can be.

 

I would recommend use the Ant build procedure, and checking out from the SVN 
trunk. That procedure seemed to work out best for me. Also, completely abandon 
doing anything with the VS projects themselves. That, IMHO, is just a time-suck 
and I haven’t gotten it to reliably work for various VS versions or 
architectures. One thing of note – I found the trunk wouldn’t compile/link 
complete with the current version of APR and APR-Util. I had to use APR 1.5.1 
and APR-Util 1.5.3 for Windows. There are some undefined references in the 
Win32 build of one of those. I don’t remember which. Thorsten, have you or any 
of the contributors seen something similar? If you see similar things, I have 
copies of the win32 src archives for those versions. I can probably get those 
to you somehow – I didn’t see them on the Apache site. Just email me directly.

 

Here are some snippets of my vendors build batch script. Hopefully you’ll get 
some value out of it:

 

rem ## copy the apr and apr-util packages here

                xcopy /Y ..\apr\apr-1.5.1-win32-src.zip .

                7z x apr-1.5.1-win32-src.zip > nul

                rename apr-1.5.1 apr

                xcopy /Y ..\apr-util\apr-util-1.5.3-win32-src.zip .

                7z x apr-util-1.5.3-win32-src.zip > nul

                rename apr-util-1.5.3 apr-util

                IF NOT DEFINED VisualStudioVersion call 
"%VS110COMNTOOLS%\..\..\VC\vcvarsall.bat" AMD64

                rem go to the trunk checkout – defined/checked out above

                cd %_log4cxx%

                ant -lib ..\ant-cp-addons -lib ..\misc-cp-addons -Dfind=false 
-Ddebug=true build

                ant -lib ..\ant-cp-addons -lib ..\misc-cp-addons -Dfind=false 
-Ddebug=false build

                xcopy src\main\include\* ..\distbuild\include /E /Y /K /Q /C 

                del ..\distbuild\include\Makefile*

                copy target\debug\shared\log4cxx.dll 
..\distbuild\lib\log4cxxd.dll

                copy target\debug\shared\log4cxx.exp 
..\distbuild\lib\log4cxxd.exp

                copy target\debug\shared\log4cxx.lib 
..\distbuild\lib\log4cxxd.lib

                copy target\release\shared\log4cxx.dll ..\distbuild\lib

                copy target\release\shared\log4cxx.exp ..\distbuild\lib

                copy target\release\shared\log4cxx.lib ..\distbuild\lib

                cd ..\..

 

The distbuild stuff breaks out into include and lib subdirectories, which allow 
easy additions to project files for including the header files, and finding the 
import libs. 

 

The VisualStudioVersion line will likely have to be modified to your version of 
Visual Studio. We use 2012 (11.0) for our builds, so that will likely be 
different for you.

 

I do have “ant-cp-addons” and “misc-cp-addons” which put some of the needed 
jars on the ant classpath. In ant-cp-addons, I have the ant-contrib-1.0b3.jar 
and cpptasks.jar files. In misc-cp-addons, I have the Xerces-J jars and 
log4j.1.2.17.jar – I’m not certain if these are 100% necessary but kept those 
in there from building cpptasks.jar.

 

Hopefully that is helpful. I use the above stuff to build a X64 version on both 
Win32 and Win64 systems. Please let me know if you have any questions.

 

Regards,

 

Dana Irvin (Dirv) | Sr Software Engineer | Ingenicomm, Inc. |   
<mailto:dir...@ingenicomm.com> dir...@ingenicomm.com

 

From: Andrew Leach [mailto:imamushr...@gmail.com] 
Sent: Monday, October 12, 2015 10:08 AM
To: Log4CXX User
Subject: Re: Help with first C++ program to do logging

 

Thanks for you email.

 

I've tried for several hours to build the package but find it to be an 
impossible task.

 

Maven fails with these errors:

 

[INFO] ------------------------------------------------------------------------

[INFO] Building Apache log4cxx (Incubating) 0.11.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- maven-antrun-plugin:1.7:run (compile) @ apache-log4cxx ---

[WARNING] Error injecting: org.apache.maven.plugin.antrun.AntRunMojo

java.lang.NoClassDefFoundError: org/apache/tools/ant/BuildException

        at java.lang.Class.getDeclaredConstructors0(Native Method)

        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2585)

        at java.lang.Class.getDeclaredConstructors(Class.java:1906)

        at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.

java:245)

        at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorB

indingImpl.java:99)

        at com.google.inject.internal.InjectorImpl.createUninitializedBinding(In

jectorImpl.java:657)

        at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(Injec

torImpl.java:875)

        at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecurs

ive(InjectorImpl.java:798)

        at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(Injector

Impl.java:281)

        at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImp

l.java:213)

        at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorIm

pl.java:998)

        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java

:1031)

        at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java

:994)

        at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java

:1044)

        at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClas

s.java:48)

        at com.google.inject.internal.ProviderInternalFactory.provision(Provider

InternalFactory.java:86)

        at com.google.inject.internal.InternalFactoryToInitializableAdapter.prov

ision(InternalFactoryToInitializableAdapter.java:54)

        at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInt

ernalFactory.java:70)

        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.p

rovision(ProvisionListenerStackCallback.java:115)

        at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanSchedul

er.java:176)

        at com.google.inject.internal.ProvisionListenerStackCallback$Provision.p

rovision(ProvisionListenerStackCallback.java:126)

        at com.google.inject.internal.ProvisionListenerStackCallback.provision(P

rovisionListenerStackCallback.java:68)

        at com.google.inject.internal.ProviderInternalFactory.circularGet(Provid

erInternalFactory.java:68)

        at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(

InternalFactoryToInitializableAdapter.java:46)

        at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:10

09)

        at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.ja

va:1059)

        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005)

 

        at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:3

6)

        at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81)

 

        at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:5

1)

        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContai

ner.java:263)

        at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContai

ner.java:255)

        at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfigu

redMojo(DefaultMavenPluginManager.java:546)

        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default

BuildPluginManager.java:121)

        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor

.java:208)

        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor

.java:153)

        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor

.java:145)

        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje

ct(LifecycleModuleBuilder.java:116)

        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje

ct(LifecycleModuleBuilder.java:80)

        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre

adedBuilder.build(SingleThreadedBuilder.java:51)

        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl

eStarter.java:128)

        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)

        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)

        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)

        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)

        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)

        at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.

java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces

sorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun

cher.java:289)

        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav

a:229)

        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La

uncher.java:415)

        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:

356)

Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.BuildException

 

        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(

SelfFirstStrategy.java:50)

        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadCl

ass(ClassRealm.java:271)

        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm

.java:247)

        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm

.java:239)

        ... 55 more

[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 1.079 s

[INFO] Finished at: 2015-10-12T17:57:40+02:00

[INFO] Final Memory: 8M/115M

[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:

run (compile) on project apache-log4cxx: Execution compile of goal org.apache.ma

ven.plugins:maven-antrun-plugin:1.7:run failed: A required class was missing whi

le executing org.apache.maven.plugins:maven-antrun-plugin:1.7:run: org/apache/to

ols/ant/BuildException

[ERROR] -----------------------------------------------------

[ERROR] realm =    plugin>org.apache.maven.plugins:maven-antrun-plugin:1.7

[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR] urls[0] = file:/C:/Users/ypx7647/.m2/repository/org/apache/maven/plugins

/maven-antrun-plugin/1.7/maven-antrun-plugin-1.7.jar

[ERROR] urls[1] = file:/C:/Users/ypx7647/.m2/repository/org/apache/ant/ant/1.9.3

/ant-1.9.3.jar

[ERROR] urls[2] = file:/C:/Users/ypx7647/.m2/repository/org/apache/ant/ant-launc

her/1.9.3/ant-launcher-1.9.3.jar

[ERROR] urls[3] = file:/C:/Users/ypx7647/.m2/repository/ant-contrib/ant-contrib/

1.0b2/ant-contrib-1.0b2.jar

[ERROR] urls[4] = file:/C:/Users/ypx7647/.m2/repository/ant/ant/1.5/ant-1.5.jar

[ERROR] urls[5] = file:/C:/Users/ypx7647/.m2/repository/ant-contrib/cpptasks/1.0

b5/cpptasks-1.0b5.jar

[ERROR] urls[6] = file:/C:/Users/ypx7647/.m2/repository/xerces/xercesImpl/2.8.1/

xercesImpl-2.8.1.jar

[ERROR] urls[7] = file:/C:/Users/ypx7647/.m2/repository/xml-apis/xml-apis/1.3.03

/xml-apis-1.3.03.jar

[ERROR] urls[8] = file:/C:/Users/ypx7647/.m2/repository/org/codehaus/plexus/plex

us-interpolation/1.1/plexus-interpolation-1.1.jar

[ERROR] urls[9] = file:/C:/Users/ypx7647/.m2/repository/junit/junit/3.8.1/junit-

3.8.1.jar

[ERROR] urls[10] = file:/C:/Users/ypx7647/.m2/repository/org/codehaus/plexus/ple

xus-utils/2.0.5/plexus-utils-2.0.5.jar

[ERROR] Number of foreign imports: 1

[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

[ERROR]

[ERROR] -----------------------------------------------------: org.apache.tools.

ant.BuildException

[ERROR] -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit

ch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please rea

d the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContaine

rException

 

And Ant fails with these errors:

 

C:\Users\ypx7647\Downloads\apache-log4cxx>ant -Dfind=false

Buildfile: C:\Users\ypx7647\Downloads\apache-log4cxx\build.xml

  [taskdef] Could not load definitions from resource net/sf/antcontrib/antcontri

b.properties. It could not be found.

 

BUILD FAILED

C:\Users\ypx7647\Downloads\apache-log4cxx\build.xml:184: Problem: failed to crea

te task or type propertyregex

Cause: The name is undefined.

Action: Check the spelling.

Action: Check that any custom tasks/types have been declared.

Action: Check that any <presetdef>/<macrodef> declarations have taken place.

 

 

Total time: 0 seconds

 

And the projects directory doesn't exist in the SVN checkout!

 

I'm completely stuck.

 

Could someone help out please?

 

Thanks,

Andrew




-------
Internet communications are not secure and therefore Andrew Leach does not 
accept legal responsibility for the contents of this message.  The information 
contained in this email is private, personal and confidential and may be 
legally privileged.  It is intended solely for the addressee.  If you are not 
the intended recipient, any disclosure, copying, distribution or any action 
taken or omitted to be taken in reliance on it, is prohibited and may be 
unlawful. This email and any attachments have been automatically scanned for 
viruses prior to dispatch, but we make no warranty that they are free from 
computer viruses.  You are advised to check all emails and attachments using 
your own anti virus software before opening or executing them.

 

On 12 October 2015 at 15:35, Thorsten Schöning <tschoen...@am-soft.de> wrote:

Guten Tag Andrew Leach,
am Montag, 12. Oktober 2015 um 15:05 schrieben Sie:

> I believe I've correctly configured the include directory for
> log4cxx into VS2013 as the include's aren't showing up any errors.

You need to setup log4cxx properly as well.

> c:\apache-log4cxx-0.10.0\apache-log4cxx-0.10.0\[...]

You shouldn't start with log4cxx 0.10.0 anymore, checkout a current
trunk using SVN or download it using your browser. While not
officially released yet, the current trunk contains a lot of bug
fixes.

https://logging.apache.org/log4cxx/source-repository.html

> Error   1       error C1083: Cannot open include file:
> 'log4cxx/log4cxx.h': No such file or directory

This is most likely the root cause, log4cxx can't work properly
without that header. You haven't setup your building environment for
log4cxx properly and should first read the docs on how to build the
lib. If your already done so, you either made something wrong or the
instructions are not clear enough or whatever, so feel free to tell us
and we might fix things.

https://logging.apache.org/log4cxx/building/index.html
https://logging.apache.org/log4cxx/usage.html

Mit freundlichen Grüßen,

Thorsten Schöning

--
Thorsten Schöning       E-Mail: thorsten.schoen...@am-soft.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow

 

  _____  

No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.6172 / Virus Database: 4435/10782 - Release Date: 10/08/15

Reply via email to